The selective retesting of a
software system that has been modified to ensure that any
bugs have been fixed and that no other previously working functions have failed as a result of the reparations and that newly added features have not created problems with previous versions of the software. Also referred to as
verification testing, regression testing is initiated after a
programmer has attempted to fix a recognized problem or has added
source code to a program that may have inadvertently introduced errors. It is a quality control measure to ensure that the newly modified code still complies with its specified requirements and that unmodified code has not been affected by the maintenance activity.