Exploratory Verses Ad hoc Testing – lets Dive In & Explore!

Exploratory and Ad hoc- Are they same or not?! Well, some links/articles/people/internet sources confuse us saying they are same. Join me in, let’s find out.

First when we see the above two, as human nature we try to break down the words and relate to their possible meaning – what can exploratory or ad hoc mean in normal dictionary terms? To me Exploratory means- something to explore/study or know the unknown stuff and Ad hoc means something random. Most of the time, ad hoc is mixed up with exploratory testing.

Now let’s get into testing context and understand both kinds. To begin with, definition wise –

Exploratory testing- A testing approach that involves simultaneous learning, test design, and test execution. In other words, ET is any testing to the extent that the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests. It is something carried out “on the go” and allows the tester to take steps which a user might take. It makes us to think as real time users- having no restraints it shows how the product might be used “in the wild”. A common thing for the creators of the product is to miss some unexpected details. Exploratory testing brings a fresh eye here.

In simple terms, as the name implies, ET is about exploring, finding out about the software, what it does, what it doesn’t do, what works and what doesn’t work. The tester is constantly making decisions about what to test next and where to spend the (limited) time. This is an approach that is most useful when there are no or poor specifications and when time is severely limited. It’s a hands-on approach in which testers are involved in minimum planning and maximum test execution. It allows us to apply our ability and skill as a tester in a powerful way!! It’s like exploring the unexplored island 🙂

Points to take care here:-

– Try to categorize common types of faults found in the past projects and find the risky areas /develop ideas of testing the application.

– Prepare a test charter which should say what and how- What to test and how to test?

– Find out the requirements as well as functionality of the software application as well identifies the features of the application and understands what needs to be tested.

– Exhaustively test the software based on the identified requirements log the tests found.

– Document the key aspects of what is tested, any defects found and any thoughts about possible further testing.

– Analyze the test and compare it with any historical data if there.

Now let’s understand what is Ad hoc testing all about.

Ad hoc testing – An informal testing type with an aim to break the system. This testing is usually an unplanned activity. It does not follow any test design techniques to create test cases. In fact is does not create test cases altogether! This testing is primarily performed if the knowledge of testers in the system under test is very high. Testers randomly test the application without any test cases or any business requirement document.

It does not follow any structured way of testing and is randomly done on any part of application. Main aim of this testing is to find defects by random checking. It is done only once and then action plan depends on what kind of defects is found and its frequency. It’s a cost effective method of testing and is mostly useful in the early stage of SDLC. This has been often criticized as the defects found using this method are difficult to reproduce but helps in finding important bugs in less time.

Points to take care here:-

– Try to get good business knowledge and clear understanding of requirement prior to start testing. This will help you to find more issues and experienced testers find more issues by using error guessing.

– Target the key business modules first to gain confidence on the quality of the system.

– Record all the defects found and assign to developer team 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 learnt and these should be reflected in your next system while you are planning for test cases.

It’s time to compare and see what the main differences between both: –

1. Is a quick test process in which we need minimum planning and maximum execution-Test design and execution done simultaneously? It is a type of “Ad-hoc Testing”, but only difference is that the tester does not have much idea about the application and he explores the system in an attempt to learn the application and simultaneously test it. 1. Can take any amount of time and here tester needs to be fully aware of the application with no planning/design, direct execution.
2. In exploratory testing, you have a charter while you test, you ask specific question before hand to make your testing goal and work towards achieving that. 2. Adhoc does not have any charter or goal set.
3. Exploratory Includes ad hoc testing (negative testing), positive testing, and boundary testing. 3. Adhoc mostly known for negative testing, focuses on one particular area of the application, and tries to break it in order to assure the application “breaks”.
4. When you have no time for learning the application separately and you just test the application by running it and learn the application more deeply is when Exploratory testing helps. 4.Adhoc is something when you have a lot of time for learning application separately then you learn the application by using proper document then start testing anywhere in the application.
5. For instance, let’s take our social network-FACEBOOK!! If we are asked to do exploratory, you have to first pick a scope of the application, with in which you will need to test like the chat functionality in Facebook. So the tester has a defined area where he can start testing and use his creativity to find issues. 5. While in case of adhoc testing, user has full freedom to begin testing on any part/module randomly of the site.

So these were the few bullet points which would have helped you guys to differentiate between both kinds of testing types. True saying by Socrates-One thing only I know, and that is that I know nothing. All I can say is, keep exploring and sharing!! 🙂


Written By: Arundhati Beura, QA Engineer, Mindfire Solutions



Posted on April 11, 2014, in Manual Testing and tagged , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: