In a fine dining restaurant, you are presented with a lot of silverware. Any fork on the table will get the job done, but for various reasons, each is more appropriate for one occasion than another. Software testing is somewhat similar in this respect. In an article for TechBeacon, Matthew Heusser examines four different testing techniques and how they stack up:
- Context-driven testing
- Exploratory testing
- Session-based exploratory testing
- Scenario-based testing
According to Heusser, context-driven testing originated in 1999, and it operates under the idea that the value of practices is dependent upon the context in which people are working. In turn, it emphasizes the importance of human awareness and skill development over following steadfast practices. Context-driven testing does not try to dictate how precisely testing gets done.
Exploratory testing builds on this idea. Heusser explains exploratory testing as espousing the idea that the most efficient testing will occur when the tester is just allowed to explore the software and get a feel for it. Exploratory testing invokes many tactics to root out defects: quick attacks, happy path, “dive in and quit,” and focusing and defocusing, among others. However, when there is too much software to comfortably explore in depth, that is where session-based testing and scenario-based testing come in.
A session is a defined, uninterrupted chunk of testing time with a mission/scope outlined in a charter. Heusser provides this example:
“Explore the front-end application while bringing down the database, web services, and third-party connections to discover how the web application behaves when dependencies are down.”
The process of creating charters is iterative. In a 30-to-60-minute session (called a “timebox”), testers will probably have notes on areas they would like to explore if they had more time, or ideas that were out of scope. Those will likely become new charters. It’s also likely that the charters will have a relationship to stories or requirements, providing traceability. Some charters will address cross-cutting concerns—issues that only exist because of the interaction of multiple requirements.
Scenario-based testing comes from a different angle. Scenarios in this case are simply the common workflows likely to be used by employees, and testing is done to ensure progress occurs smoothly along these paths and their various minor deviations.
So how deeply into exploratory testing should you go from one project to the next? It depends on the size of the software, the speed at which testing is required, and the risk appetite. In other words, it depends on the context. Use your intuition.
For further explanation, you can view the original article here: https://techbeacon.com/choose-right-approach-4-competing-testing-techniques-compared