Regression
Why it matters
Regressions are damaging because the broken part rarely looks connected to the change. The person who made the change has no reason to check it, so a customer notices instead. The risk rises with speed. When an AI coding agent writes much of the code, it can touch many files in one go, which multiplies the places a small change can reach. A product that regresses often teaches customers not to trust updates.
What it is
A regression is a step backwards. A feature worked yesterday, someone changed something else today, and now the feature is broken. The name comes from the product moving back to an earlier, worse state. The cause is usually hidden connections: two parts of the software share a piece of logic, so a change in one quietly alters the other.
Common mistakes
- Testing only the feature that was just built.
- Fixing a bug without adding a test, so it comes back months later.
- Letting tests fail and ignoring them, until nobody trusts the suite.
How to prevent them
- Keep automated tests that re-check old behaviour every time the code changes. These are called regression tests.
- Cover the paths that would hurt most first: taking payment, logging in and the core workflow. Do not wait for full coverage.
- Add a test the moment a bug is found, so that exact bug cannot return unnoticed.
- Run the whole suite before each release, not only the tests near the changed code.
- Check changes in a staging environment before real users see them.