- Software regression
A software regression is a
software bug which makes a feature stop functioning as intended after a certain event (for example, a system upgrade, system patching or a change todaylight saving time ). A software performance regression is a situation where the software still functions correctly, but performs slowly or uses more memory when compared to previous versions.Regressions are often caused by encompassed bug fixes included in software patches. One approach to avoiding this kind of problem is
regression testing . It is essential that a comprehensivetest plan covers this possibility before releasing any software patch.Automated testing and well-writtentest case s can reduce the likelihood of a regression.A software regression can be of one of three types:
* Local – a change introduces a new bug in the changed module or component.
* Remote – a change in one part of the software breaks functionality in another module or component.
* Unmasked – a change unmasks an already existing bug that had no effect before the change.The term "regression" was originally used to refer to a change that caused a previously fixed bug to reappear and the software to thus "regress" to a prior, incorrect state. Regression test suites were accordingly composed of tests which tried to ensure the continued effectiveness of past bug fixes. However, the term has since evolved to its current, more general meaning of any change that breaks existing functionality.
Wikimedia Foundation. 2010.