Exploratory Testing and the Planning Myth


There is a notion that exploratory testing is devoid of and incompatible with planning. Supporters and skeptics alike tend to have concerns that exploratory testing might not work in their organizations because of this perceived lack of planning. Is exploratory testing necessarily unplanned? Let's take a look at the nature of plans and how exploratory practices fit into the big picture.

My last column ("What Is Exploratory Testing?") provoked some interesting reactions. One came from Yogita Sahoo, who agreed that ET can be useful, then asked, "But can we get others to agree on such an unplanned process?" Ms. Sahoo's question raises some very important issues, such as:  

  • What is "planning"?
  • Is exploratory testing necessarily unplanned?
  • Why might we need to do things that aren't rigorously planned?
  • How do we coordinate and support each other, if not with a plan?

Here's my short answer: Exploratory testing (ET), as I practice it, usually proceeds according to a conscious plan. But not a rigorous plan. Rigor requires certainty and implies completeness, but I perform exploratory testing precisely because there's so much I don't know about the product and I know my testing can never be complete. Exploratory testers coordinate with each other and gain support in the same way executives run large companies: by talking with each other and building credibility over time. It's not rocket science, except that rocket scientists and all scientists also use exploratory tactics in their work.

Exploratory testing may well be planned…

 The American Heritage Dictionary offers us four definitions of

  1. A scheme, program, or method worked out beforehand for the accomplishment
    of an objective; e.g., a plan of attack .
  2. A proposed or tentative project or course of action; e.g., had no plans for the evening .
  3. A systematic arrangement of important parts; an outline or a sketch; e.g., the plan of a story .
  4. A drawing or diagram made to scale showing the structure or arrangement of something; e.g., the ventilation plans show two intake vents.

Notice that a plan can be a plan without necessarily being a specific, rigorous, complete, or recorded plan. Thus, one answer to Ms. Sahoo's question might be that good exploratory testing is a planned activity, even though it's not scripted in detail . I find it useful to define a test plan as "the set of ideas that guide the test process." This definition is consistent with at least the first two American Heritage definitions. In order to guide testing, the test plan must exist before the testing, but how long before? What if it comes into existence only moments before the testing? No problem. Nothing in the notion of planning prohibits simultaneous planning and execution. In football, when quarterbacks find that their receivers are too well covered, they may quickly make a new plan to run with the ball. An instant later, they execute the new plan. Thinking fast is no crime against plankind.

…but learning comes before the plan…

Still, I may be missing Ms. Sahoo's point. Another meaning of the planning question could be "How can we get others to agree on a process with such an open-ended and unpredictable plan?" To address that issue, it helps to invoke the most rigorous, repeatable activity you can imagine. Perhaps playing a flawless piano concerto. Now ask yourself, is there a plan in that activity? I would have to say yes. Now ask yourself, what happened before that plan existed? I would have to say some kind of rigorous composing and practicing process. Now, was that prior process guided by the same rigorous sort of plan? I suspect not. If we keep peeling back the layers of how things originated, we soon get to processes that obviously were not rigorously planned. There was a time before the choice was made to play that piece, or even learn the piano. Were those choices made according to formula, or were they subject to exploratory processes? For that matter the

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.