The Craft of Software Testing
This reference presents, in detail, an effective, step-by-step, cost-effective approach to software testing, which is based on common practice, with improvements inspired by academic testing research and practical experience. The approach is designed to be gradually adoptable, so that it does not disrupt current work. It scales down gracefully under schedule pressure. The book outlines a systematic process/strategy of software testing that incorporates test design, test implementation, and measurements of test quality. The book explains solid testing techniques in detail and shows how to apply them to testing tasks.
It answers many important questions such as: How do I design tests? What are common tester errors, and how do I avoid them? How do I implement tests? How do I know how good my tests are? How do I know when I've tested enough? It also features unique coverage of testing bug fixes and other changes.
Review By: Ann Graham
09/11/2002This book is a good source for understanding the intricacies involved in what goes into testing a system. The author highlights what is often forgotten or overlooked, and offers some insight into how to plan for that eventuality in testing. This book will help answer the ever-present questions concerning elements that go into test design and implementation. The book will help you determine how good your tests are and when to consider that testing completed.
Divided into five parts, this book can be used as a teaching tool. Parts 1 and 2 provide a tutorial with a running example that illustrates the points of subsystem testing. It supplies suggestions about what can be done with the least cost and least disruption, initially, and then later supplemented.
Parts 3 and 4 become more complex. Without the simplifications from Part 1, these sections move to the specifics of testing bug fixes and other changes, and expand on the basics of subsystem testing with new situations. Part 5 wraps it up by explaining what to do when simplifying assumptions are not true.
Use the checklists and catalogs samples in the appendices to help you learn how to build and use catalogs, build and use basic test requirements (with and without test suites)...and much more, starting with your very next project!
The detailed examples--and samples in the appendices--provide immediate applicability to daily work/projects, lending themselves to continued learning, and serving to bring the lessons of the book from theory to practice. As a software system tester, however, and not a programmer, I found the code-language examples of only limited use even though pre-warned by the author that heavy use of programmer-ese may be a turn-off. Testers with a programming background may find this more useful.
For those who are strictly involved with testing from an interface standpoint, this book can still be useful because of its many examples of what not to overlook; its lessons in watching for what is typically forgotten or overlooked; and its use of helpful checklists and catalog descriptions and samples.
User Comments
This is a good book on testing from the point of view of the software developer. Note that the author has written what he calls "a self-critical review", available near the bottom of http://testing.com/writings.html, where you'll also find an update to appendix B.