Regression Testing
Run regression tests to ensure new changes don't break existing functionality, coordinating with other test types for comprehensive coverage.
When to use me
Use this skill when:
- Making code changes that might affect existing functionality
- Preparing for releases or deployments
- Running automated test suites in CI/CD pipelines
- Validating fixes don't introduce new bugs
- Ensuring backward compatibility
What I do
-
Coordinate with other test types:
- Run unit tests to verify individual components still work
- Execute integration tests to check component interactions
- Perform end-to-end tests for critical user workflows
- Check API contracts remain unchanged
-
Test selection strategies:
- Run all tests for major changes
- Selective testing based on change impact analysis
- Risk-based regression testing for high-impact areas
- Automated test suite prioritization
-
Integration with development workflow:
- Pre-commit regression testing
- Pull request validation
- Release candidate testing
- Hotfix verification
Examples
# Run full regression suite
npm run test:regression # Full regression suite
npm run test:regression:quick # Quick regression (smoke tests)
npm run test:regression:selective # Tests related to changed files
# CI/CD integration
npm run test:ci # CI regression suite
npm run test:pr # PR validation tests
# Test selection based on changes
npx jest --listTests | grep -E "(auth|user)" # Select auth-related tests
npm run test:affected -- --base=main # Run tests for changed code
# Coordinate with other test types
npm run test:unit && npm run test:integration && npm run test:e2e:critical
Output format
Regression Test Results:
──────────────────────────────
Test Scope: Selective regression (changed: auth module)
Execution Order:
1. Unit Tests (auth service): ✅ 42/42 passed
2. Integration Tests (auth API): ✅ 8/8 passed
3. E2E Tests (login flow): ✅ 3/3 passed
4. API Contract Tests: ✅ No breaking changes
Dependencies Verified:
- User service depends on auth: ✅ No issues
- Session management: ✅ Compatible
- Third-party auth providers: ✅ Still functional
Impact Assessment:
- High Risk Areas: 0 affected
- Medium Risk Areas: 1 (password reset flow)
- Low Risk Areas: 3
Recommendation:
- All regression tests pass
- Safe to merge/deploy
- Monitor password reset in staging
Notes
- Regression tests should be fast and reliable
- Automate regression testing in CI/CD pipelines
- Use test suites that other test types (unit, integration, e2e) have validated
- Implement flaky test detection and quarantine
- Consider visual regression testing for UI changes
- Track test execution time and optimize slow tests
- Use parallel execution where possible
- Maintain test data consistency across runs