Testing-Essentials ▪ Think Like a Tester ▪ Test Strategy ▪ Test Tooling, Automation ▪ Test Analysis and -Design ▪ Performing Tests and Reporting ▪ Appendix
A firm creates a sustainable competitive advantage over its rivals by “deliberately choosing a different set of activities to deliver unique value.”
Strategy therefore requires making explicit choices - to do some things and not others - and building a business around those choices. – Lafley, Martin.
Martin identifies the following elements of a strategy:
A test strategy covers the same bases, from the perspective of a testing effort. The test strategy is the set of ideas that guide your test design, and the foundation upon which you can plan, deliver and assess the success of your test project.
Your ability to make appropriate choices about your testing activities depends on this part of the test process.
No two organisations or projects are identical, so no one test strategy is an ideal fit for every situation.
Test strategies come in different shapes and sizes, addressing testing at scales ranging from the work of a single tester to testing in an entire organisation. The latter may be a large formal document, upon which formal test plan documents for each new testing project are based. These documents may be drawn up at considerable expense, only to soon be out of sync with the realities of testing in the ongoing projects.
Strategy is an iterative process in which all of the moving parts influence one another and must be taken into account together. – Lafley, Martin.
The best test strategy is one that contains actionable and context-relevant information that helps you achieve your testing mission.
A test strategy at the project or organisational level will be too unwieldy and generic for individual testers preparing an iteration. It’s created for a different context. However, when you’re developing a strategy for the next iteration, it’s advisable to use high-level test strategies as a guideline.
Although your organisation-level test strategy may be a lengthy formal document, your team’s test strategy need not be. Light-weight documentation has the benefit of being easy to understand, and thus especially useful for communicating ideas. D-Day was a massive endeavour by any standards, but General Montgomery captured the strategy on this 1-pager.
We will focus on developing a test strategy for the resources you can control the most - your own work and time, applying patterns from James Bach’s Heuristic Test Strategy Model (HTSM).
The Heuristic Test Strategy Model is a set of patterns for designing and choosing tests to perform. The immediate purpose of this model is to remind testers of what to think about during that process – James Bach
A test strategy developed with the HTSM may cover all of the bases in the strategy model described in Lafley and Martin’s Playing to Win:
The strategy is grounded in a defined purpose, centered on customers. The winning aspiration sets the frame for the rest of the strategy.
The next element of strategy is defining a “playing field” on which the aspiration can be delivered.
Just as entrepreneurs know that no company can be all things to all people and still win, all testers know that complete testing isn’t realistic. You can’t test everything, so you figure out which where-to-play choices will best enable you to fulfill your testing mission, given the project circumstances.
Where-to-play and how-to-win choices must be considered together, because no how-to-win is perfect, or even appropriate, for all where-to-play choices.
Given the choices made above, the various activities needed to fulfill the mission can be identified.
The Capabilities topic is addressed in various nodes of the Project Environment branch of the heuristic test strategy model.
Given the choices made above, the management systems would include infrastructure or support needed to carry out the activities (1), as well as any systems needed to evaluate the effectiveness of the strategy (2).
Furthermore, we want to gather information about the testing process to identify potential for optimization.
The following examples from the context-driven testing community are very specific to the way one person works / to a particular project environment. These testers would likely have started with ideas from the heuristic test strategy model and changed the headers and structure, added bits and left lots out.