| |
| |
List of Figures | |
| |
| |
List of Tables | |
| |
| |
Preface | |
| |
| |
| |
Overview | |
| |
| |
| |
Introduction | |
| |
| |
| |
Activities of a Test Engineer | |
| |
| |
| |
Testing Levels Based on Software Activity | |
| |
| |
| |
Beizer's Testing Levels Based on Test Process Maturity | |
| |
| |
| |
Automation of Test Activities | |
| |
| |
| |
Software Testing Limitations and Terminology | |
| |
| |
| |
Coverage Criteria for Testing | |
| |
| |
| |
Infeasibility and Subsumption | |
| |
| |
| |
Characteristics of a Good Coverage Criterion | |
| |
| |
| |
Older Software Testing Terminology | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Coverage Criteria | |
| |
| |
| |
Graph Coverage | |
| |
| |
| |
Overview | |
| |
| |
| |
Graph Coverage Criteria | |
| |
| |
| |
Structural Coverage Criteria | |
| |
| |
| |
Data Flow Criteria | |
| |
| |
| |
Subsumption Relationships among Graph Coverage Criteria | |
| |
| |
| |
Graph Coverage for Source Code | |
| |
| |
| |
Structural Graph Coverage for Source Code | |
| |
| |
| |
Data Flow Graph Coverage for Source Code | |
| |
| |
| |
Graph Coverage for Design Elements | |
| |
| |
| |
Structural Graph Coverage for Design Elements | |
| |
| |
| |
Data Flow Graph Coverage for Design Elements | |
| |
| |
| |
Graph Coverage for Specifications | |
| |
| |
| |
Testing Sequencing Constraints | |
| |
| |
| |
Testing State Behavior of Software | |
| |
| |
| |
Graph Coverage for Use Cases | |
| |
| |
| |
Use Case Scenarios | |
| |
| |
| |
Representing Graphs Algebraically | |
| |
| |
| |
Reducing Graphs to Path Expressions | |
| |
| |
| |
Applications of Path Expressions | |
| |
| |
| |
Deriving Test Inputs | |
| |
| |
| |
Counting Paths in a Flow Graph and Determining Max Path Length | |
| |
| |
| |
Minimum Number of Paths to Reach All Edges | |
| |
| |
| |
Complementary Operations Analysis | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Logic Coverage | |
| |
| |
| |
Overview: Logic Predicates and Clauses | |
| |
| |
| |
Logic Expression Coverage Criteria | |
| |
| |
| |
Active Clause Coverage | |
| |
| |
| |
Inactive Clause Coverage | |
| |
| |
| |
Infeasibility and Subsumption | |
| |
| |
| |
Making a Clause Determine a Predicate | |
| |
| |
| |
Finding Satisfying Values | |
| |
| |
| |
Structural Logic Coverage of Programs | |
| |
| |
| |
Predicate Transformation Issues | |
| |
| |
| |
Specification-Based Logic Coverage | |
| |
| |
| |
Logic Coverage of Finite State Machines | |
| |
| |
| |
Disjunctive Normal Form Criteria | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Input Space Partitioning | |
| |
| |
| |
Input Domain Modeling | |
| |
| |
| |
Interface-Based Input domain Modeling | |
| |
| |
| |
Functionality-Based Input Domain Modeling | |
| |
| |
| |
Identifying Characteristics | |
| |
| |
| |
Choosing Blocks and Values | |
| |
| |
| |
Using More than One Input Domain Model | |
| |
| |
| |
Checking the Input Domain Model | |
| |
| |
| |
Combination Strategies Criteria | |
| |
| |
| |
Constraints among Partitions | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Syntax-Based Testing | |
| |
| |
| |
Syntax-Based Coverage Criteria | |
| |
| |
| |
BNF Coverage Criteria | |
| |
| |
| |
Mutation Testing | |
| |
| |
| |
Program-Based Grammars | |
| |
| |
| |
BNF Grammars for Languages | |
| |
| |
| |
Program-Based Mutation | |
| |
| |
| |
Integration and Object-Oriented Testing | |
| |
| |
| |
BNF Integration Testing | |
| |
| |
| |
Integration Mutation | |
| |
| |
| |
Specification-Based Grammars | |
| |
| |
| |
BNF Grammars | |
| |
| |
| |
Specification-Based Mutation | |
| |
| |
| |
Input Space Grammars | |
| |
| |
| |
BNF Grammars | |
| |
| |
| |
Mutation for Input Grammars | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Applying Criteria in Practice | |
| |
| |
| |
Practical Considerations | |
| |
| |
| |
Regression Testing | |
| |
| |
| |
Integration and Testing | |
| |
| |
| |
Stubs and Drivers | |
| |
| |
| |
Class Integration Test Order | |
| |
| |
| |
Test Process | |
| |
| |
| |
Requirements Analysis and Specification | |
| |
| |
| |
System and Software Design | |
| |
| |
| |
Intermediate Design | |
| |
| |
| |
Detailed Design | |
| |
| |
| |
Implementation | |
| |
| |
| |
Integration | |
| |
| |
| |
System Deployment | |
| |
| |
| |
Operation and Maintenance | |
| |
| |
| |
Summary | |
| |
| |
| |
Test Plans | |
| |
| |
| |
Identifying Correct Outputs | |
| |
| |
| |
Direct Verification of Outputs | |
| |
| |
| |
Redundant Computations | |
| |
| |
| |
Consistency Checks | |
| |
| |
| |
Data Redundancy | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Engineering Criteria for Technologies | |
| |
| |
| |
Testing Object-Oriented Software | |
| |
| |
| |
Unique Issues with Testing OO Software | |
| |
| |
| |
Types of Object-Oriented Faults | |
| |
| |
| |
Testing Web Applications and Web Services | |
| |
| |
| |
Testing Static Hyper Text Web Sites | |
| |
| |
| |
Testing Dynamic Web Applications | |
| |
| |
| |
Testing Web Services | |
| |
| |
| |
Testing Graphical User Interfaces | |
| |
| |
| |
Testing GUIs | |
| |
| |
| |
Real-Time Software and Embedded Software | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Building Testing Tools | |
| |
| |
| |
Instrumentation for Graph and Logical Expression Criteria | |
| |
| |
| |
Node and Edge Coverage | |
| |
| |
| |
Data Flow Coverage | |
| |
| |
| |
Logic Coverage | |
| |
| |
| |
Building Mutation Testing Tools | |
| |
| |
| |
The Interpretation Approach | |
| |
| |
| |
The Separate Compilation Approach | |
| |
| |
| |
The Schema-Based Approach | |
| |
| |
| |
Using Java Reflection | |
| |
| |
| |
Implementing a Modern Mutation System | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
| |
Challenges in Testing Software | |
| |
| |
| |
Testing for Emergent Properties: Safety and Security | |
| |
| |
| |
Classes of Test Cases for Emergent Properties | |
| |
| |
| |
Software Testability | |
| |
| |
| |
Testability for Common Technologies | |
| |
| |
| |
Test Criteria and the Future of Software Testing | |
| |
| |
| |
Going Forward with Testing Research | |
| |
| |
| |
Bibliographic Notes | |
| |
| |
List of Criteria | |
| |
| |
Bibliography | |
| |
| |
Index | |