- draws on common industry practice, the author's personal experience with testing, the author's clients, and users of GCT (Generic Coverage Tool).
- promotes a philosophy of designing tests with constant attention to likely programmer mistakes.
- uses C throughtout, and the techniques apply equally well to C++ and other languages, and to object-oriented programs.
- contains detailed, step-by-step examples.
- provides a modern treatment of coverage and white box testing.
- features unique material on testing bug fixes and other changes—e.g., how the test design process differs when you are testing changes.
- includes several appendices that describe how to test common situations, and checklists for steps in the testing process.
- Copyright 1995
- Dimensions: 7 x 9 1/4
- Pages: 553
- Edition: 1st
- ISBN-10: 0-13-177411-5
- ISBN-13: 978-0-13-177411-7
This reference presents, in detail, an effective, step-by-step, cost-effective approach to software testing that is based on common practice—with improvements inspired by academic testing research and practial experience. The approach is designed to be gradually adoptable, so that it does not disrupt current work, and it scales down gracefully under schedule pressure. KEY TOPICS: Outlines a systematic process/strategy of software testing that incorporates test design, test implementation, and measurements of test quality. Explains solid testing techniques in detail and shows how to apply them to testing tasks. Answers such questions 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? Features unique coverge of testing bug fixes and other changes. MARKET: For software developers testing their own code or designs; indepdendent testers testing someone else's code; and testers or developers testing bug fixes and other maintenance changes.
Table of Contents
1. Should You Read This Book?
2. An Overview of Subsystem Testing.
I. THE BASIC TECHNIQUE. 3. The Specification. 4. Introduction to the SREADHEX Example. 5. Building the Test Requirement Checklist. 6. Test Specifications. 7. Test Drivers and Suite Drivers. 8. Inspecting the Code with the Question Catalog. 9. Using Coverage to Test the Test Suite. 10. Cleaning Up. 11. Miscellaneous Tips.
II. ADOPTING SUBSYTEM TESTING. 12. Getting Going. 13. Getting Good.
III. SUBSYSTEM TESTING IN PRACTICE. 14. Using More Typical Specifications (Including None at All). 15. Working with Large Subsystems. 16. Testing Bug Fixes and Other Maintenance Changes. 17. Testing Under Schedule Pressure.
IV. EXAMPLES AND EXTENSIONS. 18. Syntax Testing. 19. A Second Complete Example: MAX. 20. Testing Persistent State.
V. MULTIPLYING TEST REQUIREMENTS. 21. Simpler Test Requirement Multiplication. 22. Multiplying Operation Test Requirements.
APPENDICES. A. Test Requirement Catalog (Student Version). B. Test Requirement Catalog (Standard Version). C. POSIX-Specific Test Requirement Catalog (Sample). D. A Question Catalog for Code Inspections. E. Requirements for Complex Booleans Catalog. F. Checklists for Test Writing. Glossary. Bibliography.