However many defects have been found, one more remains, so testing establishes presence and never absence.
The practical consequence is about stopping rules. Since no amount of testing licenses the conclusion that a system is correct, the decision to ship is always a judgement about acceptable residual risk rather than a finding of correctness, and treating it as the latter is how organisations are surprised.
In practice
- A team that declares a release bug-free has described its testing, not its software.
- An audit that finds nothing has told you about the audit as much as about the accounts.
- Standing
- Compare Dijkstra's observation that testing shows the presence of bugs and never their absence, which states the same point formally.
- Subject
- Technology & Software
- Essay
- The programmers' folklore, and technology's place in society