Where Does Exploratory Testing Fit?: Notes, Fall 2002)
Where Does Exploratory Testing Fit?: Notes, Fall 2002)
www.satisfice.com
(540) 631-0600
If you, like me, find the exploratory approach to testing valuable (see "What is Exploratory
Testing"), then the question arises when do you do it? How does it relate to the lifecycle?
Yogita Sahoo sent me an insightful list of questions and comments about ET. I’ll be
responding to them in future columns. For this installment, she writes “In my personal
experience, if I start exploring things when I'm supposed to carry on with my allotted tests,
the whole thing gets jumbled up. I can neither concentrate fully on ET nor on my regular
test cases. That results in less productivity.”
A simple way to think of ET is concurrent test design and test execution. To help Yogita
better, I want to use a more specific definition: Any testing is exploratory 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.
This definition includes pure exploratory testing, where you explore the product and design
a test strategy and specific tests based on your understanding of your mission as a tester,
but without any specific guidance. It includes chartered exploratory testing, where you
have a specific assignment for what to test and what techniques to use, but no procedures.
It also includes improvisational testing, where you elaborate on a test procedure or use it to
inspire a set of related tests. It includes test procedure creation, too, inasmuch as you
perform tests while documenting them.
Assure that there is enough variation and creativity in the test cycle.
Also, throughout the project, I would suggest that you question the value of the tests
allotted to you, since no test process provides complete coverage. To improve the breadth
and depth of your testing, consider allotting some time, maybe 20% or maybe 80% (there’s
no universal right amount of time, other than what fulfills the mission of testing) per test
cycle to pure exploratory testing. Pick one or more risk areas in the product and design and
execute tests for that, seeking to find important problems fast and collecting information
that will help the project evaluate the state of the product.
Another way to fit ET into a project is to dedicate a particular tester or test to continuous
duty doing pure exploratory testing. I ran a team like that, once, and I once interviewed a
fellow who ran such a team at Nortel. These teams are well trained, and work like a
reconnaissance unit, scouring the product, and following up on rumors and risk areas.
Doing exploratory testing well requires skill, no matter when you do it.
Before I made it my goal to master the art of simultaneous test design and test execution, I
felt confused and bewildered by the process, too. I eventually developed certain heuristics,
notetaking protocols, and skill in modeling, reasoning, communication, and self-
management that allow me to be productive under almost any circumstances. The process
is creative, but it’s a teachable discipline fits anywhere testers are expected to use their
minds.