The What and Why of Exploratory Testing

Exploratory Testing

Exploratory testing is an approach of software testing that is concisely described as designing and executing the test cases and learning about the product at the same time.

Exploratory Testing is about exploring the product without actually knowing about it. The tester is constantly making the decisions regarding the approach he should follow to test the functionality in the limited allotted time.

Consider the case:

You want to purchase a new LED TV from the market and you have no idea about the technology. In the market you can find many companies/brands manufacturing the LED TVs. So you start exploring in order to choose the brand providing you the best features in the LEDs. After exploration, you make your mind to purchase certain LED TV.  So this is basically the exploratory testing.

If the user already had knowledge of the LED TVs, the user will simply go to the market and will buy the LED TV without exploring the market. This is known as adhoc testing.

So, in exploratory testing, user needs to have strong analytical skill sets to come to a conclusion that what approach he/she should follow in order to test the application while in Adhoc Testing that is not mandatory.

So we can say that exploratory testing is not a technique, instead it can be termed as an approach.

The myth that exploratory testing is not a good practice becomes true when tester does not have strong analytical skills. This is because exploratory testing unlike other testing types relies on the skill sets of the testers rather than on the methodology being followed.

Most of the time, people confuse exploratory testing with adhoc testing which is not true. In exploratory testing, tester does not have any requirement documents and is asked to test the application without them. So, the tester has to test the application while also learning about the functionalities of the application. Whereas, in adhoc testing, tester is provided with the required documents so, the tester can learn about the application before actually performing testing.

Exploratory Testing Myths:

Following are some of the common myths about Exploratory Testing:

  • Exploratory Testing is not Structured

A misconception about exploratory testing is that it is an undocumented and unstructured approach. Exploratory testing focuses on adaptability rather than accountability. Because of that test material is not documented properly. It is a testing approach that can be structured using different techniques like scenario based testing or session based testing.

  • Only works in Agile Methodology

Exploratory testing is a type of testing, that can be performed on all the software testing methods whether it’s an agile method or not. The thing is that if the abilities and creativity of a tester can be trusted then exploratory testing can be performed.

  • Regression is not Possible

People think that regression is all about running the already executed test cases again. In our point of view, regression testing is performed to confirm that code perceived in previous builds is not affected by new changes. It is not necessary to use the already executed test cases.

  • Exploratory Testing is not Measurable

Most of the time people think that exploratory testing can’t be measured. They think that measuring testing efforts and testing results is not possible. Yes, we cannot measure exploratory testing with the same matrices which are used in other testing approaches. In fact, there exist several measuring techniques, for instance:

  1. Incoming bug ratio VS user stories
  2. Code coverage matrix in session based testing

Why Exploratory Testing is necessary?

  • Exploratory testing helps the software testers to keep up with the pace of rapid software development in agile testing.
  • Exploratory testing helps the tester to understand the application in a better way.
  • When the tester is given the limited time to test the application, the exploratory testing comes in handy.
  • Most of the time the test scenarios written do not cover the scope of the project completely. So, exploratory testing comes in place to ensure that maximum scope of the project is covered.

While performing other types of testing, using requirement documents, the tester should not only depend on the test scenario document. The tester should explore the app, to make sure that he/she has not missed any test scenario.