Exploratory testing, also known as ad-hoc testing, allows the tester to simultaneously learn the application and verify its correct functioning. This type of tests is the opposite of scenario tests. It is worth using this test method if the project lacks complete information about the app, such as a detailed specification. I personally don’t know a tester who doesn’t use this method, even if unconsciously.
Possibilities for an exploratory test method:.
- Connecting multiple sources of information such as documentation, mock-ups, etc.
- Checklists and thought maps – an alternative to test case writing that takes much less time in the Agile approach. It’s good for the testers to prepare checklists starting with verification of the most important elements from the user’s point of view. Checklists help you avoid missing important places in the application.
In older software development methodologies, the test process begins with a full knowledge of the project documentation, first visualizations of the product and then planning the test process.
The testing process starts with the design of test cases for the entire application.
In the case of Agile, the work on the product takes place in short iterations, where in each sprint, the team focuses on delivering a working functionality to the client at the end of a given iteration. You find new things about the software you develop also often during product development. Therefore, you don’t have a chance (or time) to create the whole package of test cases allowing to verify the application’s compliance with the assumptions. It would be very irresponsible to verify the whole implemented product only at the end of the project. This idea would involve providing the client with a part of the project that is not fully operational, you also wouldn’t have enough time to correct the errors, which would only come up a short time before the final product is delivered to the client.
During each iteration, the tester gains more information about the application, which increases the chance of finding all bottlenecks that may be a risk. Sometimes, during a longer exploratory test session, it turns out that it is problematic to inform the programmers on the steps necessary to recreate an error. A good solution in this methodology is to record tests. With it, determining the steps to trigger an error will not be a major problem.
The ability to perform exploratory tests is an indispensable skill of testers in every team. During exploratory testing, new test scenarios are often created due to the stimulation of the tester’s mental process and the evolving creativity. The tester’s vision expands with the number of cases performed. The uncovered scenarios in a given test session can be written down and used in future test iterations. The quality of the exploratory tests carried out depends to a large extent on the tester’s experience, as they often perform intuitive cases and find defects effectively. Well conducted exploratory tests allow you to find errors which would not be found when testing with other techniques.