This chapter explains the concepts of exploratory testing and session-based testing.
About exploratory testing
Exploratory testing is about learning the product, designing and executing tests, and interpreting the test results, all at the same time. It is a plan-as-you-test approach.
In contrast to formal testing (e.g. manual testing), where the purpose is to monitor known risks, the purpose of exploratory testing is to analyze potential risks. This means that exploratory testing starts with a focus on the things you do not know, and the illusions you are holding true without any empirical evidence. The ultimate goal is to explore the unknown to avoid the unexpected happening.
In exploratory testing, your next test is always influenced by the result of the last test you did. This implies that you become more exploratory the more you can’t tell what test should be run in advance of the test cycle. Finally, exploratory testing is not so much a thing you do, it is much more a way you think.
About session-based testing
Session-based testing (aka session-based test management) is a framework allowing the idea of exploratory testing to unfold in a structured fashion. It makes exploratory testing applicable to large-scale implementations, e.g. when multiple agile teams are involved in your development process.
As a result of its structured character, session-based testing is the ideal technique to support exploratory testing. This can be attributed to its core object: the session. A session identifies a starting point for exploratory testing. Session-based testing provides flexibility and freedom for the tester to choose what and how to test, while providing structure to guide the testers in their exploration. For that reason, session-based testing is accessible to skilled and unskilled testers. All this is achieved with the session charter which represents the goals and agenda of a session. Session-based testing is a really powerful approach, if properly understood and used.
The session owner is responsible for setting up Exploratory Sessions in Tosca Commander and allocating exploratory testers to these sessions. The session owner may also assign tasks to the testers (see also chapters "Create session" and "Add testers").
Upon exploratory testing, exploratory testers create scenarios, where they make use of videos, screenshots and steps (TestSteps) to document both the scenarios and any found errors in the test object. Existing TestCases can also be used as a template for scenarios (see chapter "Record scenario").
Testers are able to run their tests either in Tosca Commander or in stand-alone mode via the Exploratory Testing Agent (see chapter "Perform standalone testing").
The results of the session and the exploratory tests are collected in Tosca Commander. Manual TestCases can then be created out of the scenarios that the testers created earlier (see chapter "Generate manual test case").