Introduction 2
4
Verification and Validation 5
Organizing for Software Testing 6
A Strategy for Testing Conventional Software 7
Levels of Testing for Conventional Software 8
Testing Strategy applied to Conventional Software 9
Testing Strategy applied to Object-Oriented Software 10
When is Testing Complete? 11
Ensuring a Successful Software Test Strategy 12
Unit Testing 14
Targets for Unit Test Cases 15
Common Computational Errors in Execution Paths 16
Other Errors to Uncover 17
Problems to uncover in Error Handling 18
Drivers and Stubs for Unit Testing 19
Integration Testing 20
Non-incremental Integration Testing 21
Incremental Integration Testing 22
Top-down Integration 23
Bottom-up Integration 24
Sandwich Integration 25
Regression Testing 26
Smoke Testing 27
Benefits of Smoke Testing 28
Test Strategies for Object-Oriented Software 30
Test Strategies for Object. Oriented Software (continued) 31
Background 33
Alpha and Beta Testing 34
Different Types 36
Debugging Process 38
Why is Debugging so Difficult? 39
Why is Debugging so Difficult? (continued) 40
Debugging Strategies 41
Strategy #1: Brute Force 42
Strategy #2: Backtracking 43
Strategy #3: Cause Elimination 44
Three Questions to ask Before Correcting the Error 45