| |
| |
Dedication | |
| |
| |
Preface | |
| |
| |
Today's Testing Challenges | |
| |
| |
Structure and Approach | |
| |
| |
Audience | |
| |
| |
Appreciation | |
| |
| |
Some Final Comments | |
| |
| |
Acknowledgements | |
| |
| |
References | |
| |
| |
| |
The Testing Process | |
| |
| |
Testing | |
| |
| |
Current Challenges | |
| |
| |
Test Cases | |
| |
| |
Inputs | |
| |
| |
Outputs | |
| |
| |
Order of Execution | |
| |
| |
Types of Testing | |
| |
| |
Testing Levels | |
| |
| |
The Impossibility of Testing Everything | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Case Studies | |
| |
| |
Why Case Studies? | |
| |
| |
Brown & Donaldson | |
| |
| |
Stateless University Registration System | |
| |
| |
| |
Black Box Testing Techniques | |
| |
| |
Definition | |
| |
| |
Applicability | |
| |
| |
Disadvantages | |
| |
| |
Advantages | |
| |
| |
References | |
| |
| |
| |
Equivalence Class Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Examples | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Boundary Value Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Examples | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Decision Table Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Examples | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Pairwise Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Orthogonal Arrays | |
| |
| |
Using Orthogonal Arrays | |
| |
| |
Allpairs Algorithm | |
| |
| |
Final Comments | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
State-Transition Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
State-Transition Diagrams | |
| |
| |
State-Transition Tables | |
| |
| |
Creating Test Cases | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Domain Analysis Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Example | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Use Case Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Example | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
White Box Testing Techniques | |
| |
| |
Definition | |
| |
| |
Applicability | |
| |
| |
Disadvantages | |
| |
| |
Advantages | |
| |
| |
| |
Control Flow Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Control Flow Graphs | |
| |
| |
Levels of Coverage | |
| |
| |
Structured Testing/Basis Path Testing | |
| |
| |
Example | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Data Flow Testing | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Static Data Flow Testing | |
| |
| |
Dynamic Data Flow Testing | |
| |
| |
Applicability and Limitations | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Testing Paradigms | |
| |
| |
Paradigms | |
| |
| |
Test Planning | |
| |
| |
References | |
| |
| |
| |
Scripted Testing | |
| |
| |
Introduction | |
| |
| |
IEEE 829 Document Description | |
| |
| |
Test Plan | |
| |
| |
Test Design Specification | |
| |
| |
Test Case Specification | |
| |
| |
Test Procedure Specification | |
| |
| |
Test Item Transmittal Report | |
| |
| |
Test Log | |
| |
| |
Test Incident Report | |
| |
| |
Test Summary Report | |
| |
| |
Advantages of Scripted Testing | |
| |
| |
Disadvantages of Scripted Testing | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Exploratory Testing | |
| |
| |
Introduction | |
| |
| |
Description | |
| |
| |
Advantages of Exploratory Testing | |
| |
| |
Disadvantages of Exploratory Testing | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Test Planning | |
| |
| |
Introduction | |
| |
| |
Technique | |
| |
| |
Summary | |
| |
| |
Practice | |
| |
| |
References | |
| |
| |
| |
Supporting Technologies | |
| |
| |
The Bookends | |
| |
| |
| |
Defect Taxonomies | |
| |
| |
Introduction | |
| |
| |
Project Level Taxonomies | |
| |
| |
SEI Risk Identification Taxonomy | |
| |
| |
ISO 9126 Quality Characteristics Taxonomy | |
| |
| |
Software Defect Taxonomies | |
| |
| |
Beizer's Taxonomy | |
| |
| |
Kaner, Falk, and Nguyen's Taxonomy | |
| |
| |
Binder's Object-Oriented Taxonomy | |
| |
| |
Whittaker's "How to Break Software" Taxonomy | |
| |
| |
Vijayaraghavan's eCommerce Taxonomy | |
| |
| |
A Final Observation | |
| |
| |
Your Taxonomy | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
When to Stop Testing | |
| |
| |
The Banana Principle | |
| |
| |
When to Stop | |
| |
| |
Coverage Goals | |
| |
| |
Defect Discovery Rate | |
| |
| |
Marginal Cost | |
| |
| |
Team Consensus | |
| |
| |
Ship It! | |
| |
| |
Some Concluding Advice | |
| |
| |
Summary | |
| |
| |
References | |
| |
| |
| |
Some Final Thoughts | |
| |
| |
Your Testing Toolbox | |
| |
| |
References | |
| |
| |
| |
Brown & Donaldson Case Study | |
| |
| |
| |
Stateless University Registration System Case Study | |
| |
| |
Bibliography | |