The whole category in one page.
TESTING SHOWS THE PRESENCE OF DEFECTS, NEVER THEIR ABSENCE
It samples rather than exhausts. The question is never whether testing is complete, but whether the remaining risk is acceptable — and that is a business decision, informed by technical work.
A SUITE NOBODY TRUSTS PROVIDES NOTHING
Which makes flaky tests more damaging than missing ones. Never add retries to hide them, and never disable a failing test to unblock a pipeline.
TEST AT THE LOWEST LEVEL THAT GIVES REAL CONFIDENCE
Many fast precise tests, a handful of slow end-to-end journeys. Inverting that produces a suite that takes hours, fails intermittently and locates nothing.
MOST DEFECTS LIVE AT BOUNDARIES AND IN FAILURE PATHS
Empty, zero, one, maximum, maximum plus one. And every dependency failing, every timeout, every permission denied — because requirements describe success and failure is assumed.
THE ESCAPE MATTERS MORE THAN THE DEFECT
Ask why it reached this stage undetected, and add a test that would have caught it. Categorise causes to find where the process actually leaks.
MEASURE DEFECTS THAT ESCAPED, NOT DEFECTS FOUND OR TESTS WRITTEN
Activity metrics can all be increased without improving anything.
THE EARLIEST TESTING ACTIVITY IS ASKING WHAT HAPPENS IF
Before anything is built, when the answer is still free.