Types of Exploratory Testing
At CAST 2008, part of my talk was on using skill progression charts to help testers grow just as how (lacrosse) coaches do. At the same time I was saying that I don’t think people new to testing should be given free hand to do exploratory testing as they do not have the library of tricks and problems to draw from.
James Whittaker ends his Prevention v. Cure series (Part 1, Part 3, Part 3, Part 4, Part 5) shares how Microsoft categorizes Exploratory testing which both confirms and makes me question the second point.
- Freestyle Exploratory Testing – This is where new testers start at, and as James points out “it’s far more ‘exploratory’ than it is ‘testing’ so expectations should be set accordingly.” Yes, there is value from learning the system, but there is no reason why the learning and testing cannot be done accordingly. I suspect most experienced testers are incapable of doing Freestyle testing. They might claim they are, but they are applying a series of internal heuristics to the activity.
- Scenario-based Exploratory Testing – If you are smart, this is where you try to start new testers at. This is a hybrid of the classical scripted testing and SBTM or as James says “involves a starting point of user stories or documented end-to-end scenarios that we expect our ultimate end user to perform.” The person doing the tester doesn’t need to have all the ‘l33t testing skillz’ to design the scenarios, but are encouraged to be brain-engaged with their testing.
- Strategy-based Exploratory Testing – Strategy-based testing is the holy grail of exploratory testing where “the better the repertoire of testing knowledge, the more effective the testing.” Notice the better the repertoire aspect of this. It was this point that I was trying to make at CAST as new testers are not going to have the repertoire built-up. Testers with a couple years experience have started build up their own internal metrics and heuristics to apply to a testing problem that new testers just plain cannot have. The kicker is of course that these are continually involving.
- Feedback-based Exploratory Testing – This feels like a sub category of Scenario-based Exploratory Testing. You are doing exploratory testing, but rather than executing against a user strategy you execute against some form of feedback. James’ example is code coverage. Of these 4 buckets, I think the middle 2 are the most valuable. Stategy-based is where you will want to end up if you are going to continue having fun testing software. In the meantime, Scenario-based will help hone you instincts to get there.