Exploratory testing is an unscripted QA testing technique used to discover unknown issues during and after the software development process. In addition to being used to discover new bugs, exploratory testing is also understood as a way to learn about the application and design functional and regression test cases to be executed in the future.
Exploratory tests must be run manually today; without intelligence to undertand an application it's not possible. Strong AI may change this in the future. Exploratory testing may be entirely open ended, requiring the tester to determine how and what to test on their own. This ad hoc testing is sometimes called freestyle exploratory testing. More prescriptive subsets of exploratory testing include strategy-based exploratory testing and scenario-based exploratory testing, both of which require testers to focus on specific areas or user flows within the application.
Exploratory testers must be able to think like the application’s users and anticipate how they will behave. When running exploratory tests in-house, experienced QA testers or developers are generally required for exploratory testing.
In the development cycle of an individual feature or application, exploratory testing is generally executed when a feature or application is nearing completion, so that testers can gain a more accurate view of how the application will work in production. For some fast-moving teams, exploratory testing is used earlier in development to check for new issues and regressions after every new piece of code is shipped - for example, when using exploratory testing in agile development.
Exploratory testing is a critical step in determining the overall quality of an application because it serves to surface unexpected or unknown bugs. Exploratory testing is often used as a form of usability testing, because the freeform and creative nature of the test runs more closely replicate the user experience for certain activities.
A major benefit of exploratory testing is that it requires minimal prep work for testers - allowing them to quickly dive deep into a feature and assess its quality, providing your team with rapid feedback on how to fix any issues before giving it to customers.
While exploratory testing is an excellent way of uncovering previously unknown bugs and issues, there are some drawbacks to relying on exploratory testing too heavily. Because test execution is not planned or scripted, it can be challenging to anticipate how long exploratory testing will take, or what results it will yield. For teams with limited QA or development resources, classic exploratory testing can represent a significant time investment.
Additionally, because exploratory tests are by their nature ad hoc, any bugs they find can traditionally be challenging to replicate and assess. Good exploratory testers can combat this ambiguity by carefully documenting not just bugs, but also all of the steps they have performed, step-by-step. Exploratory testing is often supplemented with tools such as screen capture and video recording, which can be useful in documenting exploratory tests as they're performed.
Rainforest offers a unique crowdsourced approach to exploratory testing that allows teams to better document their exploratory test runs and integrate its results into their larger QA testing strategy. Experienced Rainforest testers execute tests against staging or production environments, then return detailed bug reports and test execution videos within 24 hours. Because these tests are executed within the Rainforest platform, writing regression tests and integrating them into the larger test suite can be done quickly and easily.
To try Rainforest Exploratory Testing, start a free trial today and request access via intercom.