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.

  1. Apply inputs that force all the error messages to occur.
  2. Apply inputs that force the software to establish default values.
  3. Explore allowable character sets and data types.
  4. Overflow input buffers.
  5. Find inputs that may interact and test combinations of their values.
  6. Repeat the same input or series of inputs numerous times.
  7. Force different outputs to be generated for each input.
  8. Force invalid outputs to be generated.
  9. Force properties of an output to change.
  10. Force the screen to refresh.
  11. Apply inputs using a variety of initial conditions.
  12. Force a data structure to store too many or too few values.
  13. Investigate alternate ways to modify internal data constraints.
  14. Experiment with invalid operand and operator combinations.
  15. Force a function to call itself recursively.
  16. Force computation results to be too large or too small.
  17. Find features that share data or interact poorly.
  18. Fill the file system to its capacity.
  19. Force the media to be busy or unavailable.
  20. Damage the media.
  21. Assign an invalid file name.
  22. Vary file access permissions.
  23. Vary or corrupt file contents.


Home