Learning Objectives
By the end of this lesson, you'll be able to:
- βοΈ Explain the difference between full, partial, and prioritized regression
- π Describe what a regression checklist is and why it's valuable
- πΊοΈ Choose the right regression strategy for a given situation
- π§ Make smart, defensible decisions about test coverage under time pressure
The Big Idea
"We need to do regression before the release."
"Okay β regression of what? How much? Starting where?"
If this conversation sounds familiar, you need a regression strategy. Because "test everything" is not a strategy β it's a panic response.
Real regression strategy means:
- Understanding what changed
- Assessing the risk of those changes
- Choosing the appropriate scope of testing
This lesson gives you three tools and a decision framework.
The Three Regression Strategies
1. Full Regression
What: Testing every feature and test case in the entire product.
When to use:
- Before a major release (v1.0, v2.0, major version bump)
- After a fundamental architectural change (new database, new auth system, framework upgrade)
- After a large number of changes across many modules
Pros: Maximum coverage. Finds everything. Cons: Extremely time-consuming. Can take days. Often not practical in fast-moving teams.
Reality check: In most agile teams, full regression happens once per release cycle β if at all. Most day-to-day work uses partial or prioritized.
2. Partial Regression
What: Testing only the modules and features directly impacted by the changes.
When to use:
- A specific module or subsystem was modified
- The change scope is clearly defined and bounded
- Risk assessment shows low impact on other areas
Example: A developer updated the notification email templates. You test:
- Notification trigger events
- Email content and formatting
- Links in emails
- Unsubscribe flow
You don't test: login, checkout, dashboard, profile β unless they interact with notifications.
Pros: Faster. Focused. Easier to scope. Cons: Requires good impact analysis. Can miss unexpected ripples.
3. Prioritized Regression
What: Testing the most important and highest-risk areas first, regardless of what changed.
When to use:
- Time is critically short (end of sprint, client deadline)
- The changes are broad and a full regression isn't possible
- You need to make a conscious "this is what we're covering" decision
How to prioritize:
- π΄ P1: Core user flows (login, main feature, payment/subscription)
- π‘ P2: Frequently used secondary features
- π’ P3: Edge cases and less-visited areas
You work through P1 first. If time allows, P2. P3 only if you have remaining capacity.
Pros: Pragmatic. Ensures the most critical areas are always covered. Cons: Explicitly leaves some areas untested β you must communicate this risk.
The Regression Checklist
The regression checklist is your long-term asset. It's a curated list of high-priority test cases that cover the most critical and frequently broken areas of your product.
What it includes:
- Test cases that have historically caught bugs
- Test cases covering your product's critical path
- Test cases for areas that change frequently
- Test cases for areas with complex integrations
What it's NOT:
- Every test case you've ever written
- A list of all known bugs
- An automated test suite (though automation can cover it)
How to build it:
- Start with your smoke test cases
- Add the most critical functional scenarios (happy paths and key negative paths)
- Add test cases from bugs that were caught late β these are your "we got burned here" reminders
- Review and prune it every quarter
Who owns it: The QA team. It should be in your test management system (Jira, TestRail, Notion β whatever your team uses), not in someone's head.
The Decision Framework
What changed? β How much of the product? β How risky?
β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββ
βΌ βΌ βΌ
Major release / One module changed / Short on time /
architectural change bounded impact broad changes
β β β
βΌ βΌ βΌ
FULL REGRESSION PARTIAL REGRESSION PRIORITIZED REGRESSION
Pro Tips
π‘ Always document what you didn't test. If you ran prioritized regression and skipped P3, write it down: "P3 areas were not covered in this cycle due to time constraints." This creates a shared understanding of risk, not a cover-up.
π‘ Regression checklists decay over time. If you wrote your checklist 18 months ago and never updated it, it probably doesn't match the current product. Schedule a quarterly review.
π‘ Partial regression is not lazy β it's professional. Knowing exactly what you're covering and why is more professional than blindly testing everything and missing the actual risk areas.
Summary
- β Full regression: maximum coverage, use for major releases and architectural changes
- π― Partial regression: focused on changed modules, use when impact is well-understood
- β‘ Prioritized regression: critical paths first, use under time pressure
- π Regression checklist: your curated, maintained list of high-priority test cases
- π£οΈ Always communicate what you covered β and what you didn't
Module 2 complete! π‘οΈ Next: Module 3 β By Test Object. We're about to see the product from three very different angles. π¬