[prev] 8 [next]

Testing Strategy

Testing only increases our confidence that the program works.

Unfortunately, we tend to make the big assumption:

"It works for my test data, so it'll work for all data"

The only way to be absolutely sure that this is true:

  • feed in every possible valid input value   (exhaustive testing)
  • if each input produces the expected output, it's correct
Exhaustive testing is not possible in practice ...
  • e.g. can't test all int arrays of size 100