|
||
From an ongoing discussion on comp.software-eng: Testing
can only show the presence of errors, not their absence. This
famous saying, originally made up by a programmer who hated to write tests1, is one of
those logic games we all like to play when we're in school. It's formally correct, and
completely misleading. The fact is that NOTHING, not inspection, not formal proof, not
testing, can give 100% certainty of no errors. Yet all these techniques, at some cost, can
in fact reduce the errors to whatever level you wish. One final thought experiment. You're going to have to work with one of two word processors for the next six months. All I'll tell you is that the one in box A has been extensively tested and all the errors found were removed. The one in box B has not been tested. Which one do you choose, and why? 1 A reader points out that E. W. Dijkstra actually first observed that testing can only show the presence of errors, not their absence. We knew that, but thought our fake attribution was more amusing. No disrespect was intended either to Professor Dijkstra or to the humor-challenged. 2 Earlier versions of this article said "certainty" rather than "confidence". Confidence expresses the notion better, I believe.
|