Preface |
|
xi | |
Acknowledgments |
|
xv | |
|
|
1 | |
|
|
1 | |
|
1.2 Objectives and Limits of Testing |
|
|
2 | |
|
1.3 The Value Versus Cost of Testing |
|
|
11 | |
|
1.4 Relationship of Testing to the Software Development Life Cycle |
|
|
16 | |
|
1.5 Tester Versus Developer Roles in Software Testing |
|
|
22 | |
|
1.6 Putting Software Testing in Perspective |
|
|
25 | |
|
|
25 | |
|
2. The Software Development Life Cycle |
|
|
29 | |
|
|
29 | |
|
2.2 Methodologies and Tools |
|
|
29 | |
|
2.3 The Evolution of System Development Life Cycles |
|
|
30 | |
|
2.4 The Phased Development Methodology |
|
|
33 | |
|
2.5 The Preliminary Investigation Stage |
|
|
37 | |
|
|
43 | |
|
|
46 | |
|
2.8 The Preliminary Construction Stage |
|
|
50 | |
|
2.9 The Final Construction Stage |
|
|
54 | |
|
2.10 The Installation Stage |
|
|
56 | |
|
2.11 Putting Phased Development in Perspective |
|
|
57 | |
|
|
57 | |
|
3. Overview of Structured Testing |
|
|
59 | |
|
|
59 | |
|
3.2 Checklist Mentality for Software Testers |
|
|
60 | |
|
3.3 SPRAE-A Generic Structured Testing Approach |
|
|
61 | |
|
3.4 Putting the Overview of Structured Testing in Perspective |
|
|
65 | |
|
|
66 | |
|
|
66 | |
|
4.2 The Chess Pieces for Testing Strategies |
|
|
66 | |
|
4.3 The Two-Dimensional Testing Strategy Chess Board |
|
|
70 | |
|
4.4 The Three-Dimensional Testing Strategy Chess Board |
|
|
75 | |
|
4.5 Putting the Testing Strategy into Perspective |
|
|
77 | |
|
|
79 | |
|
|
79 | |
|
|
79 | |
|
|
83 | |
|
5.4 Writing Your Test Plan and Test Cases in the Real World |
|
|
88 | |
|
5.5 Test Document Standards |
|
|
90 | |
|
5.6 Putting Test Planning in Perspective |
|
|
91 | |
|
|
93 | |
|
|
93 | |
|
6.2 Goal of Static Testing |
|
|
93 | |
|
6.3 Candidate Documents for Static Testing |
|
|
94 | |
|
6.4 Static Testing Techniques |
|
|
96 | |
|
6.5 'Tracking Defects Detected by Static Testing |
|
|
98 | |
|
6.6 Putting Static Testing in Perspective |
|
|
98 | |
|
|
99 | |
|
|
99 | |
|
7.2 Functional Test Cases from Use Cases |
|
|
100 | |
|
7.3 An Approach to Functional Testing |
|
|
103 | |
|
7.4 An Approach to Regression Testing |
|
|
106 | |
|
7.5 Detailed White Box Testing Techniques |
|
|
107 | |
|
7.6 Detailed Black Box Testing Techniques |
|
|
112 | |
|
|
119 | |
|
7.8 Putting Functional Testing in Perspective |
|
|
121 | |
|
8. Structural (Non-functional) Testing |
|
|
122 | |
|
|
122 | |
|
|
123 | |
|
|
124 | |
|
|
125 | |
|
|
125 | |
|
8.6 Administration Testing |
|
|
126 | |
|
8.7 Backup and Recovery Testing |
|
|
126 | |
|
8.8 Putting Structural Testing in Perspective |
|
|
127 | |
|
|
127 | |
|
|
129 | |
|
|
129 | |
|
9.2 Workload Planning Techniques |
|
|
130 | |
|
9.3 Workload Execution Techniques |
|
|
134 | |
|
9.4 Component Performance Testing |
|
|
135 | |
|
9.5 Round Trip Performance |
|
|
136 | |
|
9.6 Putting Performance Testing in Perspective |
|
|
147 | |
|
|
148 | |
10. The Testing Environment |
|
150 | |
|
|
150 | |
|
|
151 | |
|
|
151 | |
|
10.4 Testing Environments |
|
|
152 | |
|
10.5 The Goal of a Testing Environment |
|
|
152 | |
|
10.6 Good Testing Environments and Why They Should Be Used |
|
|
155 | |
|
10.7 Bad Testing Environments and Why They Should Be Avoided |
|
|
156 | |
|
10.8 Putting the Testing Environment in Perspective |
|
|
157 | |
|
|
157 | |
11. Automated Testing Tools |
|
159 | |
|
|
159 | |
|
11.2 Brief History of Automated Testing Tools for Software |
|
|
160 | |
|
11.3 Test Tool Record/Playback Paradigm |
|
|
162 | |
|
11.4 Test Tool Touchpoint Paradigms |
|
|
164 | |
|
11.5 Test Tool Execution Pardigm |
|
|
168 | |
|
11.6 The Benefits that Testing Tools Can Provide |
|
|
169 | |
|
11.7 The Liabilities that Testing Tools Can Impose |
|
|
173 | |
|
11.8 Putting Automated Testing Tools in Perspective |
|
|
174 | |
|
|
175 | |
12. Analyzing and Interpreting Test Results |
|
176 | |
|
|
176 | |
|
12.2 Test Cases Attempted Versus Successful |
|
|
176 | |
|
12.3 Defect Discovery Focusing on Individual Defects |
|
|
179 | |
|
12.4 Defect Discovery Focusing on the Defect Backlog |
|
|
181 | |
|
12.5 Defect Discovery Focusing on Clusters of Defects |
|
|
182 | |
|
12.6 Prior Defect Discovery Pattern Usefulness |
|
|
187 | |
|
12.7 The Rayleigh Curve Gunsights for Defect Discovery Patterns |
|
|
196 | |
|
12.8 More Defect Tracking Metrics |
|
|
200 | |
|
12.9 Putting Test Results in Perspective |
|
|
201 | |
|
|
201 | |
13. A Full Software Development Lifecycle Testing Project |
|
203 | |
|
|
203 | |
|
13.2 Preliminary Investigation Stage |
|
|
204 | |
|
|
206 | |
|
|
213 | |
|
13.5 Preliminary Construction Stage |
|
|
219 | |
|
13.6 Final Construction Stage |
|
|
229 | |
|
13.7 Implementation Stage |
|
|
232 | |
|
13.8 Postimplementation Stage |
|
|
232 | |
|
|
233 | |
14. Testing Complex Applications |
|
235 | |
|
|
235 | |
|
|
235 | |
|
|
237 | |
|
|
241 | |
|
|
246 | |
|
14.6 Putting Testing Complex Applications in Perspective |
|
|
249 | |
|
|
249 | |
15. Future Directions in Testing |
|
250 | |
|
|
250 | |
|
15.2 Future Directions in Software Development That Could Increase the Need for Testing Professionals |
|
|
250 | |
|
15.3 Software Testing Challenges Already Upon Us |
|
|
251 | |
|
15.4 Software Testing Near Future Challenges |
|
|
252 | |
|
15.5 Software Testing Challenges To Come |
|
|
257 | |
|
15.6 Putting Future Testing Directions in Perspective |
|
|
253 | |
|
|
254 | |
References |
|
255 | |
Index |
|
259 | |