Testing is cognitively challenging, skilled, multidisciplinary work. Testing is a search for Information – unearth bugs, help managers make realistic decisions, block premature product releases, certify product on standards, Improve product quality, and usability.
In modern software development processes, Maximizing Quality is a shared responsibility between developers, managers, product owners and others teams. Exploratory testing (ET) is more useful in complex testing situations where little is known about a product and there is a need to go beyond the obvious.
Though most testers have been invariably performing ET, maybe even unconsciously most of the times, it is, but essential to recognize ET as an approach. This will help realize the benefits of ET.
What is exploratory testing and how it’s done –
The standard definition states –
It’s a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test charter, a short declaration of the scope of a short time-boxed test effort, the objectives and possible approaches to be used.
According to James Bach –
The plainest definition of exploratory testing is test design and test execution at the same time.
According to Cem Kaner –
Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution.
Unlike the scripted test, ET is not defined in advance or carried out according to plan.
Cem Kaner coined the phrase “exploratory testing”, which he refers to a sophisticated, thoughtful approach. The richness of ET process is limited only by our imagination and emerging insights of the product which is being tested. The essence of ET is learning and incorporate new ideas into the tests.
The tester will explore using heuristics for rapid learning about a product and its risks, Following and investigating the specification documents that may serve as a guide. The exploratory tester manages the value of his/her own time, by – reusing old test cases, creating new tests, creating test-supportive artifacts like failure point list. Writing down test scripts and following them may tend to disrupt the intellectual processes that help testers find important problems quickly.
There are few Myths as well, around Exploratory testing –
Benefits of Exploratory testing –
How ET is different from Ad-hoc testing –
In Ad-hoc testing, the tester learns the application, then tests it. In ET, you can test the application while learning.
In Ad-hoc testing, the tester may or may not have application knowledge. In ET, you gain application knowledge as you explore the application.
There could be multiple rounds of Ad-hoc testing before, during and after the main test cycle. ET is conducted only once before the main testing.