Bugs lurk in corners and congregate at boundaries.
If you can't test it, don't build it. If you don't test it, rip it out.
Testing proves a programmerโs failure. Debugging is the programmerโs vindication.
First law: The pesticide paradox. Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffective.
A test that reveals a bug has succeeded, not failed.
Second law: The complexity barrier. Software complexity (and therefore that of bugs) grows to the limits of our ability to manage that complexity.