Rapid Software Testing, developed by James Bach and me, seeks to be the fastest, least expensive testing that fulfills the mission. It can be implemented across an organization, but at its heart, RST is a personal discipline. As such, you don’t need anyone’s permission to do it. But it doesn’t happen by accident, or just by having a lot of experience. You have to work at it.
1. Learn about RST.
The most direct way to learn about RST is to attend one of our classes, or to contact me or James for consulting work. (This is how we make our living.)
You don’t need to attend a class or contact us to get started, though. There are plenty of places to find information about RST. Start here.
You can also look at my articles, blog posts, and resources. James’ web site also contains a wealth of other resources, reference documents, and bibliographies.
RST is also based on and related to Lessons Learned in Software Testing: A Context-Driven Approach, by Cem Kaner, James Bach, and Bret Pettichord as well as the self-education and independent thinking approach to life depicted in James’ book, Secrets of a Buccaneer-Scholar.
Do you prefer videos? There are plenty of those on YouTube that you can find on your own. For starters, try my Ridiculously Rapid Introduction to Rapid Software Testing, or James’ quicker introduction, or my even quicker introduction to the Heuristic Test Strategy Model.
2. Observe your own testing.
Rapid Software Testing recognizes that most skill and knowledge is not explicit, but rather tacit. That means much of what you do and know about testing is not and will never be expressed in words. Testers do many clever and important things when they test, for which they may get little credit, even from themselves.
Therefore, an important part of developing testing craftsmanship is to practice observing testing processes as they actually play out. This begins with you. By becoming more aware of your own processes, and by attempting to describe and explain them, even to yourself, you will be better able to understand and appreciate the various heuristics and models that comprise RST.
For example, if you’ve ever designed a test, then you must have had a way of doing that. Can you say what that method is, in detail? Most testers struggle to say anything specific. There are several reference documents within RST that describe test design, but even if you read them, will you understand them? We think you will, when you relate them to your own practice.
We call a close examination of a test session a “testopsy.” Here is an example of a public testopsy.
3. Apply the RST mindset and heuristics
We say RST is a mindset and a skill set. It is not a set of rote procedures or forms to be filled out.
The mindset is a way of thinking about testing. We define testing in a certain way. We organize and prioritize the important concepts of testing as we see them. We describe and explain the importance of “thinking like a tester.”
We also offer a great many heuristics for testing. Heuristics are simply fallible means for solving a problem. They can be concepts, rules, structures, tools– anything, really. What characterizes a heuristic is that it is both helpful for solving some problem, yet not guaranteed to solve it. That means heuristics, like any tool of carpentry, say, must be applied with skill and judgment. Heuristics are applied, not followed. The practitioner is in charge.
The most important and representative of all the RST heuristics is the Heuristic Test Strategy Model, which is a set of guideword heuristics intended to help you design a test strategy.
4. Deliberately practice testing skills.
A skill is the cognitive ability to do something. There are explicit and tacit aspects to skill. You can develop the explicit aspects of skill through reading or conversation, but the tacit aspects of skill are developed through practice and experience.
There are innumerable families of skills that support testing, including risk analysis, modeling, research, design of experiments, managing focus, critical thinking, programming… Developing any of these skills will put you in a position to find problems and bugs that threaten the value of the product. Just as for professional athletes, deliberate practice focused on a particular activity can help sharpen the skills you have. Professional athletes also learn from every competition, and carry that learning forward to the next one. Engaged testers learn from every real-life testing assignment.
Many people think that it is important to always “do your best” at work. It may surprise you that we disagree. If you always do your best, then you will be afraid to try any new method. Instead, gently insist on having the flexibility and space to try new things. Remind your co-workers and management that all excellent technical people get that way by pushing beyond their performance envelope.
In addition to practicing testing itself, practice telling the testing story. Make testing explicit. Put into words a story about the status of the product, the testing process, and the obstacles to doing faster, less expensive, more valuable testing.
5. Re–invent RST.
To adopt RST means also to adapt it. Unless you own your methodology, you will be unable to answer for it. We want you to be a fully responsible practitioner. We, the creators of RST, never want you to say “I am doing this only because Michael and James say so.” After all, neither I nor James, does anything in testing just because the other guy says so. Each of the RST instructors teach the RST classes and practice RST in his own way. So should you.