Rapid Software Testing (RST) is a course, a mind-set, and a skill set about how to do excellent software testing in a way that is very fast, inexpensive, credible, and accountable:
What is Rapid Software Testing?
Managers, developers, and the other clients of testing want timely and credible answers to this question: are there problems in the product or the project that threaten the on-time, successful completion of the task at hand? Rapid Software Testing is designed to answer that question.
Rapid Software Testing (RST) is a mind-set and a skill-set focused on performing testing more quickly and less expensively while still completely fulfilling the mission of testing. RST is a complete testing methodology, designed for a world of barely sufficient resources, information, and time. It's an approach to testing that begins with developing personal skills and extends to the ultimate purpose of software testing: lighting the way of the project by evaluating the product.
The RST approach is consistent with and a follow-on to many of the concepts and principles introduced in the book Lessons Learned in Software Testing: a Context-Driven Approach by Kaner, Bach, and Pettichord. RST isn't just testing with a speed or sense of urgency; it's mission-focused testing that eliminates unnecessary work, assures that everything necessary gets done, and constantly asks what testing can do to help speed the project as a whole, no matter what the development model is.
According to the premises of RST, software development is not only technical but also a highly social activity, performed by fallible humans under conditions of uncertainty and ever-increasing time pressure. Consequently, RST presents testing as an exploratory performance, combining test design, execution, learning, and reporting into a simultaneous, seamless process designed to find important problems quickly.
How Is This Course Different?
The Rapid Software Testing course is an intensive three-day, hands-on class, in which you spend much of the time actually testing, working on exercises, puzzles, thought experiments, and scenarios—some computer-based, some not. The goal of the course is to teach you how to test anything expertly, under extreme time pressure and conditions of uncertainty, in a way that will stand up to scrutiny.
The philosophy presented in this class is not like traditional approaches to testing, which ignore the thinking part of testing and instead focus on narrow definitions for testing terms while advocating never-ending paperwork. Products have become too complex for that, time is too short, and testers are too expensive. RST uses fast feedback and heuristic approaches to re-optimize testing constantly and to fit the needs of its clients.
For private classes, we also offer an optional, free fourth day whose agenda is set by the client. The fourth day can be used for consulting, coaching, conversations with managers or developers, or hands-on testing; whatever you like.
What Will We Learn?
If you are an experienced tester or developer, you'll find out how to reframe and articulate those intellectual processes of testing that you already practice intuitively. You'll discover how to describe your test coverage, and how to report problems and progress effectively without resorting to unhelpful and misleading metrics. If you're a new tester, hands-on testing exercises will help you gain critical experience.
What If We're an Agile Team?
RST is designed to respond appropriately to any project's context and development model. Although RST is not branded as a big-A Agile methodology, we strongly agree with the premises and principles of Agile development. RST is intended to help people in any testing role—people called testers; programmers; operations people; or supporting testers who adopt a testing role from time to time during the development process. Read more about Rapid Software Testing in Agile contexts here.
What If We Outsource?
We have taught this class all over the world to offshore and outsource organizations on behalf of clients who want their testers to do a better job of testing, right away, without needing detailed test procedures. The Rapid Software Testing methodology is about getting a lot of value for the testing dollar—value that simply can't be reproduced by throwing untrained bodies or unthinking automation at the problem—so that your top management won't see testing as a rote activity that any stranger can do as well as you can. If you do outsource, you will need a core team of testers back at headquarters who can rapidly test products to check the "testing" done by outsource firms.
What If We Work In A Regulated Environment?
A context-driven approach to testing begins by addressing the needs of the project and the factors that would make a difference to testing. Rapid Software Testing is entirely compatible with that. We have taught this class to organizations pursuing the CMMi, and in organizations subject to FDA and other regulatory requirements. Rapid Software Testing is about testing, so as long as the project owners still want you to think well and find important problems quickly, this is a class that applies to you. But Rapid Software Testing is also reporting your work quickly and credibly. We don't advocate eliminating documentation entirely unless it's wasteful and irrelevant. Yet we do advocate a lean form of test documentation, trimming it to the greatest extent you can while still fulfilling your project's mission.