Testing lights the way…
If you’re developing any kind of technological product or service, you want it to be of high value, and you want to deliver it at low cost — quickly, inexpensively, and reliably.
As you’re building the product, you want to know about its status. In particular, you want to be aware of problems that could threaten the on-time, successful completion of the work.
Nobody wants problems, of course. But if there are important problems in your product, you want to be alert to them so that you can make informed decisions about them.
…but testing sometimes has problems of its own.
Thanks to unhelpful but distressingly common ideas, testing sometimes becomes misaligned with business and product goals. For instance:
- Testing gets confused with fixing.
- Testing gets reduced to simple output checks that don’t reveal problems that matter to you and your clients.
- Testing that needs to be quick and responsive becomes ponderous, bogged down by misguided or inefficient process models, bureaucracy, and paperwork.
- Tools and tool vendors promise miracles, but don’t deliver, leaving only costly time sinks and maintenance nightmares.
- Worst of all, testing doesn’t reveal the actual status of the product, and doesn’t keep you informed.
The good news is that these problems are solvable.
Excellent testing begins and ends with skilled people.
Testing is much more than checking output from the product to confirm things that we know or hope to be true. To test is to evaluate a product by learning about it through experiencing, exploring, and experimenting. Excellent testing is a process of investigation, risk analysis, critical thinking, and first-rate reporting.
People who do testing skillfully investigate the product and communicate product and business risk. While managers and developers consider risk, testers are the only people on the development team who are focused on it. If your team doesn’t have someone in a job called “tester”, people will need take on the testing role from time to time. No matter who is doing the testing work, you need people with testing skill.
The approach that I use and teach is called Rapid Software Testing (RST). Co-authored with James Bach, RST is a mindset and a skill set designed to help people to learn quickly under conditions of uncertainty and time pressure. The goal is to perform the fastest, least expensive testing that still completely fulfills the mission: finding problems that matter before it’s too late.
Rapid Software Testing Courses
Rapid Software Testing Applied is RST in practice. We choose and focus on a single product. Students survey it, analyze it, perform tests and report bugs through an RST lens, learning through critiquing and refining techniques and approaches.
Excellent testing benefits from expert management. RST encourages substantial freedom and responsibility for the tester. This class focuses on the skills that will help you to be a better manager of independent, helpful, and responsible testers.
RST Focused: Risk
Risk-based testing is a powerful way to focus testing and to justify the time and energy it takes to test deeply.
“I was really struggling with a presentation that I needed to deliver to the business on testing as a whole. I reached out to Michael directly on the off chance that he may have a few spare moments to point me to an article or pass along a few words of wisdom. He went above and beyond in helping me out. He not only reached out via Slack but he offered to chat with me one-on-one the next day. We spent two hours chatting about testing and the QA moniker (I now refer to QA as Quality Awareness!). He gave me wonderful advice on how to articulate that there is no manual and automated testing: there is testing and there are tools to help you support that testing. You can’t help leaving a chat with Michael feeling energized and ready to bring change as his passion for the testing community is palpable. I am happy to report that my presentation went really well and we are already starting to see changes resulting from it!”—Jennie Neusch