I think you're misinterpreting what Dijkstra said and getting it almost backward. His point is that testing is inadequate: only a convincing proof of correctness is sufficient to conclude that software works without error. In his words:
> program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence
But proofs are hard. Therefore he advised that the program and its proofs (he didn't say tests) be created together so that the program could be constructed in such a way as to make the proofs easier.
tmoertel|12 years ago
> program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence
But proofs are hard. Therefore he advised that the program and its proofs (he didn't say tests) be created together so that the program could be constructed in such a way as to make the proofs easier.