What is Adhoc Testing?
Adhoc testing is defined as an informal testing type with an aim to break the system. This Software Testing type is usually an unplanned activity. It does not follow any test design techniques to create test cases. In fact it does not create test cases altogether!
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. Adhoc testing can be achieved with the Software 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.
This testing requires no documentation/ planning /process to be followed. Since this testing aims at finding defects through random approach, without any documentation, defects will not be mapped to test cases. This means that, sometimes, it is very difficult to reproduce the defects as there are no test steps or requirements mapped to it.
Following video guides you how to do adhoc testing
Click here if the video is not accessible
When execute Adhoc Testing?
Ad hoc testing can be performed when there is limited time to do elaborative testing. Usually adhoc testing is performed after the formal test execution. And if time permits, ad hoc testing can be done on the system. Ad hoc testing will be effective only if the tester is knowledgeable of the System Under Test.
Types of Adhoc testing
There are different types of Adhoc testing and they are listed as below:
|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 scriber during testing. |
Comparison Buddy and Pair Testing: Buddy testing is combination of unit and System Testing together with developers and testers but Pair testing is done only with the testers with different knowledge levels. (Experienced and non-experienced to share their ideas and views)
|Monkey Testing||Randomly test the product or application without test cases with a goal to break the system.|
Best practices of Adhoc testing
Following best practices can ensure effective Adhoc Testing.
Good business knowledge
Testers should have good knowledge of the business and clear understanding of the requirements- Detailed knowledge of the end to end business process will help find defects easily. Experienced testers find more defects as they are better at error guessing.
Test Key Modules
Key business modules should be identified and targeted for ad-hoc testing. Business critical modules should be tested first to gain confidence on the quality of the system.
All defects need to be recorded or written in a notepad. Defects must be assigned to developers for fixing. For each valid defect, corresponding test cases must be written & must be added to planned test cases.
These Defect findings should be made as lesson learned and these should be reflected in our next system while we are planning for test cases.
The advantage of Ad-hoc testing is to check for the completeness of testing and find more defects than planned testing. The defect catching test cases are added as additional test cases to the planned test cases.
In Software Engineering, Ad-hoc Testing saves lot of time as it doesn't require elaborate test planning , documentation and Test Case design.