Do you want to learn how to do excellent testing, effectively and accountably, in situations in which you are faced with barely sufficient information and extreme time pressure? Do you want to get very good at software testing? If so, then Rapid Software Testing—a methodology and a course designed by James Bach and Michael Bolton—is for you.
Past Event
Background
Excellent software testing might seem hard. Maybe you’re overwhelmed by or uncertain about approaches to test plan-ning, design and execution. Maybe you’re working in an environment where some people aren’t following “the rules”, or in a culture where “the rules” are overwhelming the time and resources that you have to test. It might be that you’re hav-ing difficulty answering questions like “How long will you need to test?” or “Why didn’t you find that bug?” Perhaps you’re finding that “industry best practices” are infeasible and a poor fit for your organization, or that books, courses, and certification schemes related to testing focus on nomenclature without giving you the exercises, experiences, and thinking tools to help you learn to test.
Do you want to learn how to do excellent testing, effectively and accountably, in situations in which you are faced with barely sufficient information and extreme time pressure? Do you want to get very good at software testing? If so, then Rapid Software Testing—a methodology and a course designed by James Bach and Michael Bolton—is for you.
About the Course
Rapid testing is a complete methodology designed for today’s testing, in which we’re dealing with complex products, constant change, and turbulent schedules. It's an approach to testing that begins with developing personal skills and ex-tends to the ultimate mission of software testing: lighting the way of the project by evaluating the product. The approach is consistent with and a follow-on to many of the concepts and principles introduced in the book Lessons Learned in Soft-ware Testing: a Context-Driven Approach by Kaner, Bach, and Pettichord. The rapid approach isn't just testing with a speed or sense of urgency; it's mission-focused testing that eliminates unnecessary work, assures that important questions get asked and necessary work gets done, and constantly asks what testing can do to help speed the project as a whole.
One important tool of rapid testing is the discipline of exploratory testing—essentially a testing martial art. Exploratory testing combines test design, test execution, test result interpretation, and learning into a simultaneous, seamless process that reveals important information about the product finds a lot of problems quickly.
If you are burdened with clerical requirements
We have taught this class in organizations pursuing the CMMI, and in organizations subject to FDA and other regulatory requirements. Rapid testing is about thinking, so it’s not incompatible with formal process cultures. 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. However, we do advocate a lean form of test documentation, minimized to the extent you can possibly trim it while still completely satisfying the client and accomplishing the mission. We also teach session-based test management, which allows you to measure, report upon, and document exploratory testing in a way that is entirely accountable and auditable.
If you outsource development or testing
We have taught this class all over the world to offshore and outsource organizations on behalf of clients who want their testers to improve their skills and do a better job of testing, without the expense and weak coverage associated with de-tailed, scripted test procedures. The rapid testing methodology is about getting value for the testing dollar—value that simply can't be reproduced by throwing untrained bodies at the problem—so that your top management won't see testing as a rote activity that some stranger could do as well as you can. Even if you outsource, you will need a core team of test-ers back at headquarters who can rapidly test products to check the “testing” done by outsource firms.
About The Instructor
Michael Bolton has over 15 years of experience in the computer industry testing, developing, managing, and writing about software.
He is the founder of DevelopSense, a Toronto-based consultancy established in 1998 to provide services in program management, testing, configuration management, and professional and personal coaching. He was with Quarterdeck Cor-poration for eight years, during which he delivered the company’s flagship products and directed project teams both in-house and around the world.
Canadians still remember his educational, informative, and entertaining presentations at trade shows and seminars across the country.
Michael has delivered workshops, tutorials, and conference presentations on Rapid Software Testing and other aspects of testing methodology on five continents (and one subcontinent!). He has been writing a regular column in Better Software Magazine (formerly Software Testing and Quality Engineering) since 2005. He was an invited participant at the 2003, 2005, 2006, and 2007 Workshops on Teaching Software Testing in Melbourne, Florida (hosted by Cem Kaner and James Bach). He is a founding member (with Fiona Charles) of the annual Toronto Workshops on Software Testing. He is a member of Gerald M. Weinberg’s
SHAPE Forum. He is also the Program Chair for TASSQ, the Toronto Association of System and Software Quality.
Course Outline
In this course, you will learn:
How to focus on the mission and hit the ground running, tackling the testing of any product or product idea instantly
How to analyze, select, and use concise and effective heuristics, models, and practices for rapid test design
How to test expertly despite ambiguous, missing, or constantly changing specifications
How to decide when to start, suspend, or stop testing—or how to continue while steering in a different direction
How to prepare and deliver credible test reports at any time
Key Ideas
The Themes of Rapid Testing
Put the tester's mind at the center of testing.
Learn to deal with complexity and ambiguity.
Develop testing skills through practice, not just talk.
Use heuristics to guide and structure your process.
Be a service to the project community, not an obstacle.
Consider cost vs. value in all your testing activity.
Diversify your team and your tactics.
Dynamically manage the focus of your work.
Your context drives your choices; both evolve over time.
Rapid Testing Starts With You
Identifying your context
Testing under time pressure
Excellent rapid technical work begins with you…
…but you don’t have to be good at everything
Skills vs. alternatives
Scientific Thinking
How do we know what we know?
Confronting complexity with general systems thinking
Linking observations and inference
Testing magic tricks and sufficiently advanced technology
Introducing heuristics
Finding and Recognizing Bugs
Know your oracles
Consistency as a theme for oracles
Coping with difficult oracle problems
Know your coverage
Addressing coverage problems with testability
Reporting and reporting coverage
Diversifying Your Strategy and Your Tactics
Considering cost vs. value
Quick tests vs. careful tests
Focusing on risk
The role of repetition
Rapid Recording and Reporting
Session based test management for high accountability
Rapid estimation
Reporting progress in a test cycle
Selected Exercises (throughout the class)
Test The Famous Triangle
Find the Bug in a Calendar Program
Test the Mysterious Sphere
The Wason Selection Task
The Simplest Possible User Interface
Testing a Wine Glass
A Critique of a Test Report
What Does It Mean To Save a File?
Use Exploratory Modeling on a Small App
Breaking Your Confirmation Bias
Discover the Role of Repetition in Test Strategy
Report on the Completeness of Testing
Exploratory Testing with Dice
Comments on the Course
"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. I’m going to stick with it and try to get others to realize how important testers are to software development." James Swanson, Minneapolis
"We are already starting to put into practice what you taught us. Four of the group sat down last Friday and tested an-other product. Results: Another 50 defects. Several were crashes, 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. 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 were—once again—orders of magnitude more effective than the testing that was currently going on with the product.”A test man-ager at a commercial utility software company, somewhere in Canada