Experiment & Research Method
Regression Test
Regression testing re-checks existing functionality after changes to make sure nothing that used to work has broken.
- Fidelity
- High
- Effort
- Medium
- Time to run
- Ongoing
What is a Regression Test?
Regression testing verifies that new code — a feature, a fix, a refactor — has not broken existing functionality. It re-runs a suite of checks against known-good behavior so that "improvements" do not silently introduce failures elsewhere. In product experimentation, it is the safety net that lets you ship and iterate quickly without accumulating hidden breakage.
Most effective when automated, regression tests turn hard-won knowledge about how the product should behave into repeatable, continuous verification.
When to use it
Good fit
- You are shipping changes to a product with functionality worth protecting.
- You want to iterate quickly without fear of breaking existing behavior.
- You are refactoring and need confidence that behavior is unchanged.
Reach for something else when
- You are validating whether an idea is desirable (that is a product experiment, not a regression test).
- The product surface is tiny and throwaway.
- You need to learn about user needs or preferences (use research methods instead).
How to run it
Identify critical behaviors to protect
Prioritize the flows and edge cases whose breakage would most hurt users or revenue.
Write repeatable test cases
Capture expected inputs and outputs for those behaviors as concrete, deterministic checks.
Automate the suite
Run the checks automatically in CI so every change is verified without manual effort.
Run on every change
Execute the suite on each commit or release and block merges that break known-good behavior.
Maintain and grow coverage
Add a regression test whenever a bug is found so the same failure can never silently return.
What you'll learn
Whether recent changes have broken any existing, known-good functionality — the confidence to ship and iterate quickly without regressing the product.
Frequently asked questions
How is regression testing different from a product experiment?
A product experiment (like an A/B or fake-door test) asks whether an idea is desirable or effective. Regression testing asks whether existing functionality still works after a change. One validates what to build; the other protects what you have already built.
Should regression tests be automated?
Wherever practical, yes. Automated regression suites run on every change in CI, catching breakage immediately and cheaply. Manual regression testing does not scale and tends to be skipped under deadline pressure, which is exactly when regressions slip through.