Rapid Software Testing
developed by James Bach and Michael Bolton
Rapid Software Testing 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.
- Are you finding it difficult to assess how much time and effort you're going to need to test effectively?
- Are you overwhelmed by or uncertain about approaches to test planning, design and execution?
- Are you working in an environment where some people aren't following "the rules"?
- Are you having trouble finding the right balance between planning, documentation, and testing?
- Are you interested in learning skills and techniques that will help you to become a better tester?
- Are you finding that "industry best practices" are infeasible and a poor fit for your organization?
- Are you struggling to determine the role of testers and testing in an Agile team?
- Are you a developer (or a team of developers) who would like to sharpen your testing skills?
- Would you like to connect—or reconnect—with your passion for learning and discovering problems in order to help defend the value of your organization's products and services?
- Do you want to get very good at software testing?
Rapid Software Testing addresses these issues. We teach you how to do it in public classes (see listings on the right), or in courses and consulting delivered directly to your organization. Contact us for details.
What is Rapid Software Testing?
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, you'll find out how to reframe and articulate those intellectual processes of testing that you already practice intuitively. 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 or programmers who adopt a testing role from time to time during the development process.
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?
The basis of the context-driven approach, to which we subscribe, is to begin by addressing the needs of the project. 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.
Online Coaching in Rapid Software TestingFor the last couple of years, I've been offering a free fourth day of consulting, coaching, hands-on testing, or additional exercises after the three-day Rapid Software Testing class (James Bach, senior author of the class, has been doing this too). The agenda is completely set by the client. It's been very successful and rewarding in terms of contextualizing the material and applying it within the clients' contexts. I'm now set up with GoToMeeting(tm), with which I can run testing exercises and puzzles online in real time, with direct interaction between the student(s) and my own screen. This also means that you can get ongoing training and coaching in Rapid Software Testing from your cubicle at work or from your own desk at home, on a schedule that works for you. Here's some feedback from a recent student:
As a summary, the session was very, very good from my point of view, since I got all of the following: fun, critical thinking, learning something new, collaboration and exchange.
What I liked about the way you set up the exercise was the realistic circumstances like "every tests costs you a bit", "you have a budget, you shouldn't exceed", etc. Most of the time this is not transparent to every tester at work, but it clearly should be.
The funny surprises you incorporated into your system under tests made the experience quite worthwhile, while I have to say that they are realistic. Too often I have seen such struggles appear in day-to-day work. What I learned and need to remind myself is to ask question more often. You made me aware of this and I know that I behave different at work compared to our session yesterday.
Contact me for more information about online coaching and consulting.
What People Are Saying About Rapid Software Testing
Many thanks to my clients who are willing to share their experiences. For understandable reasons, some of them have asked that I use discretion in identifying them.
"I attended the Rapid Software Testing course with Michael Bolton some time ago (July 2010), in Amsterdam, NL. And attending doesn't mean 'sit back, shut up and listen'. There are challenges, puzzles and a lot—a lot—of interaction. Those three days passed by in a second; not a single dull moment. But most importantly, to this date it has had a profound impact on how I relate and look at the art and craft of testing! Oh.. and the lifetime support is fantastic."
"The Rapid Software Testing course that I attended in June definitely surpassed my expectations. As an experienced tester I was becoming rather disillusioned of the so called "Tried and True" methods of software testing and was really looking for something that resembled, well, reality. So now, instead of spending my time writing test cases, writing reports that no one reads and chasing down Product Specs and Feature Specs I test. What an amazing concept—have the tester do testing!
It has freed up an enormous amount of time and, therefore, the testing is far more productive. Potential "show stoppers" are being found earlier on in the test schedule and test coverage has also improved greatly. More time is spent on important matters and less time trying to hit a number target (i.e. 90% testing complete, 95% pass rate, etc.)
The focus has returned to the task at hand (testing) and there is less focus on reporting (counting). That also allows for the tester to move into a more co-development role to assist with the implementation of new features and functionality. I'm happy, the Devs are happy, the customer is happy and the boss is happy—Thanks Michael!"
Blair Burke, B.Sc., Software Tester, Print Audit, Inc.
"Recently I finished a three day training course on Rapid Software Testing with Michael Bolton in London UK. This course was very effective and had elements related to learning, questioning and thinking all along. It reinforced my belief that testing is not a 'phase' performed towards the end or a '100% automated suite' as claimed by many Agile shops. Software testing is much more than that and it is extremely important for the successful delivery of any project... Overall this training and all the discussions we had during the course was an amazing experience. I would highly recommend this training to anyone interested in learning rapid software testing." More...
Anand Ramdeo, London, UK
"You'll be happy to know that my team has been actively meeting to implement changes for improvement, especially with the dashboard concept and that many of my folks are more engaged with their assignments because of their new outlook on the value they can add."
Leslie Berth, Milwaukee, WI
"Last week I took Rapid Software Testing from Michael Bolton. The three days of stuffing my brain in the beautiful downtown campus of the University of Toronto was loads of fun...If you don't go to play each day, or you don't think you can break the rules, or you simply want to become a better tester, give Rapid Software Testing a try. I think you will find, as I did, that it is three days well spent!"
Michael Hunter (The Braidy Tester), Microsoft , "This is your Brain on RST"
"I thoroughly enjoyed your class on Rapid Software Testing. The more time I have to think about the class the more I find value in it. It has really changed my approach and ideologies around testing. The only thing left now is to get everyone in my office on the same page... Before I thought testing was just a stepping stone to move into development but now that I have more of an appreciation for testers, I think I'm going to stick with it and try to get others to realize how important testers are to software development."
James Swanson, Minneapolis, MN
"We are already starting to put into practice what you taught us—here is a mini case study. Four of the group sat down last Friday and tested another product. Dan (name changed for confidentiality --MB) guided and made suggestions. None of the 4 knew the product under test. The product test lead spent half the day being a live oracle. Results: Another 50 defects. Several were crashes (buffer overrun—thanks Perlclip!). Many UI and usability defects. By the afternoon the team was starting to find more specific defects in what the product should do, but wasn't doing. However, by this time they were getting very baked. This sort of testing is really hard work! However, the product lead was amazed by what was found, and the defects found per hour invested was—once again—orders of magnitude more effective than the testing that was currently going on with the product. We are going to cycle this much more frequently, and the same four are going to dig deeper on the same product later this week as well."
A test manager at a commercial utility software company, somewhere in Canada
"The training was a great exposure to a lot of different concepts and methods of attacking problems, and the rapid testing strategy looks to be very useful. On Thursday a support issue came into the group that fell in one of my feature areas, so I replied. I did a little work before lunch, and while out at lunch I thought that this would be a time to try some of the rapid testing methods. Took about 10 minutes, noted steps and thoughts as I was going, and arrived at a cause and possible solution much quicker than I would have in the past."
A recent student
"I've known Michael for over 10 years, from his days at Quarterdeck forward. I've designed courseware with him, written documents with him, designed tests, worked through management issues and technical issues, done difficult ethical analyses with him--I would trust Michael with my Social Security Number and my mother's maiden name. And if I was too sick to meet a consulting or teaching obligation, I would feel confident that if Michael agreed to go in my place, he'd handle it so well that the client would be happy they hired me (and got him)."
"I met Michael in person for the first time at the EuroStar conference 2007. Before that I have been in contact with him through continuously emails e.g. asking him for advice or guidance in tricky test situations. At EuroStar I asked him if it would be possible to have him perform the RST course for our test team at our site, UIQ Technology in Ronneby, Sweden. Michael was visiting us in April this year (2008) and his visit was definitely a success if you ask me and our test team. Michael is one of the best lecturers I ever met. He's knowledgeable, funny, witty and very interesting. Whether you need a great test strategist, someone to teach you everything there is to know about the different sides about testing, a great test oracle or just a friend I will always recommend Michael. I also highly recommend Michael if your company is ready to take it to the next level and e.g. raise visibility of the required need for a balance between scripted tests and the exploratory testing approach."
Petter Mattsson, Ronneby, Sweden
"Michael is a born teacher. He is a very engaging and an effective speaker who knows his topic inside and out—a rare combination!"
QA Manager, Boulder, CO
"This course was highly informative and Michael was excellent in providing examples from real life."
Quality Assurance Analyst, Nashville TN
"Michael is an exceptional teacher with extreme knowledge and commitment to this topic."
Network Specialist, Toronto, ON