Introduction to Exploratory Testing
With this procedure, you will walk through the product, find out what it is, and test it. This approach to testing is called exploratory because you test while you explore. Exploratory testing is an interactive test process. It is a free-form process in some ways and has much in common with informal approaches to testing that go by names like ad hoc testing, guerrilla testing, or intuitive testing. However, unlike traditional informal testing, this procedure consists of specific tasks, objectives, and deliverables that make it a systematic process.
In operational terms, exploratory testing is an interactive process of concurrent product exploration, test design, and test execution. The outcome of an exploratory testing session is a set of notes about the product, failures found, and a concise record of how the product was tested. When practiced by trained testers, it yields consistently valuable and auditable results.
The elements of exploratory testing are:
- Product Exploration: Discover and record the purposes and functions of the product, types of data processed, and areas of potential instability. Your ability to perform exploration depends upon your general understanding of technology, the information you have about the product and its intended users, and the amount of time you have to do the work.
- Test Design: Determine strategies for operating, observing, and evaluating the product.
- Test Execution: Operate the product, observe its behavior, and use that information to form hypotheses about how the product works.
- Heuristics: Heuristics are guidelines or rules of thumb that help you decide what to do. This procedure employs a number of heuristics that help you decide what should be tested and how to test it.
- Reviewable Results: Exploratory testing is a results-oriented process. It is finished once you have produced deliverables that meet the specified requirements. It’s especially important for the test results to be reviewable and defensible for certification. As the tester, you must be prepared to explain any aspect of your work to the Test Manager and show how it meets the requirements documented in the procedure.