Where Does Exploratory Testing Fit?


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 percent or maybe 80 percent (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 also 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 learnable discipline that fits anywhere testers are expected to use their minds.

About the author

James Bach's picture James Bach

James Bach is the founder of Satisfice, Inc., a test training and consulting company. James is coauthor (with Cem Kaner and Bret Pettichord) of Lessons Learned in Software Testing. He has written many StickyMinds.com columns and spoken at Software Quality Engineering conferences. He can be reached at james@satisfice.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01