Hello friends! in this post, we will be learning about – Adhoc testing. As the name suggests it is an informal and unstructured way of testing any application. The main aim of Adhoc testing is to uncover the defects which are otherwise not found by following the normal testing process.
What is Adhoc Testing?
Adhoc testing is a type of testing which is performed without any planning and documentation. It is unstructured, unplanned, and informal testing.
We perform this after following the formal testing processes. In order to break the system and find the defect which might not get caught by following the usual testing approach.
Features of Adhoc testing
- It is unplanned and unstructured. No planning is required for performing adhoc testing.
- It doesn’t require any documentation or formal test case execution.
- We usually perform this after the completion of formal test case execution.
Adhoc Testing Example
Till now we have understood that ad-hoc testing is an unstructured and non-methodical way of testing. Let us now understand this topic with a simple real-life example. Suppose you are testing an e-commerce application. You have meticulously designed test cases with you that validate the different requirements.
Now if you choose to perform Adhoc testing, you will try to break the system or find anomalies by following unconventional methods. E.g. instead of following the direct steps of add to cart -> checkout -> make payment, you copy the URL of an old checkout page and try to proceed with that. Or, try to perform some other ad hoc operations. In this way, there are chances that you might uncover a potential security issue.
Types of Adhoc testing
- Monkey testing – Monkey testing is a type of testing that is performed with the intent to break the system. The tester performs this by passing random input and following random work-flows.
- Buddy testing – Buddy testing is a type of testing in which a developer and a tester work together to test the application. Thus, improving the testing process with the developer’s internal architecture knowledge and testing mindset of the tester.
- Pair testing – In the case of Pair testing, two testers work together to perform testing with wider and better test coverage. One tester can perform testing and the other tester can observe and analyze the testing process.
Advantages of Adhoc testing
- Since there is no mandate of following any testing process, the tester can find hidden defects. These types of defects would otherwise get missed while following the conventional testing approach.
- Techniques like buddy testing, pair testing improves test coverage with the use of different mindsets of QA-QA and QA-Developer pairs during testing.
- It takes very little time to execute as there is no planning and formal documentation of testing artifacts.
Disadvantages of Adhoc testing
- Since it is adhoc and doesn’t follow any structure. So the bugs if found are very hard to reproduce.
- We cannot trace the requirements or check requirement/test coverage, as there is no traceability matrix or any documentation for that matter.
- The efficiency of testing is dependent on the skill of the tester as well as the prior knowledge of the system. It is because of the fact that Adhoc testing requires a lot of error-guessing which requires skills and prior knowledge.
Best Practices of Adhoc testing
Following are some of the best practices to adopt for Adhoc testing
1. Build expertise
It is always advisable to get the whole process re-checked by someone with experience. A person of experience will be more intuitive regarding bugs in the software and where to find them. Experience definitely brings an edge to the whole process.
2. Business knowledge
Good business knowledge and a clear understanding of the requirements are what make the whole execution of the testing process easy and successful.
3. Identification of defect prone areas
Some features or parts of software tend to be used more than others. And mostly these areas are where most defects tend to be found. Therefore, a fair knowledge of defect-prone areas should be present to detect and rectify the bugs.
Adhoc testing vs Exploratory testing
There are chances that you might have come across term exploratory testing while searching for ad-hoc testing. This is because there is a common notion that both of these are the same. However, this is not true. Following is a list of differences between both terms. Hope these will clear your doubts about both concepts.
|The first step in ad-hoc is to learn about the software and do homework before starting the testing process.
|Exploratory testing is a simultaneous work of learning and exploring the application with the intent of finding bugs.
|A tester needs to have complete knowledge of the software prior to working on it.
|There is no such compulsion to have prior knowledge of the program. The tester can do testing with or without any knowledge of the subject under test.
|There is no target or goal of the process, everything is done randomly,i.e without any structure.
|In this, targets and goals can be set while still giving the tester the ability to explore the application and think freely.
|There is no need for any documentation, none of the steps performed are documented.
|Documentation or recording of the action performed can be done in exploratory testing. So, the bugs identified can be easily reproduced.
Apart from a planned testing, Adhoc testing is useful as well, and very much part of the software testing. Despite being unstructured it helps in uncovering the defects that might get missed by following formal test cases. So, it is up to to the testers on how they execute the process and make it add to value.