Exploratory Testing – Why, what and when?
Unless you have been stuck under a rock for the last 15 years, and even if you have been stuck under a rock testing, then we are sure you have been doing some sort of Exploratory Testing as part of your work.
We all do ET, but we are getting ahead of ourselves…
There is an approach to testing called ET and it is important to know how to use it, when to use it, how to manage it, what are its strengths and some of its weaknesses and we want to talk about this today…
Let’s try to go over them:
What is exploratory testing?
James Bach, one of the founding fathers of ET (alongside Cem Kaner), defined exploratory testing as understanding, reviewing and testing software at the same time.
Everyone, every time does ET in the most strict sense of the word…
We do exploratory testing all the time.
- ET is working with software in order to test it, and continue to understand it as you go along
- Even when you have a script, every time you test a button you will look at its surroundings and check into that; so you will be doing exploratory testing
- You will be learning the system and understanding it, at the same time you are testing it
- Testing is a spectrum, on one side of which we have scripted testing and on the other side exploratory. When a human is involved in the process, it will always be somewhere in the middle of that spectrum. In most cases it will lean towards one of the sides, but it will never be explicitly on one side
How do you go about managing Exploratory Testing
One of the most common ways is session based test management. This will serve as a framework to direct you on what to look at.
- Limited session time, with clear goals and aim
- In the session, you raise issues, ask questions, write notes. The questions raised on the current session can then create opportunities for following sessions
- The test charter points that guide your session can constantly be updated and that will keep your sessions relevant
- Evidence is crucial: it will be used later for reference
- There are a selection of tools to choose from for recording session based tests
When does it work wonders?
- When requirements are vague
- When testing complicated or complex products
- When you’re curious about something….
- When you’re testing 🙂
When does it not work at all!!!
- It might not be possible to replace scripted testing in some environments
- But I’ve rarely seen it never work
- The tester’s experience and pre-session guidance are big factors