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.