Today I took part in an exploratory testing session to validate a new product before an initial release.
Exploratory testing is simple but extremely effective in finding issues in your software and avoid your customers to ever find them. Yes, automation is important but there is nothing that can survive from a massive effort from a group of people in breaking a piece of software 🙂
I have never met a product able to survive from an exploratory testing session!
You don't need much preparation to run an exploratory testing session. Just book 1 hour or 2 in your calendar and invite all the stakeholders who are willing to help. Often, you also want to prepare some virtual machines and have all the links to resources ready.
Here are 5 simple steps you can follow during the session
- Explain why the testing is important and what is the goal
- Identify key scenarios and assign each scenario to a pair of people
- Each pair try to find as many issues as possible during the time allocated
- Collect all the post-its on the whiteboard, group issues and discuss them
- Prioritize the next work to do before the release
A group of 16 people today, managed to generate something like one hundred issues in 1 hour. This is impressive considering the software already went through a comprehensive suite of automated tests. Of course, there were many duplicated issues and lots of non-blocking edge cases or minor UI inconsistencies but some issues were important and required our immediate attention.
So now we have a backlog of a few critical issues that must be resolved before shipping.
Exploratory testing is an invaluable tool in your belt.
The following is a good book if you want to learn more about the topic but honestly you don't need to read the book in order to get immediate benefit from exploratory testing. It's simple to do and extremely effective.
I strongly recommend using exploratory testing especially before doing critical releases.
Are you using exploratory testing in your team? If not, why not?