Reaves.dev

v0.1.0

built using

Phoenix v1.7.17

General Concepts

Stephen M. Reaves

::

2023-10-31

Notes about Lesson 10 of CS-6300

Summary

Failure, Fault, and Error

Failure := an observable incorrect behavior

Fault (aka bug) := incorrect code

Error := cause of a fault

Verification

Pros and Cons

TechniqueProsCons
TestingNo false postivesIncomplete
StaticConsiders all program behaviorsCan generate false positives
InspectionSystematic, ThoroughInformal, Subjective
Formal ProofStrong guaranteesComplex, Expensive, Require mathematical specification

Testing

Executing a program on a sample of the input domain

A test is successful if the program fails

Granularity Levels

Black Box and White Box Testing

TypeBased onCoverageLimitation
Black boxdescription/specificationCover as much specified behavior as possibleCannot reveal errors due to implementation details
White boxcodeCover as much coded behavior as possibleCannot reveal errors due to missing paths