Each time a new module is added as part of integration
testing, the software changes. New data flow paths are established,
new I/O may occur, and new control logic is invoked. These
changes may cause problems with functions that previously worked
flawlessly. In the context of an integration test strategy, regression
testing is the re-execution of some subset of tests that have already
been conducted to ensure that changes have not propagated
unintended side effects.