07.12.2012 Views

Structured Testing - McCabe and Associates

Structured Testing - McCabe and Associates

Structured Testing - McCabe and Associates

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

equired for each software module is exactly the cyclomatic complexity. Other common<br />

white box testing criteria have the inherent anomaly that they can be satisfied with a small<br />

number of tests for arbitrarily complex (by any reasonable sense of “complexity”) software as<br />

shown in section 5.2.<br />

1.4 Document overview <strong>and</strong> audience descriptions<br />

• Section 1 gives an overview of this document. It also gives some general information about<br />

software testing, software complexity measurement, <strong>and</strong> the relationship between the two.<br />

• Section 2 describes the cyclomatic complexity measure for software, which provides the<br />

foundation for structured testing.<br />

• Section 3 gives some examples of both the applications <strong>and</strong> the calculation of cyclomatic<br />

complexity.<br />

• Section 4 describes several practical shortcuts for calculating cyclomatic complexity.<br />

• Section 5 defines structured testing <strong>and</strong> gives a detailed example of its application.<br />

• Section 6 describes the Baseline Method, a systematic technique for generating a set of test<br />

paths that satisfy structured testing.<br />

• Section 7 describes structured testing at the integration level.<br />

• Section 8 describes structured testing for object-oriented programs.<br />

• Section 9 discusses techniques for identifying <strong>and</strong> removing unnecessary complexity <strong>and</strong><br />

the impact on testing.<br />

• Section 10 describes the essential complexity measure for software, which quantifies the<br />

extent to which software is poorly structured.<br />

• Section 11 discusses software modification, <strong>and</strong> how to apply structured testing to programs<br />

during maintenance.<br />

• Section 12 summarizes this document by software lifecycle phase, showing where each<br />

technique fits into the overall development process.<br />

• Appendix A describes several related case studies.<br />

• Appendix B presents an extended example of structured testing. It also describes an experimental<br />

design for comparing structural testing strategies, <strong>and</strong> applies that design to illustrate<br />

the superiority of structured testing over branch coverage.<br />

4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!