17FundamentalsTesting TypesFundamentals
What is the difference between Retesting and Regression Testing?
Retesting:
- Purpose: Verify that a specific defect has been fixed
- Scope: Only the failed test case
- When: After developer fixes a bug
- Test Cases: Same test case that found the bug
- Automation: Can be automated but usually manual
- Priority: High priority
- Also Known As: Confirmation testing
Regression Testing:
- Purpose: Ensure existing functionality still works after changes
- Scope: Entire application or affected modules
- When: After any code change (fix, enhancement, new feature)
- Test Cases: All or subset of existing test cases
- Automation: Highly recommended to automate
- Priority: Can be medium to high
- Also Known As: Verification testing
Example Scenario
Bug: Login button doesn’t work with special characters in password
- Retesting: Test login with special characters again to verify the fix
- Regression Testing: Test all login scenarios (valid login, invalid login, forgot password, etc.) to ensure the fix didn’t break anything
Key Difference
Retesting = “Did we fix the bug?” Regression Testing = “Did the fix break anything else?”