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, for each input, the program gives the expected output, it's correct
Problem: all realistic programs have infinitely many possible input values.
Exhaustive testing is not possible in practice.
(e.g. checkorder has 232×9 inputs)
|