Ad hoc testing is an informal software testing procedure generally performed during the early stage of software development. The goal is to randomly find possible defects, bugs, or any other issue as early as possible.
Ad hoc testing is not structured, meaning it doesn’t follow a specific test design or adhere to certain documentation requirements. There is also no planning involved in this type of testing. Developers or testers merely test out the code in hopes that they will capture random defects. For this reason, ad hoc testing is also known as “monkey testing” or “random testing.”
Read More about “Ad Hoc Testing”
Ad hoc testing may sound like something that software developers wouldn’t want to implement, as it is similar to error guessing. In fact, this type of testing is performed through error guessing, where the testers would guess the source of an error based on their experience with the system or application.
Ad hoc testing is mainly performed by people who are knowledgeable enough about the system being tested. Also, it is likely that these people do other types of testing aside from ad hoc testing.
When Is Ad Hoc Testing Performed?
Ad hoc testing is typically performed after a more formal and thorough test. The procedure is more applicable when there isn’t much time for other tests and is usually performed once. However, when a bug is detected through random testing, it would be repeated.
If you want to see how ad hoc testing is done, watch this video:
How to Make Ad Hoc Testing More Effective
After learning what is ad hoc testing, you’re probably asking the question: Is it effective?
On its own, ad hoc testing is not very practical for obvious reasons. It’s not structured enough, and it doesn’t follow formal test cases, so it could be challenging to replicate specific issues. However, there are ways to make it more effective.
- Choose the suitable tester: The first thing to ensure is that whoever performs the test is very familiar with the system or solution. Otherwise, they wouldn’t know the common sources of errors.
- Know the common issues: Before performing the test, the tester should know the likely sources of errors in the system. Again, the tester needs to know how the application works.
- Have a rough outline of the procedures: While documentation is not required in random testing, it would be helpful for the testers to have a rough outline of the procedures they need to do.
- Note the issues: Any type of software testing would be ineffective if discovered bugs or defects aren’t recorded and brought to the development team’s attention. As such, it’s essential to record any issue found during ad hoc testing.
Types of Ad Hoc Tests
There are three common types of ad hoc tests described below.
- Monkey testing: In monkey testing, the application is tested using random inputs to see how much strain it can take. Will the system crash when a specific amount of data is keyed in? Will it return the expected output?
- Pair testing: Two testers with different levels of expertise will work together in discovering system issues. The goal is to obtain different views and ideas while working on different modules or parts of the application.
- Buddy testing: As in pair testing, buddy testing requires two people to work together. However, they will be testing the same module. Most of the time, one buddy is a developer while the other is a software tester. The goal is for the testing team to improve the creation of test cases and the development team to make changes as early as possible.
Even though ad hoc testing is considered a less formal type of software testing, it can help detect unexpected issues that may have escaped other types of tests. When done correctly, it can help both developers and testers with their respective goals.