adhoc testing

Product/Software Quality requires different kind of testing based on the requirement. One of the test types is Adhoc testing which we will be described in this article. Let’s find it in details … !!

What is Ad-hoc Testing?

The name itself suggests about the Ad-hoc testing as the software testing which is being performed without proper planning and documentations like Test Plan/Strategy etc. Such kinds of tests are performed only once unless we uncover the defects.

In other terms Ad-hoc is something which is not in order or not organized or unstructured, also can be said as black box testing. Similarly while executing the ad-hoc testing there is NO formal process of testing which can be documented.

This type of testing is actually performed to discover the issues or defects which cannot be found by following the formal process. The Tester should be having through knowledge of the application/product to perform ad-hoc testing. When testers execute ad-hoc testing they only intend to break the system without following any process or without having any particular use case in mind.

Ad-hoc Testing VS Exploratory Testing

There are many similarities between Exploratory Testing and Ad-hoc testing which makes people confused about them. However, there are various differences between them as well, listed below are few:

Adhoc Testing             Exploratory Testing
Testing is performed after learning the application. Exploratory Testing is performed while learning the application.
Here, tester should have good knowledge about the application in order to test the software. This testing should increase their knowledge by exploring the application/software.
 In this testing, we always gather information regarding the software/application from complete possible sources and document and then test the application/software.  In this testing, we gather the information, and also document and test the application simultaneously.
In Ad-hoc Testing QA is always asked to test an application with a detailed set of documents. In Exploratory Testing, QA is always asked to test an application without any specific set of documents.
Documentation is not a basic need of this type of testing. The QA team always attends the testing without specific documentation. Documentation is mandatory in Exploratory Testing. To assure the quality it’s necessary to documents the detail of the testing.
It works on negative testing mostly. This testing works on a positive testing niche.
Ad-hoc focuses on the application process and test it repeatedly. Focus is confined first in data entry areas, with interface checking.
Ad-hoc is not that bother about the test case difficulties, it runs the results. There are always difficult situations in test cases; Exploratory Testing helps to sort out it.
This is only one-time executable testing. Engineers tests it’s once at a time, however, if there is any problem found in the test then it’s repeated. This is an approach of testing that combines the learning test results and creates a new solution.

What are the types of Ad-hoc testing?

Ad-hoc testing is performed in three different ways. These are listed below:

  • Buddy testing: It is the testing technique adapted under unplanned testing situations where a Developer and Tester work together in order to test and develop the application at a rapid pace. Each will do their own job and as they work together the chance of bug’s raises/fixes will be reduced so as to meet the time deadline.
  • Pair testing: Pair testing is a collaborative effort, versus a single-person testing effort. Typically, one of the team members is a tester and the other is either a developer or a business analyst.
  • Monkey testing: In this type of testing some random tests are executed with some random data with the aim of breaking the system. This testing helps us to discover some new bugs which might not be caught earlier. 

When to use Ad-hoc testing should be performed:

Ad hoc testing can be performed when there is limited time to do elaborative testing. Usually, ad-hoc testing is performed after the formal test execution i.e. post system test. 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. 

Benefits of Ad-hoc testing:

  • Ad-hoc testing gives freedom to the tester to apply their own new ways of testing the application which helps them to find out more number of defects compared to the formal testing process.
  • This type of testing can be done at any time anywhere in the Software Development Life Cycle (SDLC) without following any formal process.
  • Ad-hoc testing proves to be very beneficial when there is less time and in-depth testing of the feature is required. This helps in delivering the feature with quality and on time.
  • The documentation is not necessary which helps the team developer/tester to do the focused testing of the feature or application without worrying about the formal documentation. 

Disadvantages of Ad-hoc testing:

  • Since ad-hoc testing is done without any planning and in an unstructured way, so duplication of bugs sometimes becomes a big trouble.
  • Ad-hoc testing is very much dependent on the skilled tester who has
    thorough knowledge of the product it cannot be done by any new joiner of the team.

Best practices:

As we have seen till now that ad-hoc testing is unplanned and unstructured but to perform this type of test effectively the developer/tester should follow best practices. Below mentioned some points:

  • Thorough knowledge of software/product
  • Categorize and prioritize the features to be tested
  • Rough planning for Maximizing test coverage
  • Documentation of observations which help in reproducing the scenario and to find the core of issue