↑
Quality & measurement in the AI era

How to plan your regression suite so it doesn't rot

A regression suite only protects you if someone decides what goes in, what stays and what gets deleted.

David Tzemach · · 2 min read

Two stacks of folders, one organized and one overflowing, with a hand removing one folder from the messy pile.

Regression testing answers one question: does the system still do what it did yesterday? Run it in your CI pipeline and you get that answer on every change.

The trouble starts a few months later. Teams keep adding tests at every level, and nobody decides which ones stay. The suite grows, gets slower, and fills up with checks for functionality that no longer exists. Then people stop trusting it.

A regression suite doesn’t rot because testing is hard. It rots because nobody planned it.

Organize by functionality, not by story

In the teams I worked with, tests were managed in a test management tool, and the natural move was to attach each test to the story that created it. It didn’t last. Stories close. A year later nobody can tell which tests still protect something real. Organize the suite around what the system does instead, and a test has a home that outlives the story that produced it.

Five steps that keep a suite healthy

  1. Agree on the criteria for adding a test. Not every test deserves to run forever.
  2. Decide how to mark regression tests, with a tag or a saved query, so you can always pull the suite up on demand.
  3. Decide when tests get added: at the end of a feature, at the end of an iteration, or as part of your definition of Done.
  4. Let unit tests and TDD tests join the suite automatically through CI, with no manual step.
  5. Put testers and developers in one group that reviews the suite at regular intervals and decides what to keep, based on return on investment.

Step five is the one teams skip. Without it, you only ever add. When functionality is removed, its tests go too. A test that guards nothing still costs you run time and attention.

One thing to try tomorrow

Open your regression suite and look for tests that cover functionality your product no longer has. Delete them, and put a recurring review on the calendar so you don’t need a cleanup project next year.

I go deeper on building quality practices that last in my book Agile Testing Mastery.

Want the full playbook? Read The Art of Agile Metrics →

Need this done, not just read about? Work with me.

Written by

David Tzemach: Engineering Operations Manager and author of REDEFINE, Agile Quality, The Art of Agile Metrics, and Agile Testing Mastery.