Introduction to Exploratory Testing
Exploratory Testing #101
Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution.
Exploratory testing is not a new discipline. Skilled testers have always performed it. Unfortunately the same became synonymous with ad-hoc and sloppy work. A group of test methodologists calling themselves Context Driven school of testers brought Exploratory Testing out of the closet. They have been trying to change it into a teachable discipline. James Bach and Cem Kaner (who coined the term Exploratory Testing) have been at the forefront of emphasising the thought process underlying the unscripted testing that is the backbone of Exploratory Testing.
Performing Exploratory Testing
Exploratory testing is a discipline that emphasises the learning aspect of the individual testing. There are no hard and fast rules regarding the steps in which Exploratory Testing is done. There are a set of steps that could be followed to perform an effective exploratory test session.
Use the following sections to create your test charters. Note that not all sections make sense for a particular project. The list is supposed to be exhaustive rather than ideal.
An exploratory test session may have multiple runs of the application and may find multiple issues. For each of the run note the following into the charter.
Value of Exploratory Testing
Exploratory Testing provides better value than other testing disciplines like scripted testing in multiple ways.
Exploratory Testing - Drawbacks
Like with any approach, Exploratory testing has it’s own share of drawbacks.
A famous phrase often used with software methodologies is “It depends”. Does Exploratory Testing begets benefits to your project? It depends.
Exploratory Testing provides great number of benefits – less preparation time, finding new bugs etc. You need to weigh these benefits against the context of your project. If your project has a detailed requirement specifications and novice testers – it is better for your team to perform scripted testing with one or two senior testers helping others by creating test scenarios. On the other hand, if you have experienced testers on team it is beneficial to try Exploratory Testing regardless whether you have good requirements.
MarathonITE supports an exploratory mode. While performing exploratory test session with MarathonITE you can record script (steps), attach annotated screenshots and note observations using checklists.