What is Adhoc Testing? How to do it.

In this article, we are going to discuses about what is AdHoc testing and how to do it. 

Adhoc testing is a commonly used term for software testing performed without planning and documentation. This is an unplanned and informal testing .It used to perform with an aim to break the system. It does not follow any test strategy or any test cases or creates any test cases. In a restricted process driven test environment, ad hoc testing perform with random choosing area and testcases which may or may not be followed while performing.

A very highly knowledgeable person(on the system to test) usually the best candidate to perform Ad hoc testing. Generally Testers randomly test the application without any test cases or any business requirement document.

An important advantage of Adhoc testing is that it helps to save a lot of precious time. Sometimes it’s after spending valuable time on preparing and explaining tests that the program’s design is changed. With Adhoc testing precious time is not wasted on planning and documents.
Time for AdHoc testing in development process.  
- when the testers do not have enough time at hand to do a detailed testing with proper test plans and test cases.

-When system producing bugs rarely. Usually Adhoc testing perform for a certain time span(say - 2/4 hours occasionally). Ideally a when a senior SQA member is free for a small span of time, that time is the best for adhoc testing while the system is not producing significant bugs. Typically after getting / guessing a bug or a bug area, adhoc testing stopped and exploratory testing completes the full bug finding cycle(getting most of bugs from that area). 
- Sometimes Adhoc testing is carried out at the end of the project after the execution of all the test cases. So in that sense Adhoc testing is the kind of testing which acts as a complement to other types of testing.

The main Objectives of Adhoc testing are 

- To find defects by random approach.
- To guess the bug presence possibilities(“geuss” the most likely source of errors)
- To observer system beheaviour randomely 
- To get scenarios/tests out of defined scenarios.
- To get bugs out of test case areas

How to perform Ad hoc testing 
- Prepare without any documentation of the system
- Start from the basic activitiy to use the system(like installing, looking around, random clicks etc)
- Try to mix up multiple known scenarios (experienced previously)
- Try to think and use the system like as stupid user
- Try to think out of the box.(performing out of the box activities)
- Try to be relaxed and observe how the system performs
- Try to get the lacking of the system and perform to break the system
- Feel like you are playing games(like as a child) and you are aiming to break the system. 
- If a bug found, try to generate multiple time in the same way. (Hence, sometimes, it is very difficult to reproduce the defects as there are no test-steps or requirements mapped to it.) After doing that, try to generate in different ways.
- After getting a bug, try other tasks that relate to the bug more frequently. 

... Thanks....:)....


  1. Thanks for your grateful informations, am working in FNT software solutions, so it will be helpful info for my works.

  2. So did I understand this correctly that adhoc testing and exploratory testing use exactly the same techniques except, that during exploratory testing a test plan (probably using a mind map) is created?

    1. Though there are a little difference in my experience but it is also said they are same. "Exploratory testing is also known as ad hoc testing. - James Bach, in this article http://www.satisfice.com/articles/et-article.pdf" . From my view , adhoc testing should be a part of exploratory testing without prior planning.