Dijkstra on Testing

In his 1972 Turing Award lecture The Humble Programmer Dijkstra said:

Today a usual technique is to make a program and then to test it. But: program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence.

He then goes on to say that the you can only get confidence in a program by building up a proof of correctness as you write the program.

Although true, his statement is somewhat incomplete:

  1. Testing can also show the “presence” of functionality
  2. A unit test can be considered a “proof of correctness”
Monday 29 November 2004 21:54