Exploratory testing is Simultaneous exploration, design and execution. That means a tester is not referring to any pre-designed test cases during exploratory testing. There are two aims in exploratory testing:
A - To learn about the system under test - Exploration.
B - To apply existing knowledge about the system under test to find bugs - Design and Execution.
Other characteristics of Exploratory Testing are:
- It is an interactive test process
- Using information gained while testing to design new and better tests
- Formal, which means it is different from error-guessing and ad-hoc testing
- Testers have skills to listen, read, think and report rigorously and effectively
When is Exploratory Testing Applicable?
Exploratory Testing is most applicable when:
- There is little or no specification is available
- Investigating a particular defect
- Investigating a particular risk – to evaluate the need for scripted tests
- There is no time to specify and script tests
- We want to diversify testing
How to Prepare for Exploratory Testing?
For preparing and executing exploratory tests, test charters are used with items like:
- What will be tested (scope)
- What will not be tested (out of scope)
- Why (questions to be answered)
- How (brainstorm)
- Expected problems
How to Report Results of Exploratory Testing?
For describing the results of the exploratory tests, session sheets are used:
- Test coverage outline
- Name of the tester who performed the exploratory testing session
- Test execution log
- Defects found
- Quality indicator (number of major defects per hour)
- New risks encountered
- Issues, questions, anomalies
There will also be a debriefing at the end of the session for discussing priority of defects, risks mitigated, etc.