September 23, 2012

Start Exploring Exploratory Testing

What is exploratory testing?

Basically, exploratory testing is a testing technique in which the tester writes test cases at the same time that he or she runs them and gets acquainted with the system.

In other words, using Exploratory Testing, as the name suggests, there are no ready-made test cases before you testing begins.

What’s the point of Exploratory testing?

Exploratory testing will help you and your team to find more critical bugs earlier as well as motivating your testers by stimulating their curiosity and creativity.

Hopefully, this article will also stimulate your curiosity so you’ll give exploratory testing a try.

Defining exploratory testing

The concept of this testing was developed by Cem Kaner and James Bach in the early 1990s. One way to explain exploratory testing is to compare two interview techniques which you probably use to gather system requirements.

In a structured interview, the interviewer follows a set of predetermined questions. However, in a semi-structured interview, the interviewer uses the written questions as a guide so that important topics are not overlooked, while still allowing the interview to flow and evolve spontaneously.

As you can probably guess, semi-structured interviewing is more like exploratory testing and is a more effective approach in certain situations.

Exploratory testing isn’t really all that unusual or hard to comprehend, because testers are naturally curious and eager to explore their environment. In fact, to some extent, all testing is exploratory.

You see an example of exploratory testing in day-to-day work whenever a defect is found: the tester tries to reproduce the defect by examining the conditions that may have caused it. An experienced tester will also try alternative approaches to see if they can find a more fundamental or serious cause behind the problem. When skilled testers retest the defects they’ve fixed, they are even doing regression testing to verify that no new defects have arisen as a result of the repair that was made. All of these are examples of exploratory testing in traditional test work.

In traditional testing, it’s almost impossible to write comprehensive test cases that give unambiguous results or that cover every aspect of the system’s functionality. The tester always has to make some judgment calls while tests are implemented. However, in exploratory, there are no clearly predefined outcomes or expectations of specific results, so the testers constantly have to rely on their own experience and knowledge to assess whether the system’s responses and behaviors are correct.

So it is therefore a technique for the experienced and skillful tester who can take leverage of his/her testing knowhow and apply it to a new domain.

Next time, we’ll tell you all about How to get started with Exploratory Testing.

Share article