Definition
Re-testing of a previously tested product following modification to ensure that faults have not been inadvertently introduced to unchanged functionality.
[Source: =BCS]
Comment
Regression testing ensures that a change or fix has not caused faults to appear (or even reappear in some cases) in unchanged parts of the system. Regression test suites are often run many times making them ideal candidates for software testing automation. In some development methodologies a suite of regression tests is run frequently during the SDLC (Software Development Life Cycle). For example, it may be run after every compilation (in a small development project or as part of an overnight build.
The optimum number of tests to run in a regression test run depends upon the risks introduced by changes (both in terms of likelihood of failure and impact of failure), the cost of testing and the time available.


On many programmes and large projects, testing will take up a significant portion of the budget. But it will receive less management attention than an activity of this size warrants.