Tests Remain
There was an engineer who never wrote tests.
He was fast. He had few bugs. He genuinely believed that tests were unnecessary overhead — that the code just worked. Then one day, an edge case surfaced in a complex component of a large-scale service. In production. The fix took minutes. The aftermath was brutal. Identifying the scope of impact. Recovering every corrupted record. Explaining to customers. Writing the post-mortem. With tests, none of it would have happened.
Tests are tedious. They take time to write and time to maintain. Some projects have more test code than application code. You write them anyway, for one reason: humans forget. You cannot remember the intent behind code you wrote three months ago. The tests remember for you.
In the age of AI-generated code, testing matters more, not less.
AI output is fast. Fast does not mean correct. It misreads context. It breaks contracts with existing code. When a human writes something, you can walk over and ask them what they meant. When AI writes something, there is no one to ask. Only the tests can tell you whether the code does what it should.
With extensive tests, you can let AI write code and still catch regressions. Tests pass, you ship. Tests fail, you fix. Whether a human or an AI wrote the code is irrelevant. Tests become the last line of defense for quality.
The barrier to E2E testing has dropped too. Ask AI to spin up a Docker environment, drive a browser with Playwright, write the assertions. What used to cost half a day of setup finishes in minutes. The excuses for skipping tests are running out.
The engineer who never wrote tests is now writing this blog.