Why do we test?
We test to develop a comprehensive understanding of the product and the risks around it. We test to find problems that threaten the value of the product, or that threaten the on-time, successful completion of any kind of development work. We test to help the business, managers, and developers decide whether the product they’ve got is the product they want.
Above all, we test because it is the responsible thing to do.
We have a duty of care toward our teams, our organizations, our customers, and society itself. Releasing poorly tested software would be a breach of that duty.
We work from the premise that software development and testing are human, social, intellectual pursuits.
Developers and designers focus on building products and services to make people’s troubles go away.
Testing’s purpose is to reveal trouble that may remain—or that may have been introduced along the way—and that could threaten the value of the product or service, and the value of the business.
Rapid Software Testing (RST) — the approach we use—is all about fulfilling that purpose. It is a responsible approach to software testing, centered around people who do testing and people who need it done. RST is a methodology (in the sense of “a system of methods”) that embraces tools (of which “automation” is only one kind). While tools are essential, in RST tools aren’t at the centre of testing.
RST is a human-centred approach, focusing on the mindset and the skill set of skilled technical people. Co-authored by James Bach and Michael Bolton, RST is designed to help people to learn quickly under conditions of uncertainty. In practice, RST is targeted towards performing the fastest, least expensive work that completely fulfills testing’s most important mission: finding problems that matter before it’s too late.
In RST classes, testers develop skill in evaluating the product by learning about it through exploration and experimentation—and then editing, narrating, and justifying the testing story. Testers learn to describe the status of the product, the state and progress of the testing work. We teach heuristics, models, critical thinking, and ways of using tools to make testing faster, easier, and more effective.