Regression Testing

Learn how to verify that new changes haven't broken existing features. Master regression strategy, test selection, and when to automate.

Manual QA Module 2 Lesson 2
10 min read

What you'll learn

  • Understand what regression testing is and why it is critical
  • Select the right tests to run for each change
  • Decide when to automate regression tests
  • Plan a smoke vs full regression cycle

Regression Testing

Imagine you fix a leaky sink in your apartment. Then you go to take a shower and… the shower is broken now.

That is exactly what happens in software. You fix one thing, and something totally unrelated breaks. Regression testing is how we catch that.

What is Regression Testing?

Why It Matters

Types of Regression Testing

  1. 1

    Unit Regression

    Re-run tests on the exact piece of code you changed. Fast and narrow.

  2. 2

    Functional Regression

    Re-test the feature that was changed to make sure it still behaves correctly end-to-end.

  3. 3

    Visual Regression

    Compare screenshots before and after the change to catch layout or style breaks.

  4. 4

    Partial Regression

    Re-test the changed feature plus a hand-picked set of related features.

  5. 5

    Full Regression

    Re-run every test in your entire suite. Safest, slowest, most expensive.

Smoke vs Regression

Smoke Test

  • A quick sanity check
  • Takes minutes, not hours
  • Runs on every build
  • Covers the most critical paths only
  • Answers: 'Is this build worth testing?'

Regression Test

  • A deep, thorough verification
  • Takes hours or days
  • Runs before a release
  • Covers many features across the app
  • Answers: 'Is this build safe to ship?'

VerdictSmoke tests are your first filter. Regression tests are your final guardrail.

Quick check

Question 1 of 10 correct

You just deployed a new build to staging. Which test should run FIRST?

Test Selection Strategies

You usually cannot run every test on every change. Pick wisely.

Full Re-test
Prioritized
Risk-Based
  • Full Re-test:Run every test. Safest, slowest.
  • Prioritized:Run tests ranked by business value.
  • Risk-Based:Run tests where bugs are most likely.
Start at the base for everyday changes. Climb up for major releases.

When to Automate Regression

Not every test is worth automating. Use this map to decide.

Should you automate this regression test?

Frequency
Often

Run often, unstable feature

Automate carefully. Flaky tests hurt more than they help.

Run often, stable feature

Automate now. Biggest win.

Run rarely, unstable feature

Keep manual. Not worth the maintenance.

Run rarely, stable feature

Automate if cheap. Otherwise leave manual.

Rare
UnstableStable
Stability
Automate the tests that run often AND don't break constantly.

Common Traps

A Regression Cycle

Code Change

Developer commits a fix or feature.

Smoke Test

Quick check that the build works at all.

Regression Suite

Deep test of many features.

Sign-Off

QA approves — ready to release.


Practice: Put the Regression Steps in Order

Drag the steps into the correct order for a regression cycle.

  1. 1Run the full regression suite
  2. 2Developer commits a code change
  3. 3Run a quick smoke test on the new build
  4. 4QA signs off and the release ships

Quiz

Question 1 of 30 correct

A developer fixes a bug in the checkout page. Which regression strategy makes the most sense for this specific fix?