Regression testing is the process of testing changes to computer programs to verify whether older programming still works with new changes. Test coders develop test scenarios and exercises that will test new units of code after they have been written. These scenarios and exercises are used to generate scripts that are run by automated testing tools, such as Seapine's QA Wizard.
Assures that anything unchanged still performs correctly. All unchanged a system components still function as expected and all manual procedures surrounding the systems are still correct. The potential scope of testing is theoretically largest in regression testing since the entire universe of technology and documentation outside of a project's scope should be retested to assure no negative unplanned impacts. In fact, risk assessment can be used to dramatically limit the scope of regression testing to those technology and documentation components that are reasonably at risk.
Regression testing helps to ensure that changes made to the software code do not break other previously working parts of the software. It is important to do regression testing frequently while writing code, because the code as a whole may easily "regress" to a lower level of quality after making a change. Regression testing is necessary, even though a change appears to be working correctly and is believed not to affect the rest of the software.