Software Testing Techniques: Finding the Defects that Matter
Learn the Secrets of Mainframe Testers! Reliability and continuous availability have become crucial for computer software in the information economy. Well-publicized failures from both industry and government have underscored the need for mission-critical software to be thoroughly tested before being released into the marketplace. When it comes to industrial-strength reliability, no computer system is more renowned than the mainframe. But for years the actual approaches used to test mainframe software have been kept under wraps. What techniques are used? How do the teams in mainframe development labs test their systems to ensure they will deliver such extreme levels of robustness? How can these lessons be applied to other software projects?
Software Testing Techniques: Finding the Defects that Matter answers these questions and provides practical testing techniques for achieving robust reliability with any large-scale software project. Written in a friendly, accessible style, the book highlights areas such as devising attacks to validate data integrity, wreaking havoc to ensure recoverability, exploiting virtualized environments to improve test efficiency, the tug of war between finding defects and meeting schedules, and approaches for emulating customer environments to find the most critical defects. Focusing on real-life techniques illustrated through examples and case studies gleaned from the authors' experiences with large server testing and operation, software engineers will discover tried and true techniques that are used for testing multimillion-dollar commercial software products.
- Covers multiple phases of testing that are relevant to large-scale projects, with an emphasis on the system-wide testing that is critical to establishing the reliability of enterprise-class software
- Provides practical testing techniques for achieving robust reliability with large-scale software projects
- Focuses on real-world issues, problems, and solutions
- Emphasizes approaches for finding and removing the defects that matter most to customers
- Highlights techniques for devising attacks to validate data integrity, wreaking havoc to ensure recoverability, developing effective test programs, exploiting virtualized environments to improve test efficiency, and emulating customer environments to find the most critical defects.

Review By: Martin Fensome
07/08/2010The title of this volume is definitely apt. This book's focus is on the major areas and challenges one faces when finding the defects that matter most to the company and especially to the users of the software.
The authors begin with a review of the issues surrounding testing and testers. Then the focus shifts into discussions on the software and its environments, as well as how this exponentially increases the number of variables to be considered when planning and executing tests. After discussing the differences between development and testing and how to build good relationships with our "coding cousins," the book presents ideas and suggestions for test preparation. Some very specific ideas are given on how to learn the utmost about the software and how teams of testers can work together to deal more effectively and speedily with the complexities presented by software and environments of the 21st Century.
The early parts just whet your appetite for more, and the book delivers. Later sections cover such topics as test planning, recoverability testing, test preparation, automation, data corruption testing, tools, test execution, test management, and beta tests. The authors' knowledge of testing is extensive, albeit from a mainframe environment, which shows clearly in the examples they detail.
The book has something for almost everyone. Testers, test managers, and leads--as well as developers--can gain from reading this book. The writing style is very down to earth, never preachy or repetitive. I feel that the content is well covered. Though at over three hundred pages, it's not a "quick read," it is a rewarding and worthwhile one. Unlike some books on testing that focus more on process, this book really targets the testers in the trenches.
Reading the table of contents, you may be tempted to think this book is filled with rehashed information. It's not. Having read many articles and books on testing, I believe this is one of the best.
"Software Testing Techniques" could very well be the modern day companion to Kaner, Falk, and Ngyuen's "Testing Computer Software." The Kaner classic shows its age, but still focuses on the basic nuts and bolts of finding and reporting issues. The author discusses some of the modern complexities and how to overcome them through planning, organization, logic, and hardware/software. I highly recommend "Software Testing Techniques" to anyone interested in finding the defects that matter when testing software.