Ch01
Ch01
4
Fault and Failure Example
BUG
7
Spectacular Software Failures
• NASA’s Mars lander: September 1999, crashed due to a THERAC-25 design
units integration fault
- misunderstanding in the units of measure used by two modules created by
separate software groups. One module computed thruster data in English units and
forwarded the data to a module that expected data in metric units.
508 generating
units and 256
power plants shut
down
Affected 10 million
people in Ontario,
Canada
Affected 40 million
people in 8 US
states
Financial losses of
$6 Billion USD
Verification is usually a more technical activity that uses knowledge about the
individual software artifacts, requirements, and specifications.
11
Validation and Verification
12
IV&V
13
Testing Goals Based on Test Process Maturity
Beizer discussed the goals of testing in terms of the “test process maturity levels” of
an organization, where the levels are characterized by the testers’ goals:
14
Level 0 Thinking
15
Level 1 Thinking
• Purpose is to show correctness
• Correctness is impossible to achieve
• What do we know if no failures?
• Good software or bad tests?
16
Level 2 Thinking
17
Level 3 Thinking
• Testing can only show the presence, but not the absence, of failures
18
Level 4 Thinking
• A mental discipline that increases quality
19
Tactical Goals : Why Each Test ?
If you don’t know why you’re conducting each test, it won’t be
very helpful
20
Cost of Late Testing
60
50
40
Fault origin (%)
30
Fault detection (%)
20
10 Unit cost (X)
22