Importance of Ad hoc Testing
Ad hoc testing is an informal and improvisational approach to test and assess the viability of a product. It is usually conducted only once at the end of testing cycle. Because the approach is non-methodical, Ad hoc testing can miss flaws that would be found in a more structured testing system. However, Ad hoc testing is more fruitful when you have a grip on the system requirements.
When conducting formal testing, people override the importance of Ad hoc testing since they assume formal procedures can only return the best results. However, most of the bugs that can occur to users in initial usage are often caught in Ad hoc testing. In UAT, clients often don’t find the bugs that are missed in functionality, but Ad hoc testing finds them. In order to have short UAT duration, Ad hoc testing must be utilized by a tester.
For the projects that have complex requirements, formal and process based testing helps find critical bugs that may occur after some weeks or even after months on user premises. So planned testing has its value when project is in initial phases of development. Ad hoc testing should not be confused with monkey testing.
“Ad hoc testing is such a skill that needs improvisation; the tester seeks to find bugs by any means that seem appropriate. Ad hoc testing can be seen as a light version of error guessing.”
Most testers who perform intuitive testing, spare time for Ad hoc testing before releasing any software. They don’t feel confident in even delivering simple projects, but with the help of Ad hoc testing delivering critical projects is not a big problem.
Most often it is considered that a difficult test case document, which has many measures of project health, can deliver a quality product. This only leads to a time lapse for testing and delays the projects. But teams never have that much time. It is better to keep the test case document simple, but comprehensive in order to perform Ad hoc testing at the end of project. Detailed test case document at start helps resource to strengthen the domain knowledge which leads to a quick Ad hoc cycle where you find divine scenarios.
Testing is not a straight forward process; it involves dynamic approach and knowledge of user interaction. Most of the scenarios appear while performing Ad hoc testing, and those can’t be even imagined while writing test cases. So better testing should not be confused with a better test case document. If you are working on a social website that involves interlinking of different modules, with the website having thousands of users, it is unpredictable what users will do, then how would you be able to write test case for this situation? In such cases, Ad hoc will deliver what is required
Most companies and smart testing teams that run critical projects now, schedule defined time for Ad hoc testing. This is mainly because users never have test cases, they use system Ad hoc!
Ad hoc testing is performed based on the knowledge and skill of the system being tested. Testers concentrate on testing since there is no documentation required.
Ad-hoc testing can find holes in your test strategy.
It is cost effective.
It helps testers to improve testing processes and scripted methods.
You will definitely find some bugs that will surprise your managers (How smart he or she is).
The success of Adhoc testing depends upon the capability of the tester who carries out the test.
If testing occurs very late in the development cycle, this will be the only kind of testing that can be performed.
During Ad hoc testing you will say many times, ‘oh I missed that test case’.
Great benefit in Scrum, if you have this skill.
The success of Ad-hoc testing depends upon the capability of the tester who carries out the test. The tester has to find bugs without any proper planning and documentation solely based on his / her intuition.