Exploratory testing is considered as an experienced based approach of testing, and it’s highly recommended to combine it with coverage based approaches.
Depending on your context, you can choose the approach of testing that is relevant to you and where you can put more focus.
In this blog post, I’d like to speak about Exploratory Testing, what is it? How to organize a session and how to make valuable.
The definition of Exploratory Testing
Exploratory Testing is known as a combination of simultaneous activities including “Learning”, “Test Design”, “Test Execution” that aim to use new learnings from previous experiments to extend the next.
Usually, these kinds of activities offer freedom without following a strict plan or techniques but at the same time, it remains good to give structure to the session.
Steps to run an effective Exploratory Testing session
Before you even start your session and engage your team members, you need first to define your scope, your objectives and what you need to gain from this session.
To do that, think about those 4 steps:
- Step (1) Define your MISSION
Before moving forward to the next steps, think first about what you want to test!
It’s important to explain the purpose of your test.
- Step (2) Prepare your CHARTER
In this step, you will reflect on how you are going to reach the defined objectives and explore the areas you want to.
For that, you need to prepare your CHARTER, it’s like the plan to execute your mission that you defined in Step (1). It allows you to precisely describe what you are looking for in your test session.
You can prepare different charters and add them to the team backlog, it could be performed as an activity between different programming tasks so that it’s even an opportunity where developers can explore.
A charter could be designed this way
- <Explore> (Target: what you are exploring?)
- <As a> (Define the personas)
- <With> (Resources: what are you using in your exploration?)
- <To Discover> (Information: what’s the purpose of your exploration?)
- Step (3) Timebox the exploration and record your findings
Fix a time for the session (ideally between 30 min to 1h30).
Record important information such as
- How are you testing?
- What data, files, calls, personas … you are using, or you created especially for this session?
- Bugs, problems, new ideas that come to your mind (maybe useful for future charters), you will also have some questions for your team. Note all those questions and ask them after the session.
- Time spent in testing and general time of the whole session
- Step (4) Set a DEBRIEF
End your session by discussing your report of findings with your team and you can invite other roles to such a meeting such as business analyst, product owners, they could add great comments to the session or answer your questions.
For that I recommend using the PROOF framework to your debriefing
- Past ——— What happened during the session?
- Results —– What was achieved during the session?
- Obstacles — What got in the way of good testing?
- Outlook —- What still needs to be done?
- Feelings —- How does the tester feel about all this?
What are the advantages?
Running an exploratory testing session could bring lots of advantages to your team, from one side it’s a fun activity to do and collaborate as a team
And from another side, doing it means also you will welcome new ideas that could attract and show up hidden bugs.
It’s a way to reveal more information that scripted test approach can’t do it, because you are not biased by the test case steps. This is where the magic starts when you discover something completely outside the box.