RSS 2.0 Feed
Agile Testing Days 2010 » October 4: Tutorials » Michael Bolton: A Rapid Introduction to Rapid Software Testing

October 4

Tutorials


A Rapid Introduction to Rapid Software Testing

Software testing has traditionally been managed by a process-oriented, formulaic, and clerical approach, and has undervalued the skills and intellect of the tester. Traditional models typically propose a one-size-fits-all notion of the testing process, supposing that practices appropriate to one context are automatically appropriate to all others. Yet the business of software development happens in almost every industry, each with its own set of requirements, business models, and risks. Testers and managers often have considerable difficulty in estimating the time and effort required to test a product; are frequently overwhelmed by choices about test design and documentation; and are uncertain about the skills and techniques that they require to be able to test.

Rapid Testing is a complete methodology designed and developed by James Bach and Michael Bolton with contributions and influences from other members of the Context-Driven School of Software Testing. The philosophy of Rapid Testing holds that, more than anything else, testers require thinking skills – critical thinking, general systems thinking, investigative thinking, and context-driven thinking – in order to fulfill the fundamental mission of testing: providing management with quality-related information at top speed, so that managers can quickly make informed decisions about the product and the project. Upon something being put in front of them, testers should be able to test it right away, with insufficient information, under extreme time pressure, in a way that will stand up to scrutiny, no matter what the development model.

In order to do this, testers must learn about heuristics – fallible methods for solving problems; oracles – principles or mechanisms by which we recognize problems; and coverage – the extent to which we have tested the product according to our mental models of the system. We focus on risk as the primary driver for informing a test strategy – but we’re skeptical of pseudo-mathematical formulas that misuse projections and statistics. We should develop tools and documentation that completely fulfill the testing mission, but we deplore wasteful clerical work, preferring to be absolutely as lightweight as possible while still satisfying our clients. We should understand general systems thinking – the discipline of asking questions, observing, and drawing inferences about a system; analyzing and exploring it; looking at the product from many different points of view, and thinking scientifically about it. We should understand context-driven thinking, so that, in collaboration with management, testers can make sensible choices about tools, techniques, practices, and processes. We should use automation pragmatically to assist the testing effort, not replace it. Above all, we believe that testers should be constantly moving towards mastery and performing thoughtfully, so that their work is valued – lest it become a commodity suitable only for mechanization and off-shoring.

In this tutorial, Michael Bolton, the co-author (with James Bach) of the Rapid Software Testing course introduces testers, managers, developers, and any other interested parties to the philosophy and practice of Rapid Software Testing, through lecture, stories, discussions, and “minds-on” exercises that simulate important aspects of real software testing problems.

Participants are encouraged to bring a Windows-based laptop computer to the workshop.


Michael Bolton

Michael Bolton has over 20 years of experience in the computer industry testing, developing, managing, and writing about software, and has been teaching software testing and presenting at conferences around the world for nine years. He is the co-author (with senior author James Bach) of Rapid Software Testing, a course that presents a methodology and mindset for testing software expertly in uncertain conditions and under extreme time pressure.

In the 90s, he was with Quarterdeck Corporation for eight years, delivering the company’s flagship products and directing project and testing teams worldwide. Since then, he has been principal of DevelopSense, a Toronto-based consultancy specializing testing and software quality.

Michael is a leader in the context-driven testing community. He has been Program Chair for the Toronto Association of System and Software Quality and for the Conference for the Association for Software Testing 2008. He is co-founder (with Fiona Charles) of the Toronto Workshops on Software Testing. He wrote a regular column in Better Software Magazine from 2005 through 2009, and produces his own extremely sporadic newsletter. He lives in Toronto, Canada, with his wife Mary Alton (a user interaction designer) and two children.

Michael can be reached through his Web site, www.developsense.com.