14

Philosophy and Ethics in Software Testing

In math, we can say that if an expression is true for any given number N, it will be true for N+1. Then, we prove it’s true for 1 and find we’ve proven the claim true for all integers. That is a proof by induction. Testing has sort of the opposite problem. If we don’t observe problems running the software in a specific way, that doesn’t prove that there will not be problems the second time around. If we test twice in a row, that doesn’t prove that there will be no error the third time. Thus, we cannot prove the software correct; we can merely indicate the conditions we ran it in and the problems we found.

If all testing can say is, “We don’t know if the software works, we can just show that it appeared ...

Get Software Testing Strategies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.