Some of this article's listed sources may not be reliable. (December 2019) (Learn how and when to remove this template message)
A software regression is a software bug that makes a feature stop functioning as intended after a certain event (for example, a system upgrade, system patching or a change to daylight saving time). A software performance regression is a situation where the software still functions correctly, but performs more slowly or uses more memory or resources than before.
Regressions are often caused by encompassed bug fixes included in software patches. One approach to avoiding this kind of problem is regression testing. A properly designed test plan aims at preventing this possibility before releasing any software. Automated testing and well-written test cases 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.
- Yehudai, Amiram; Tyszberowicz, Shmuel; Nir, Dor (2007). Locating Regression Bugs. Haifa Verification Conference. Retrieved 10 March 2018.
- Shang, Weiyi; Hassan, Ahmed E.; Nasser, Mohamed; Flora, Parminder (11 December 2014). "Automated Detection of Performance Regressions Using Regression Models on Clustered Performance Counters" (PDF). Cite journal requires
- Richardson, Jared; Gwaltney, William Jr (2006). Ship It! A Practical Guide to Successful Software Projects. Raleigh, NC: The Pragmatic Bookshelf. pp. 32, 193. ISBN 978-0-9745140-4-8.
|This software article is a stub. You can help Wikipedia by expanding it.|