Software regression
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
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).[1] 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.[2]
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.[3] Automated testing and well-written test cases can reduce the likelihood of a regression.
A software regression can be of one of three types:[4][5]
- 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.
See also
References
- ^ Yehudai, Amiram; Tyszberowicz, Shmuel; Nir, Dor (2007). Locating Regression Bugs (PDF). 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}}
: Cite journal requires|journal=
(help) - ^ 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.
- ^ "Regression testing: Types, Techniques and Benefits - QA Service - Apphawks". Software Testing Company & QA Services - Apphawks. 2019-02-20. Retrieved 2019-12-21.
- ^ Andrew Powell-Morse (2018-02-07). "Regression Testing: What It Is and How to Use It". Airbrake Blog. Retrieved 2019-12-22.