What is regression testing?
Answer
Regression testing verifies that existing functionality continues to work correctly after new code changes (bug fixes, new features, refactoring). The goal is to ensure that "fixing one thing doesn't break another." A regression is a bug that existed, was fixed, but reappeared due to a subsequent change. Regression testing is often automated — the test suite is run on every code change (CI/CD pipeline). Types: Full regression: run all tests. Partial/selective regression: run tests related to changed code. Automated unit, integration, and E2E tests collectively form the regression suite. Without a good test suite, any change carries the risk of undetected regressions — organizations without automated testing often experience a slow, painful "release anxiety" where any change might break something. TDD naturally produces a comprehensive regression suite as a byproduct of development.