Exploratory testing and the Tourist Metaphor
Exploratory testing is a term many professionals are familiar with. Many times, they say they are ‘exploring’ the software; however, this is often viewed as an unorganized testing approach, in which the tester blindly checks the product and reports as many defects as possible, with no structure whatsoever. Though parts of this statement may be true - you do go ‘blindly’ without really knowing what you might discover - exploratory testing still requires a bit of discipline and preparation if you want it to be a real success.
What exactly is exploratory testing?
Exploratory testing is a testing approach that allows the tester to have a creative and real-world view of the application under test. With no test cases or test plan to follow, each scenario will be revealed as the features of the product are being checked. Much depends on the tester’s experience, imagination, and investigation skills, being also a great learning curve for fresh professionals.
Despite the liberal approach of such types of testing, exploratory is not completely structure-free and does not have a chaotic nature. When a tester decides upon this type of testing, they would start by having in mind their mission and a brief ‘plan’ on where to start and where to finish the test process. In addition, the tester should take notes of everything they discover, in order to be able to come up with proper test cases (or to modify existing ones).
How does your testing session look like?
Below are some examples of what an exploratory testing session should include:
Tester prepares a test chart that shows what to test, how to test it and is required to check
Testing is time boxed (e.g. 90 minutes), where no interruptions are made
Attention is paid to the type of bugs discovered and the tester notes down any areas of concern (defects are oftentimes clustered)
Tester has a review of the results, and reports any relevant information (time spent on testing, number of bugs reported, number of features covered)
At the end, a short debriefing will decide what are the best next steps
Exploratory testing and the Tourist Metaphor
Now that we have established some essential information about exploratory testing and how one goes about approaching it, we can concentrate on another important topic - what technique should I use for my exploratory testing? While there are many ways in which a tester can perform this type of testing, one of the most interesting and focused is by using the Tourist metaphor.
The Tourist Metaphor is exactly what the name suggests - the tester would be similar to a tourist, who is exploring (testing) a new city (piece of software). As tourists, we would have multiple ways of going about our city tour, thus for this version of exploratory testing, we have at our disposal multiple tour examples.
Testing tours
There are quite a few testing tours the testers can choose from, depending on their preference and also on the purpose of their exploratory journey:
The Guidebook tour - for this type of testing tour, the tester would go through the user manual and follow any documented information available for the application under test.
The Landmark tour - the tester chooses some specific features that they would like to check and will stick to those.
The Intellectual tour - in this session the tester would need to be very focused and curious about any aspect of the software. They are meant to ask a lot of hard questions and leave not leaf unturned.
The Money tour - in here, the tester needs to consider why the customer would pay money for the product; what is generating cash flow?
The Delivery Truck tour - this tour is all about data: how it is handled, how it is transported, and how it is stored.
The After-hours tour - here the testers verify maintenance tasks, like archiving or back-up.
The Garbage Collector tour - this is a testing session in which the tester checks everything that is obvious, and only that! No details involved, just going screen by screen in a methodical manner.
The Museum tour - just like in a museum, the tester checks at this stage pieces of the product’s history (legacy and obsolete code, old functionalities, and outdated components).
The Bad neighborhood tour - this is all about defect clustering; the tester checks which are the buggiest areas and focuses on finding as many defects as they can.
The Uncommon tour - if the tester is a fan of finding hidden issues, this is the perfect tour for exploring the product’s unexpected areas.
The Supermodel tour - this tour is taking the tester in an exploratory session over the UI of the software - how pretty is your product?
The Obsessive - Compulsive tour - here, the tester would repeat the steps of a scenario as often as they can - maybe something will crash, eventually?
Whether you decide on one of the above tours, or you want something different by digging deeper into the subject of the tourist metaphor, what is important to have in mind is the scope of your exploratory session. Asking yourself what you want to test, why, and if you are capable of doing it will determine which tour best suits your plans.
So, next time you think about doing exploratory testing on a piece of software, try considering some of the points above, and give the testing tours a try (believe me, they will be fun and get you out of your testing comfort zone!).