Ad Hoc Testing at a Glance

Ad hoc testing is an informal and improvisational approach to assessing the viability of a product. An ad hoc test is usually only conducted once unless a defect is found. Ad hoc testing is the least formal testing method in a test expert’s toolbox. It involves testing the software without planning or creating supporting documentation, and the test is carried out for a particular purpose at hand.

Ad hoc testing is also referred to as random testing and monkey testing.

One of the best uses of ad hoc testing is for discovery. Reading the requirements or specifications (if they exist) rarely gives you a good sense of how a program actually behaves. Ad hoc testing can find holes in your test strategy, and can expose relationships between subsystems that would otherwise not be apparent. In this way, it serves as a tool for checking the completeness of your testing. Missing cases can be found and added to your testing arsenal. Finding new tests in this way can also be a sign that you should perform root cause analysis.

It has also been found that ad-hoc testing can also be used effectively to increase your code coverage. Adding new tests to formal test designs often requires a lot of effort in producing the designs, implementing the tests, and finally determining the improved coverage. A more streamlined approach involves using iterative ad-hoc tests to determine quickly if you are adding to your coverage. If it adds the coverage you’re seeking, then you’ll probably want to add these scenarios to your existing test cases.

When does ad hoc testing come into the picture?

Ad hoc Testing does not follow any structured way of testing and it is randomly done on any part of application. Main aim of this testing is to find defects by random checking.

Ad hoc software testing is usually only run once unless there are defects. If defects are found, the next step depends on the kind of defects discovered and the frequency with which they occur, and testers may wish to revert back to the original scripted testing plan after finding the defects.

What does it involve?

Effective ad hoc testing involves improvisation, high levels of logic, and good knowledge and skills around the system being tested. The tester applies creativity and experience to track down bugs by any appropriate method they can think of and, as such, it’s a kind of low-key exploratory testing.

Error Guessing

Ad hoc testing can be achieved with the testing technique called Error Guessing. Error guessing can be done by the people having enough experience on the system to ‘guess’ the most likely source of errors.

Types of ad hoc testing

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 and development team can also make design changes early. This testing usually happens after unit testing completion.

Pair testing: Two testers are assigned modules, share ideas and work on the same machines to find defects. One person can execute the tests and another person can take notes on the findings. Roles of the persons can be a tester and scribe during testing.

Monkey Testing: Randomly test the product or application without test cases with a goal to break the system.

The customer’s benefits of ad hoc testing:

ü  No planning and documentation needed

ü  The important bugs are found quickly

ü  Easy to start and implement

Ad hoc Testing saves lot of time as it doesn’t require elaborate test planning, documentation and test case design. The success of Ad-hoc testing depends upon the capability of the tester who carries out the test. It is a random unscripted software testing method.