Why your tests pass but production breaks
Green tests and a broken production aren't a contradiction. They're a sign your tests are checking the wrong things.
It's one of the more demoralizing experiences in building software: every test is green, you ship with confidence, and production immediately breaks. It's not a paradox. It means your tests are verifying things that don't match how the system is actually used.
Tests check assumptions, not reality
A test only catches what you thought to check. If the failure comes from a condition you never imagined — weird input, an integration behaving differently, real-world scale — your tests had nothing to say about it. Passing tests prove your assumptions hold, not that reality matches them.
Test what actually breaks
- Cover the messy real inputs, not just the clean expected ones.
- Test the integration points where systems meet — that's where surprises live.
- Add a test for every production bug, so it can't recur silently.
- Don't mistake high coverage for testing the things that matter.
Green tests mean your assumptions held. Production is where you find out which assumptions you never made.