1) What is Exploratory Testing?
As Wikipedia notes, “Exploratory Testing” is a term coined by Cem Kaner back in 1993. There are tons of material worth reading around the net about this topic, but the key point is that it’s somehow a different approach to software testing. Instead of following specific steps, the tester should try to go behind the obvious. Imagine, for example, a pioneer who needs to walk through an unexplored part of territory, or a tourist visiting an unknown city. They certainly have some ideas and documentation about the places they are seeing for their first time, but they might not be aware of the most dangerous places nor some “hidden gems” which are worth seeing.
2) How do I intend Exploratory Testing?
The mysterious mechanisms behind an IT Project are not really so different from these scenarios we’ve just imagined. While some sheets describes pragmatic techniques (I’m thinking about James Bach’s interesting “Testing procedure for Microsoft Windows Logo”, for example) and some books explains other useful schemes (Elisabeth Hendrickson’s “Explore It!” is a highly recommended reading) the concept is that we need to use our imagination. We should try to avoid our comfortable patterns, open our eyes and just be curious. I also like to take notes whenever I am testing an unstable release and I’ve found that it’s useful in order to reproduce formerly unexpected bugs. But, again… The effectiveness of Exploratory Testing depends on how we try to look into the software with different points of view. I remember a recent report by Fedora’s proven tester Kamil Páral (kparal), who discovered a hidden issue of gnome-keyring. Then, even if we are precise, experienced and certified developers, our grand-parents might probably be better explorers than us, for example. That’s because strange, unexpected and wrong behaviors tend to trigger strange, unexpected and wrong events.
3) Exploratory Testing and Fedora
Being Fedora what we could define “a bleeding edge distro”, whenever we perform Exploratory Testing, we certainly have the opportunity to raise the quality of the shipped packages. I’d also say that this process must not substitute automated/scripted testing, which is a fundamental aspect of software development. Modern approaches like Test Driven Development and Behavior Driven Development can assure that the key parts of the application works as intended. Moreover, the Test Cases designed by Fedora QA are handy procedures that check whether the release criterion are met or not and assure that the main features aren’t affected by severe bugs. Indeed, Exploratory Testing is always helpful in order to highlight surprises which aren’t currently covered by common situations and recommended steps.
- “What Is Exploratory Testing?” By James Bach (Satisfice Inc.)
- “Explore It!” by Elisabeth Hendrickson (The Pragmactic Bookshelf). Copyright 2013 The Pragmatic Programmers, LLC 978-1-93778-502-4.
- “Test-Driven Development with Python” by Harry Percival (O’Reilly). Copyright 2014 Harry Percival 978-1-449-36482-3