A good threat is worth a thousand tests.
Testing proves a programmerโs failure. Debugging is the programmerโs vindication.
If you can't test it, don't build it. If you don't test it, rip it out.
Bugs lurk in corners and congregate at boundaries.
One of the saddest sights to me has always been a human at a keyboard doing something by hand that could be automated. It's sad but hilarious.
Second law: The complexity barrier. Software complexity (and therefore that of bugs) grows to the limits of our ability to manage that complexity.