First things first, exploratory testing isn’t an approach which is only in use by startup companies, rather it should be done in every project in combination with scripted testing, which will bring you the best outcome. Most companies start naturally with this testing method and with more maturity move to a more systematic testing method. Exploratory testing is important and has its place, but exploratory testing alone is not enough to ensure good software quality, especially for longer projects with many iterations.
To add to your explorative testing method a systemized approach you can follow these steps:
1. Specify, Specify and Specify
The human mind is an impressive feat of nature’s evolution, but we should not only rely on the tester’s opinion or intuition. This means we must clearly specify the expected behavior of the software. There are different techniques and forms how the requirements for your product can be documented. Depending on your projects and stakeholder needs you should choose the form that gives you the best results with the least work overhead.
2. Test Case Management
When starting to write scripted test cases you will find yourself quickly in a situation where you have a bunch of documents with different versions, updates to test cases being made by several people and developers asking about specific versions of test cases to reproduce a bug. Only with a solid test case management tool can you bring order in this chaos.
A good Test Case Management should also have to ability to plan upcoming test executions and it should be easy to produce clear reports with the most important information, such as pass/fail, executed tests, issues found as well as SUT configuration and version.
3. Design good test scenarios
Before even starting to think about test scenarios, make sure that you have a clear idea what you want to achieve with a certain test case. A test case should not be too long and don’t have dependencies on many different areas of your software. Therefore, it often makes sense to have multiple test cases that cover a single requirement.
After the goal of a test case is clear you need to think about how you can test the desired behavior. Again, there are many possibilities how you can develop your test scenarios, but one possibility that offers itself if you have already experience with exploratory testing, is to record (e.g. with a screen capture tool) a test session while focusing on the goal of the test case. From the recording you can then derive the necessary steps and simplify or extend where necessary.