Chapter Eight. Challenge #5: Making Time for Testing
Testing is a paradox. If we could just test the parts of the system that we suspect of having defects, we could drastically reduce the amount of time spent on testing; but defects are usually found in the places we least suspect—so we dare not assume that any area of the system is defect-free. As they say, a good tester always looks both ways before crossing a one-way street.
If all areas of the system are suspect for defects, it follows that all areas of the system should be tested. But, to what extent should the system be tested? When you consider all of the possible input combinations, there is an astronomical number of test cases required. This leads us to a basic realization ...