Experiment & Research Method

Regression Test

Regression testing re-checks existing functionality after changes to make sure nothing that used to work has broken.

Category
Product Experiment
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

  1. Identify critical behaviors to protect

    Prioritize the flows and edge cases whose breakage would most hurt users or revenue.

  2. Write repeatable test cases

    Capture expected inputs and outputs for those behaviors as concrete, deterministic checks.

  3. Automate the suite

    Run the checks automatically in CI so every change is verified without manual effort.

  4. Run on every change

    Execute the suite on each commit or release and block merges that break known-good behavior.

  5. 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.