Potential system changes are various and can range from modifications as a result of testing to new feature requirements included in change requests. When a change is made to part of an application, it is usually tested to ensure the fix works. Though this is a good practice, it is not always sufficient as it cannot guarantee the quality of the system. Every change to an existing system has a high probability of adversely affecting other functions in that system, causing a ripple effect of defects. A primary goal of testing must be to ensure existing business objectives continue to be met after system updates.
Regression Testing Defined
Regression testing aims to selectively test parts of a system to ensure that additions, modifications, and deletions made to the application have not unintentionally affected previously working functionality. To that end, regression tests include test cases from original unit, functional, and system testing phases that confirmed system functionality.