The Complete Guide to Software Testing, 2nd Edition
Although this book is more than seven years old, most of the principles and concepts continue to be just as true today. The book covers many aspects of software verification and validation with the primary emphasis on testing. It contains an overview of test methods and tools, including sample reports and templates. It is especially useful when used for viewing testing from a management perspective and for discussing many of the associated management issues. An extensive bibliography is included.
Review By: Kerry Zallar
08/01/2002While this book provides information useful to test managers and testers, there are several chapters that managers, quality assurance personnel, requirements analysts, and auditors will find useful as well. It covers areas not only commonly thought of as software testing, but also software development practices key to delivering quality software. The primary theme throughout the book is measurement of software quality.
After preparing the reader in the introduction, the author defines testing principles and describes testing methodologies. Methods of testing are then described in the order in which they would occur in the product development lifecycle. These methods include all forms of testing such as reviews, testing requirements, testing designs, unit and integration testing (testing in the small) as well as system, performance, and acceptance testing (testing in the large). Methods for testing software modifications to existing software are also described as well as the testing of purchased software. When recommending these methods, the author describes the scope of each and why they're important to the measurement of software problems at the time they're expected to be performed. Throughout the book he also provides specific techniques, tools, and examples—many of which are specific to large systems, but conceptually apply to most software.
The final section of the book speaks specifically to managing testing by describing what test management is, not just for the test manager, but also for the organization. Specific techniques and tools are provided for controlling and reporting testing progress and effectiveness.
The strengths of this book are the fundamentals of testing principles and the effective software quality measurement techniques it promotes throughout. These are as valid today as they were when the first edition of the book was published in 1984, as they've been proven over and over. Part 1, "The Testing Discipline," covers testing in the broad sense and provides excellent information for management as well as testers. The book is well organized and well written.
The basics of test design are covered well and are worth reading by testing professionals. The test design techniques provided not only become tools on a tester’s toolbelt, but they also provide the reader an analytical approach for good test design in general.
Many methods, techniques, tools, and examples are provided. While most of the methods and techniques are language independent, many testing tools and examples are associated with languages that run on large systems. The reader may need to associate examples of tools provided in the book with ones that apply to their environment. This could turn some potential readers off as the material may appear to be outdated, but most of the underlying principles still apply. Having some examples match today's popular development environments would be an improvement. This book is good for learning testing fundamentals that span the entire development lifecycle.