Ad-hoc testing is a black box testing method which is done in a very informal way i.e. without proper planning and documentation is called as ad-hoc testing. Ad-hoc testing is also known as free hand testing.
Ad-hoc testing is not a structured approach hence executed only once unless we uncover the defects. Hence, defects found using this method are hard to replicate as there are no test cases aligned for those scenarios.
Ad-hoc testing is carried out with the knowledge of the tester about the application and the tester tests randomly without following the test cases or specifications/requirements. Main aim of this testing is to break the system by finding defects. One way to perform ad-hoc testing is error guessing.
Types of Ad-hoc testing:
1. Buddy testing
Two buddies mutually work on identifying defects in the same module. Mostly one buddy will be from development team and another person will be from testing team.Buddy testing helps the testers develop better test cases while development team can also make design changes early. This kind of testing happens usually after completing the unit testing.
2. Pair Testing
Two testers are provided with same module to test and they share ideas and work on the same systems to find defects. One tester executes the tests while another tester records the notes on their findings. They can interchange their roles alternately.
3. Monkey testing
As the name suggests monkey testing is performed randomly without any test cases in order to break the system. As monkey jumps from one branch to the other branch testers also tests functionality randomly there is no specific sequence that is followed.
When to perform Ad-hoc testing?
Ad-hoc testing is performed when there is no or very less time left to do exhaustive testing i.e. just before the application has to go live. Usually ad-hoc testing is performed after the formal test execution. Ad-hoc testing is meaningful only if the tester is knowledgeable of the System under Test hence is performed by experienced tester.
Advantages of Ad-hoc testing:
1. Ad-hoc Testing saves lot of time as it doesn’t require elaborate test planning , documentation and test case design.
2. Sometimes very interesting defects are found which would never have been found if written test cases existed and were strictly followed.
Disadvantages of Ad-hoc testing:
1. As this approach is non-methodical, ad hoc testing can miss flaws that would be found in a more structured testing system.
2. Need extremely skilled and experienced testers
3. Defects found using this method are more difficult to reproduce.