Exploratory Testing Explained
Explore. Learn. Create. Execute. Improve.
Exploratory Testing is an important testing approach – not only in agile projects. It helps teams to keep up with the rapid pace and short iterations of agile software projects. Use TestBench's exploratory testing extension to enable exploratory testing for your whole team.
Ready, steady, test!
What Is Exploratory Testing?
Get more out of your testing
Benefits of Exploratory Testing
Exploratory Testing has multiple beneficial effects. You can start right away with your testing as it does not require an elaborate test specification. That helps to find issues or defects in any stage or iteration of your software development lifecycle with minimal efforts of planning, documentation, and processes to be followed.
You can evaluate areas of your product that are poorly or not at all specified or for which requirements are still “in the flow”.
That will assist your team in finding out how the system really should or could look like and produces input to make the decisions on the various possibilities, instead of only submitting tons of defect reports.
With the help of exploratory testing, you can expand your horizon and that of all people who are part of a project. The explorative approach focuses on and uses people’s creativity, intuition, and personal experience. It captures different views of very different people, each of whom looks at the product differently or is familiar with various aspects of a product.
Exploratory testing scenarios
When to Use Exploratory Testing?
Exploratory testing is most useful for specific test scenarios, e.g., when people need to learn quickly about a product or application. It is also a valuable way to evaluate the quality of a product from the end-user’s perspective. Exploratory testing can be highly effective in the early stages of the software development life cycle when requirements are still unclear, and the code undergoes rapid changes or always when you do not have much time to pre-define and script test cases.
The knowledge and expertise collected during exploratory testing will, of course, afterward be very beneficial when it comes to preparing (classic) test scripts for regression testing in upcoming development iterations.
How does Exploratory Testing work?
Define the Scope
Plan what you want to cover during the exploratory test session, e.g., a specific area of functionality within your product, a particular feature, a set of end-user dialogs, a specific workflow, etc.
Set the Time-Box
Define how much time each session participant shall spend for the test session. That mitigates the risk that participants get lost in the application and waste time playing around with unimportant areas or aspects. Also, the concentration of participants will decrease the longer a session takes. So limiting the session’s duration by timeboxing is a crucial success factor.
Select the Team
It is best to invite and include persons with different backgrounds and roles: not only test experts but also, e.g., project managers, developers, product owners, business analysts, or of course, your customers or end-users. Also, people from outside the project can provide exciting clues, as they approach the unknown system with a more impartial mind.
Start the session and (together or in parallel to all session participants) begin to explore! Execute the user story or feature concerned and observe the system’s behavior. Briefly log your findings and questions arising – on the go – in parallel to your testing activities – as little as possible, as much as necessary.
Evaluate the Results
After each exploratory test session, you should evaluate the findings and outcomes of the session. Review and discuss the results of all participants and the pros/cons of the current product behavior.
If needed, prepare, and submit defect reports to your defect management system. Decide about the next steps, e.g., add or update requirement items, or derive test cases that can be used later for (automated) regression testing.
Who can do exploratory testing?
Everyone Can Test
Exploratory testing can involve a diverse group of people – product owners, developers, (UX) designers, business analysts, support engineers, or end-users – as no test automation or test scripting skills are required. Each person can and shall bring her or his specific area of expertise and individual perspectives to the table.
„Exploratory testing is the perfect approach to check prototype implementations or late feature changes in a short time. All feedback and ideas collected are right at my fingertips.“
„With TestBench, I can explore product areas that my colleagues have implemented but also watch them exploring features I implemented. That is collaborative learning in the best way.“
„I use exploratory testing to collect feedback from customers. With TestBench, I can organize, monitor, and debrief exploratory testing sessions with people located all over the world.“
„Taking part in an exploratory testing session is fun and pure teamwork.“
Expand your horizon
Explore the Unknown to Avoid the Unexpected
Combining exploratory testing with scripted testing approaches is one of the most successful ways to optimize your testing performance, increase the quality of your product, and minimize potential risks. Therefore we include the exploratory testing method directly in TestBench.
Exploratory Testing within TestBench
The Right Tool – For the Right Job
We know you can only be as good as your tool.
This is how we do it
Why TestBench Is the Best Tool for Exploratory Testing
Exploratory testing is highly collaborative but neither unstructured nor unmanaged. TestBench is the tool for supporting the entire process of collaborative exploratory testing.
Invite colleagues with the most suitable skills to achieve the mission of your exploratory test session. Watch in real-time what your colleagues are doing in parallel to yourself in the same session to get inspiration or to give assistance.
Put an end to the paper chaos. All participants can consistently document anything with the note form. All notes, including possible defects and test cases, are always assigned to the person who created it.
All necessary documents for an exploratory test session are available at any time for any participant. It is always visible who is currently working on a charter, no matter if the charter was assigned to a particular person or whether a person just picked it to work on it.
One Tool for All
TestBench supports much more than only exploratory testing. You can also manage and practice structured testing, checklist-based testing or automated testing and mix and combine all these approaches.
Start organizing the exploratory test session. Select your team, set the timebox, and write down all the information that your team needs for the test.
- State the “Test Mission” by describing your objectives and the purpose of the test session.
- Structure the “Mission” into “Test Charters” to define more details or sub-missions.
Start exploring, according to the charters. If a charter requires specific skills or knowledge, the organizer can assign charters to a particular tester. Otherwise, you can choose the charters yourself. Write down all steps and areas touched during the exploratory test session in the note form. Select additionally, if you found a possible defect or whether a test case could arise from your observation.
Keep track of what your team has found out about the product. All notes from all testers participating in the session are displayed in real-time. You can see who is working on which charter and which results have already recorded. So, you can avoid that charters are worked on twice. Or get inspiration from your colleagues for your tests if necessary.