Regression Testing refers to the type of software testing to make sure that a recent change in program or code has not adversely impacted the existing features.
In other words, Regression Testing is a full or partial selection of formerly performed test cases which are re-performed to assure existing functionalities work fine. During regression testing, new software bugs or regressions may be exposed. Sometimes a software change impact investigation is performed to find out what areas could be affected by the purposed changes.
It can be carried out to test a system efficiently by systematically picking out the appropriate minimum set of tests required to cover a particular change adequately.
It escalates the chance of detecting bugs caused by changes to software and application.
It helps to detect undesirable side effects caused by changing the operating environment.
It enhances the quality of the product.
It makes sure that the errors already detected and fixed are not creatable again.