What Is Regression Testing?
Regression testing is testing previously-tested software to find defects that may have been introduced by changes to the software. Changes that may have been done to the software may include software functional enhancements, bug fixes, changes in configuration, integration with other components or system changes such as an Operating System or DBMS change.
As an example, assume there is an application with 2 buttons ADD and DELETE and both buttons function as expected. If a third button UPDATE is introduced, then not only should the new button be tested for defects but the already existing buttons should be re-tested for defects to ensure their functionality has not been impacted by the changes to the software. This process is called Regression Testing.