Jeffrey M. Voas, Gary McGraw, "Software Fault Injection, Inoculating Programs Against Errors," 1998 John M. Wiley & Sons, Inc.
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. -- GarthDickieCategoryBook