Regression testing is a software testing process executed after making modifications or upgrades to a software application and re-tests the application areas that may have been affected by the fix. It can be performed manually and automatically by running a specific set of test cases.
When a software product undergoes alterations in the existing features, bug fixes, and the addition of new features, regression testing aims to ensure that after these alterations, the product works as expected.