Jeffrey M. Voas, Gary Mc
Graw, "Software Fault Injection, Inoculating Programs Against Errors," 1998 John M. Wiley & Sons, Inc.
ISBN 0-471-18381-4
Testing software by breaking it deliberately.
This seems like a useful classification of techniques for testing
UserAntiStory's. Fine-grained
FaultInjection is similar to checking the boundary and error conditions in a
UnitTest, but might extend further to faking error returns by modules used by the unit under test. Larger-scale
FaultInjection might be part of a
FunctionalTest, particularly if
FaultTolerance is part of the specification.
I've used a technique in the past where error paths were tested by letting every memory allocation fail at least once. (Credit
BruceDawson and
JoePorkka.) The number of bugs uncovered was astonishing. Fixing them resulted in a much clearer understanding of how all error conditions would be handled. --
GarthDickie
CategoryBook