Adhoc testing is an informal approach to testing that uncovers defects or performance issues that wouldn’t otherwise be found using scripted testing. This type of testing does not involve a strict procedure or any expected results; therefore it is considered a type of unstructured testing. With structured testing, the tester follows a set of scripts or test cases. Unstructured testing does not involve any scripts, test plan, or requirements documents.
“Monkey testing”, “error testing”, or “random testing” are also used to describe this method of testing. While it typically aligns with the overall test objectives, ad-hoc testing is a way of conducting drastic tests intended to break the system.
How Adhoc Testing is Done
The tester aims to find bugs and loop holes any way they can. It is purely driven by improvisation and intuition, similar to exploratory testing. This means it’s important that the tester has a strong understanding of the application under test – what it does, and how it works.
Ad-hoc testing is usually conducted after any formal or structured testing has been done. It serves as a way to discover defects not found through structured testing. When there isn’t enough time to conduct more thorough structured testing, this type of testing can also be used.
Examples of Adhoc Testing
The following are examples of adhoc tests:
- Providing invalid inputs to the application and determining whether the application responds in an appropriate way or not.
- Tweaking the browser settings and checking how the application responds or renders.
- Randomly navigating throughout the application in a rapid manner to check how the application responds to a certain combination of inputs.
Advantages and Disadvantages
Like other types of testing, there are pros and cons to ad-hoc tests.
- By not dealing with documentation or scripts, the tester can save time and find defects sooner.
- It helps developers generate more error-free code.
- It identifies additional test cases to be created and included in structured tests.
- Defects found using adhoc testing can be harder to reproduce, as there are no test cases or written scripts to follow.
- Sometimes invalid errors are identified and reported, which can waste time.
- Requires skills and knowledge from the tester (not any one can conduct ad-hoc testing as they must intimately understand the application).
Adhoc testing should be used at the right time and for the right reasons. While it can save time and uncover errors which structured testing may not find, it should rarely be used as a replacement to structured testing. Structured testing ensures proper test coverage and consistency in testing, whereas unstructured testing is valuable for finding those edge cases.