Preface |
|
xiii | |
Notes on the book's structure and layout |
|
xvii | |
Acknowledgments |
|
xxi | |
SECTION 1---FUNDAMENTALS |
|
|
|
1 | (16) |
|
The first cycle of testing |
|
|
1 | (10) |
|
The second cycle of testing |
|
|
11 | (5) |
|
What will happen in later cycles of testing |
|
|
16 | (1) |
|
The objectives and limits of testing |
|
|
17 | (10) |
|
You can't test a program completely |
|
|
17 | (6) |
|
The tester's objective: Program verification? |
|
|
23 | (2) |
|
|
25 | (2) |
|
Test types and their place in the software development process |
|
|
27 | (32) |
|
Overview of the software development stages |
|
|
30 | (2) |
|
|
32 | (1) |
|
Testing during the planning stages |
|
|
33 | (2) |
|
|
35 | (4) |
|
Testing during the design stages |
|
|
39 | (2) |
|
Glass box code testing is part of the coding stage |
|
|
41 | (8) |
|
|
49 | (1) |
|
|
50 | (7) |
|
|
57 | (2) |
|
|
59 | (6) |
|
|
59 | (1) |
|
What is a software error? |
|
|
60 | (1) |
|
Categories of software errors |
|
|
60 | (5) |
|
Reporting and analyzing bugs |
|
|
65 | (22) |
|
Write Problem Reports immediately |
|
|
66 | (1) |
|
Content of the Problem Report |
|
|
66 | (8) |
|
Characteristics of the Problem Report |
|
|
74 | (2) |
|
Analysis of a reproducible bug |
|
|
76 | (3) |
|
Tactics for analyzing a reproducible bug |
|
|
79 | (3) |
|
Making a bug reproducible |
|
|
82 | (5) |
SECTION 2---SPECIFIC TESTING SKILLS |
|
|
The problem tracking system |
|
|
87 | (36) |
|
The prime objective of a problem tracking system |
|
|
90 | (1) |
|
|
90 | (1) |
|
Problem tracking overview |
|
|
90 | (7) |
|
The users of the tracking system |
|
|
97 | (9) |
|
Mechanics of the database |
|
|
106 | (9) |
|
Further thoughts on problem reporting |
|
|
115 | (6) |
|
|
121 | (2) |
|
|
123 | (20) |
|
Characteristics of a good test |
|
|
124 | (1) |
|
Equivalence classes and boundary values |
|
|
125 | (7) |
|
Visible state transitions |
|
|
132 | (1) |
|
Race conditions and other time dependencies |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
Function equivalence testing: automation, sensitivity analysis & random input |
|
|
135 | (4) |
|
Regression testing: checking whether a bug fix worked |
|
|
139 | (1) |
|
Regression testing: the standard battery of tests |
|
|
140 | (1) |
|
|
141 | (2) |
|
Testing printers (and other devices) |
|
|
143 | (26) |
|
Some general issues in configuration testing |
|
|
144 | (2) |
|
|
146 | (23) |
|
|
169 | (10) |
|
Was the base code changed? |
|
|
170 | (1) |
|
Work with someone fluent in the language |
|
|
170 | (1) |
|
Is the text independent from the code? |
|
|
171 | (1) |
|
|
171 | (1) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
172 | (1) |
|
Loading, saving, importing, and exporting high and low ASCII |
|
|
173 | (1) |
|
Operating system language |
|
|
173 | (1) |
|
|
173 | (1) |
|
|
173 | (1) |
|
Error message identifiers |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
174 | (1) |
|
Uppercase and lowercase conversion |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
175 | (1) |
|
|
175 | (1) |
|
|
175 | (1) |
|
Data formats and setup options |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
176 | (1) |
|
|
176 | (1) |
|
European product compatibility |
|
|
176 | (1) |
|
|
176 | (1) |
|
Do GUIs solve the problem? |
|
|
177 | (1) |
|
|
177 | (2) |
|
|
179 | (10) |
|
|
179 | (1) |
|
The documentation tester's objectives |
|
|
180 | (1) |
|
How testing documentation contributes to software reliability |
|
|
181 | (1) |
|
Become the technical editor |
|
|
182 | (1) |
|
Working with the manual through its development stages |
|
|
183 | (5) |
|
|
188 | (1) |
|
|
189 | (14) |
|
|
189 | (2) |
|
Automated acceptance and regression tests |
|
|
191 | (6) |
|
|
197 | (3) |
|
|
200 | (3) |
|
Test planning and test documentation |
|
|
203 | (52) |
|
The overall objective of the test plan: product or tool? |
|
|
204 | (1) |
|
Detailed objectives of test planning and documentation |
|
|
205 | (5) |
|
What types of tests to cover in test planning documents |
|
|
210 | (3) |
|
A strategy for developing components of test planning documents |
|
|
213 | (4) |
|
Components of test planning documents |
|
|
217 | (25) |
|
Documenting test materials |
|
|
242 | (11) |
|
|
253 | (2) |
SECTION 3---MANAGING TESTING PROJECTS AND GROUPS |
|
|
|
255 | (48) |
|
Software development tradeoffs |
|
|
257 | (1) |
|
Software development models |
|
|
258 | (6) |
|
|
264 | (2) |
|
The development time line |
|
|
266 | (1) |
|
|
267 | (7) |
|
Fragments coded: first functionality |
|
|
274 | (1) |
|
|
275 | (2) |
|
|
277 | (9) |
|
|
286 | (1) |
|
|
286 | (7) |
|
User interface (UI) freeze |
|
|
293 | (2) |
|
|
295 | (4) |
|
|
299 | (2) |
|
|
301 | (1) |
|
|
301 | (2) |
|
Legal consequences of defective software |
|
|
303 | (40) |
|
|
305 | (12) |
|
Torts: lawsuits involving fault |
|
|
317 | (23) |
|
|
340 | (3) |
|
|
343 | (20) |
|
|
344 | (1) |
|
The role of the testing group |
|
|
345 | (4) |
|
A test group is not an unmixed blessing |
|
|
349 | (1) |
|
An alternative? Independent test agencies |
|
|
350 | (2) |
|
|
352 | (7) |
|
|
359 | (4) |
Appendix: common software errors |
|
363 | (74) |
|
|
375 | (21) |
|
|
396 | (3) |
|
|
399 | (2) |
|
|
401 | (2) |
|
|
403 | (3) |
|
|
406 | (10) |
|
Errors in handling or interpreting data |
|
|
416 | (5) |
|
|
421 | (2) |
|
|
423 | (4) |
|
|
427 | (3) |
|
Source, version, and ID control |
|
|
430 | (2) |
|
|
432 | (5) |
References |
|
437 | (14) |
Index |
|
451 | (29) |
About the Authors |
|
480 | |