Exploratory Testing
What is Exploratory Testing?¶
Exploratory Testing is a type of software testing where Test cases are not created in advance but testers check system on the fly. They may note down ideas about what to test before test execution. The focus of exploratory testing is more on testing as a “thinking” activity.
Exploratory Testing is all about discovery, investigation, and curiosity. It is a simultaneous process in which testers go through the software of their own accord to get a sense of the quality of the user experience it provides.
Why Exploratory Testing?¶
Under scripted testing, you design test cases first and later proceed with test execution. On the contrary, exploratory testing is a simultaneous process of test design and test execution all done at the same time.
Scripted Test Execution is usually a non-thinking activity where testers execute the test steps and compare the actual results with expected results. Such test execution activity should be automated where possible, as does not require many cognitive skills.
How we execute Exploratory Tests¶
Guidelines to approach Exploratory Testing follow:
1. Classify Defects/Bugs¶
- Categorise commonly detected faults and identify their root cause
- Identify risks that must be covered
2. Create a Test Charter¶
The Test Charter should include: - Scope of testing - what to test / how it can be tested / what bugs to look out for - Test ideas as a starting point for exploratory testing
3. Time Box¶
- Suggested to time box the session around 90minutes, working in pairs
- The session must be without interruptions
- Can be extended or reduced, depending on test progression
4. Review Results¶
- Evaluate the defects
- Note down any learnings
5. Debriefing¶
- Communicate results
- Identify any further testing required?
Best Practices¶
Before the Exploratory Test session:¶
- The mission of testing must be clear
- Note ideas on what needs to be tested and why
During the Exploratory Test session:¶
- Engineer can branch out their ideas but never stray from the mission
- Keep track of any questions and issues raised during exploratory testing session
- Preferred to pair for more effective
Following the Exploratory Test session:¶
Document and monitor the following: - Risks - What must be covered - Test Execution Log - Consider recording the test session
Disadvantages of Exploratory Testing¶
Some disadvantages of Exploratory testing are: - Can be limited by domain knowledge - Minimise risk by Pairing - Replication of failure/test results can be difficult - Minimise risk by Pairing / Recording session - Don’t know when to stop - MAddress by timeboxing the session
Tooling¶
Here are the tools we use to support Exploratory Testing - Test Charters – TestRail - Defect Management – Azure DevOps