← Back to libraryQuestion 319 of 468

Retesting vs Regression Testing

📌 Definition:

Retesting confirms that a SPECIFIC defect has been fixed by re-executing the failed test case on the new build; Regression testing checks that recent changes have NOT broken existing, previously-working functionality.

📖 Detailed Explanation:

RETESTING (confirmation testing) re-runs the exact failed test(s) with the same data to verify the reported defect is now resolved — it's planned and targets known fixes. REGRESSION testing re-runs a broader set of existing tests around the changed area (and beyond) to ensure the fix/new feature didn't introduce side-effect defects — it's often automated because it repeats every release. Key differences: retesting is for confirmed fixes (same test, same data); regression is for unintended side effects (existing tests). You cannot automate retesting of an unfixed defect. Both run after changes; confusing them is a classic interview trap.

🔑 Key Points:
  • Retesting = confirm a specific defect fix (re-run the failed test)
  • Regression = ensure changes didn't break existing functionality
  • Retesting targets known fixes; regression targets side effects
  • Regression is prime for automation (repeats every release)
🌍 Real-World Example:

After a login fix: RETESTING re-runs the exact failed 'invalid password' case to confirm the fix; REGRESSION re-runs the whole authentication + session suite to ensure the fix didn't break signup or logout.

🎯 Scenario-Based Interview Question:

After a developer fixes a defect, what's the difference between retesting and regression testing, and do you do both?