Michael Bolton has gone off like a volcano in Iceland, writing a series about what exploratory testing isn’t:
http://www.developsense.com/blog/2011/12/what-exploratory-testing-is-not-part-1-touring
http://www.developsense.com/blog/2011/12/what-exploratory-testing-is-not-part-3-tool-free-testing
http://www.developsense.com/blog/2011/12/what-exploratory-testing-is-not-part-4-quick-tests
http://www.developsense.com/blog/2011/12/what-exploratory-testing-isnt-part-5-undocumented-testing
Another thing I would add to this:
Exploratory testing is not defined by any specific example of exploratory testing.
Just as tap dancing does not characterize ballroom dancing, you can’t take any one example of exploratory testing and treat that as representative of the entire concept of ET.
If you were to hear me singing an aria by Mozart, that would be an example of opera singing. It would be an example of BAD opera singing, but it would truly be an example of the style. Similarly, I regularly talk to testers who go “oh yeah I’ve seen that exploratory testing stuff but it’s not structured… not documented… not x… not y… not whatever.” And my reply is “you probably haven’t seen skilled exploratory testing. Would you like to hear me sing an opera now? OR, I could show you a good example of ET in practice.”
Exploratory testing can be done in an unskilled, slapdash, silly way. Just as a unskilled driver behind the wheel of a car is still a driver who is driving a car, a poor tester can still be doing ET– albeit probably not very well.
The cool thing about ET is that, even done badly, it’s still a great way to find some bugs. Michael and I try to help you do much, much better than that.
The core idea of ET remains as it always has been. It’s been expressed in many different ways, but boils down to this: test design and test execution and learning mixed together in a mutually supportive way. Whenever you see that, and to the degree that you see that, you are seeing exploratory testing.
Shrini says
>>>Exploratory testing is not defined by any specific example of exploratory testing.
Just as /a/ specification by example is not /a/ specification? You can’t take an example of exploratory testing session or problem or context and say that is /all/ in there for exploratory testing right?
[James’ Reply: Of course.]
Instead of talking /simply/ about examples of exploratory testing – would it be useful to talk about examples of good and skilled exploratory testing?
Shrini
[James’ Reply: Obviously.]
David Greenlees says
Thanks James.
I thoroughly enjoyed the series by MB. As one person commented, they expelled many common ‘myths’ about ET.
I’ll admit, way back when, I too was one of those… “oh yeah I’ve seen that exploratory testing stuff but it’s not structured… not documented… not x… not y… not whatever.”
Happy to say that now, are commiting to reading/learning, I’ve moved far beyond that.
Something that stood out for me was that ET is not a particular ‘phase’ of testing. That seems to be a very common misconception among testers. They say “Cool, we’re done with SIT, we’re done with UAT, now lets do some ET”… Fail.
[James’ Reply: You can reframe that to: “I’ve filled out the forms with the receptionist and done some small-talk with the nurse and doctor. The social rituals have been observed and triage performed (little scripted checks)… Now he can get down to examining me and diagnosing my specific illness. (ET)” So, in that sense you could say that it’s a phase– if your project is broken down into opening rituals vs. addressing the problem that motivates the entire situation.]
David Greenlees says
Very true. Given more time I’d be up for analysing those opening rituals to see just how much exploration was performed/could have been performed during their development. Moving the ET over to the static side of things in a way (or proving it was already there).
Anand Badurkar says
Thanks a lot James!!
Exploratory testing is not defined by any specific example of exploratory testing. – Excellent
The cool thing about ET is that, even done badly, it’s still a great way to find some bugs. – Interesting
I think the best way to explain ET is Perform skilled ET and just put the results with examples of current assignment where you perform it. This will surely convince respective authorities to implement it in testing.
Software testing Guide says
Great Stuff.Thanks James
You explanation for exploratoty testing is excellent.
Mike Finn says
Great wrap-up, specially liked the Opera singing reference, saved my day.. 🙂