前言
1 introduction
1.1 the software industry
1.2 software testing and quality
1.3 errors.faults and failures
1.3.1 software faults
1.3.2 software failures
1.3.3 need for testing
1.4 the role of sdecifications
1.5 overview of testing
1.5.1 testing in the development process
1.5.2 test automation
1.6 the theory of testing
1.6.1 exhaustive testing example
1.6.2 implications
1.7 when to finish testing
1.8 notes on book structure
2 principles of software testing
.2.1 dynamic and static verification
2.1.1 static verification
2.1.2 dynamic verification
2.2 black-box and white.box testing
2.2.1 errors of“omission”and“commission”
2.3 test approaches
2.3.1 black-box testing
2.3.2 white-box testing
2.3.3 fault insertion
2.4 test activities
2.4.1 analysis outputs
2.4.2 test cases
2.4.3 test data
2.4.4 test code for test proceduresl
2.5 analysis of software specifications
2.5.1 parameters
2.5.2 parameter ranges
2.5.3 equivalence partitions
2.5.4 boundary values
2.5.5 combinations of values
2.5.6 sequences of values
2.6 analysis of software components
2.6.1 control flow graphs
2.6.2 decisions and conditions
2.6.3 paths
2.6.4 data-flow testing
2.6.5 ranking
2.7 analysis of targets for fault insertion
2.7.1 offutt’s 5 sufficient mutations
2.8 test artefacts
3 unit testing
3.1 introduction
3.2 usage
3.3 black-box techniques
3.3.1 equivalence partitioning(ep)
3.3.2 boundary value analysis fbval
3.3.3 testing combinations of inputs(ci)
3.3.4 testing sequences of inputs(si)or state
3.3.5 random input data fridl
3.3.6 error guessing fegl
3.4 white.box techniques
3.4.1 statement coverage fscl
3.4.2 branch coverage fbcl
3.4.3 condition coverage fccl
3.4.4 decision condition coverage fdccl
3.4.5 multiple condition coverage(mcc)
3.4.6 path coverage fpci
3.4.7 d—u pair coverage(dup)
3.5 fault insertion
3.5.1 strong mutation testing(smt)
4 unit testing examples
5 static v_erification
6 testing object-oriented software
7 integration and system testing
8 software test automation
9 testing in the software process
10 advanced testing issues
a terminology
b exercises
select bibliography