Computer Science 280:

Principles of Software Development

Gregory M. Kapfhammer


flickr photo shared by Sebastiaan ter Burg under a Creative Commons ( BY ) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in SETP or MMM

Faults and Failures

Fault Manifests Itself in a Failure

PIE Model by Jeffrey Voas

Fault Identification

Fault Removal

Types of Faults

Algorithmic fault

Syntax fault

Precision fault

Documentation fault

Overload, capacity, and throughput fault

Recovery fault

Hardware/Software fault

Standards/Procedure fault

Fault of Commission

Fault of Omission

Develop an example of these two types of faults

What fault type is best detected by coverage criteria?

Orthogonal Defect Classification

Steps of Testing

Granularity of Testing

What color is the "box"?

Open/clear, closed/opaque, or grey?

Code Inspections and Walkthroughs

Tests and Proofs

Testing gives a confidence in correctness

Proofs can demonstrate a fault-free program

... wait, really?

Adequacy Criteria

"Give me a graph and I will cover it"

SUT, Criterion, and Requirements

Test coverage monitor

Methods and classes

Statements, branches, paths

Definition-use testing

Subsumption hierarchies

Give and explain one example of subsumption

Automated testing tools

Static Analysis Tools

Dynamic Analysis Tools

Give and explain one example of each type

EvoSuite and Evolutionary Testing

Any questions about program testing?