To promote an approach to software testing that emphasizes value and the role that skilled testers play in its delivery.
- Advocate for the adoption of the principles of context driven testing
- Encourage and support the development of testing skills, and of an international community of skilled testers
- Oppose practices that are wasteful or that seek to dehumanize testing
Context-Driven Testing? Context-driven testing is about common sense. Every piece of software is unique, and testing needs vary dramatically from project to project. The context-driven tester recognizes this, and, rather than simply applying a ready made Test Methodology(TM), seeks to understand the testing problems that they are attempting to solve. We believe that testers should apply testing practices that are responsive to the needs of the project.
Value? Waste? Testing generates information about software. But is it the right information? For this project? For this phase of the project? A tester who provides the wrong kinds of information at the wrong time is not providing value. Further, many traditional testing practices promote the production of large bodies of documentation. This takes time to produce: time not spent discovering new information about the software. Unless there is a countervailing value accrued from such activities, then they are wasteful. We believe that the specific information needs of projects vary, and that the practices applied on any given project should be designed to maximize value and minimize waste.
Dehumanizing testers? Regrettably, many people see testing as a simple clerical activity. Others believe that testing is a problem that should be delegated entirely to machines, in the form of test automation. You know the drill: read a spec, write a script, maybe automate the script, check the software against the script, report the results. This is not the reality of testing, which is a process of learning and discovery. Testing requires thought: something that is sorely lacking in either scripts or tools. This is not to say that tooling is necessarily bad, just that we should put the brain work first.
Skill? Community? Brain work. Understanding what a project needs, and making active decisions about testing practices. Testing is a complex set of problems that cannot be solved by the rote application of any single methodology, process or tool. Skill is required. We believe that the testing needs of projects are best served by skilled testers, and that developing communities is a powerful means of developing such skills.