Strategies for finding defects from How
to Break Software.
The book has complete explanations of
each of these strategies as well as examples from real software
products.
- Apply inputs that force all the error
messages to occur.
- Apply inputs that force the software to
establish default values.
- Explore allowable character sets and
data types.
- Overflow input buffers.
- Find inputs that may interact and test
combinations of their values.
- Repeat the same input or series of
inputs numerous times.
- Force different outputs to be generated
for each input.
- Force invalid outputs to be generated.
- Force properties of an output to change.
- Force the screen to refresh.
- Apply inputs using a variety of initial
conditions.
- Force a data structure to store too many
or too few values.
- Investigate alternate ways to modify
internal data constraints.
- Experiment with invalid operand and
operator combinations.
- Force a function to call itself
recursively.
- Force computation results to be too
large or too small.
- Find features that share data or
interact poorly.
- Fill the file system to its capacity.
- Force the media to be busy or
unavailable.
- Damage the media.
- Assign an invalid file name.
- Vary file access permissions.
- Vary or corrupt file contents.
Home