When it comes to choosing the testing methodology for a project, research shows that there is no one method that is better than the rest. As an experienced tester, more often than not it comes down to your informed judgement. If you have chosen to use Exploratory Testing, and would like to know how to get on with it, read on…
What to know before you begin
If you are new to Exploratory Testing, this article is a good starting point to understand the concept and see how Exploratory Testing compares to other Testing methodologies.
All testing involves a certain amount of Exploratory Testing – we just don’t label it as such. In fact, testers do Exploratory Testing all the time – albeit sub-consciously – as part of a traditional test strategy. For example, during the course of a scripted test cycle, you might have an idea for a test case or scenario that isn’t part of the original plan. You may test it anyway because you believe it’s worth the effort. This is Exploratory Testing.
Exploratory Testing doesn’t preclude Traditional Testing. Use more than one testing method on your projects to deliver best-in-class test quality. A quick search on the internet will show you that even major successful corporations such as Microsoft use both Exploratory and Scripted test cycles on the same project, as best practice.
Let’s explore how you can set up and run an Exploratory Testing phase for your project.
Step 1: Ask yourself – is Exploratory Testing right for you/your team?
Some key factors you need to consider before selecting Exploratory Testing:
- You and your team have enough knowledge and experience of the system being tested. When a tester is familiar with the system being tested, they will be able to come up with scenarios that stretch the system in the right way. For instance, Exploratory Testing is powerful when making enhancements to a product that is already being used by customers. This usually means that the product is very well tested given that it is live, and the project team are familiar with the system.
- You want to spend very little time and effort in planning and preparation, and start catching bugs right away.
- There is lesser need for efficiency, repeatability and reliability of this testing cycle and its results. Your team is comfortable with the relatively sparse documentation, and especially that it builds up as you test. Agile projects tend to lend themselves well to Exploratory Testing, given the principle of iterative development, and therefore many test cycles.
- There is a more comprehensive test cycle scheduled for an appropriate time. Exploratory tests help teams get back to the development board quickly by catching major bugs, but Traditional testing is key to comprehensive Test Coverage. For example, when a change deals with customer-facing systems, it is essential to use traditional testing as a supplement to Exploratory Testing. This will help fulfil any mandates for in-depth testing, marginalise the risk of system failure, protect the reputation of the company and prevent any adverse impact to customers.
If you can answer yes to all the points above, then Exploratory Testing is right for you.
Step 2: Create a Test Charter
This may sound counter-intuitive, but a little bit of preparation goes a long way in maximising the value you get out of Exploratory Testing. Exploratory Testing does not mean no documentation – rather, any documentation tends to be optimal – costing much lesser time and money compared to traditional forms of test documentation.
As opposed to writing vast Test Plans, Test Cases and Scripts, go ahead and create a Test Charter that includes:
- Scope and Approach: High-level description of the system, components and functionality that need to be tested.
- Expected results: This will help bring some structure to – but not defeat the purpose of – Exploratory Testing. When a tester knows what they’re looking for, this will reduce the chances of meandering from the intended test route.
- Method for recording tested cases and results: identify a process for recording the test effort and results.
Step 3: Select the Tools to be used for testing
Apart from traditional testing tools, using visual tools will help improve the effects of Exploratory Testing significantly. Visual tools help record each test case as it is executed, and provide a reliable form of audit and reference. Select a visual testing tool to complement your current tool suite, and you’re all set.
Step 4: Set a Time-frame
As with anything, having a deadline to work within will help the tester focus on testing the more important scenarios, and help limit them to the defined scope. And more importantly, deadlines prevent over-testing.
Step 5: Log as you execute
Log test cases and results as you test. The act of recording your actions stimulates your brain to come up with new follow-up test ideas based on the test result, and improves Test-related learning. Logging also creates enough audit and reference for your efforts. This can be helpful when you want to go back and review individual scenarios.
At the end of an Exploratory Test cycle, you should have the following output as reference:
- List of test cases and outcomes – including screen capture or videos of each test case
- A report with key findings and recommendations
Remember, logging can provide a strong foundation for a formal scripted test cycle later on in the project, and help speed up its preparation phase.
When done right, Exploratory Testing provides a much-needed boost to your team’s productivity. Add a burst of Exploratory tests up front in your Testing cycle, and you will see significant benefits:
- Faster discovery of major bugs
- Decreased lead time for beginning testing
- Most importantly, testing normally untested parts of the system, and therefore discovering hidden bugs that can cause a lot of heartburn.
Got comments or opinions? Share them below. Share widely if we helped you in a small way, so others might benefit as well.