Video version of this article: https://youtu.be/k8Swf3apDVg
We require proof that code works.
Why we need proof that code works
It follows from our basic requirement that what we produce must work:
- Without proof that the system works, we do not know whether it works or not.
- If we do not know whether it works, it means it may not work.
- If it does not work, we have failed the requirement that the system must work.
- On the other hand, if we have proof that the system works then we know that it works and we have fulfilled our requirement.
Therefore we require proof that the system works.
Requirements for our proof
Our proof must:
- Be reproducible on demand, because we need it for every single change we make, because we must know the system works at all times.
- Must be as effective as possible.
Currently the only thing I know of is a good test suite.