Say you are the manager of an IT project and you have to decide who’s going to perform the testing of the new application developed for the Business unit downstairs. What are your options? How do you keep everybody happy and get what you want at the same time?
First option – you can ask business users to test. This is a good option for a small project where there is limited funding; in this case you’ll just ask one or two users to spend a few hours in verifying the application here and there. With some luck, users will end up discovering a few good bugs. Most of the time, users use the application the way it was intended and they will test only what they need. Because they don’t have the experience of challenging the application or they don’t know where to look for bugs, functionality will remain untested.
Second option: using a combination of users/QAs – this is pretty good, provided that Business and Testing groups don’t step on each other’s toes; users come into place when QAs have finished testing the application (functional and integration testing). Again, the testing that Business does is very different than what QA does – Business will only verify they can simulate the business processes they conduct every day while QA will question and challenge every little function of the application.
The third option is to use only testers: the advantage is that you get your application tested thoroughly, the disadvantage is that you will miss testing scenarios that are only known to the business who conducts these activities. No matter how much business knowledge testers may have, they still don’t know everything. By the time Business users get to use the application, they won’t like it because it doesn’t meet their needs and usually at this stage is too late to do anything about it; this is why the UAT is so important and most importantly it needs to be done by the users, not the testers.
Your best bet is to use option 2 with a few things in mind:
– explain the process to the users and what their role is during UAT. It’s going to be tough to explain why they should only be involved at the end of testing.
– make users understand that they are supposed to come up with their own scenarios to test. Make them think, challenge their thoughts (even though they don’t like you to do that:)), give them enough time to write the test scenarios, it’s going to take a while.
– don’t make QA’s write test cases/scenarios for them to execute in UAT – that is totally wrong and it defeats the whole purpose of having users test.
– keep in mind that involving users in testing comes with some drawbacks – you may end up with bugs that are not really bugs, bugs that are not recorded properly and the like; but if you hire good QA’s you can have them train users on how to log defects properly.
At the end of the day, the application is done for the users and if they are happy we are happy:))
Photo credits: llawliet on flickr.com – thanks!
Other posts you may also like: