Jump to content

Software regression: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Kenyoni (talk | contribs)
→‎top: Add citation
Kenyoni (talk | contribs)
→‎top: Removed maintenance template.
Line 1: Line 1:

{{multiple issues|
{{More citations needed|date=December 2009}}
{{Original research|date=July 2009}}
}}


A '''software regression''' is a [[software bug]] that makes a feature stop functioning as intended after a certain event (for example, a system upgrade, [[Patch (computing)|system patching]] or a change to [[daylight saving time]]).<ref name=ibm-locating-bugs>{{cite conference |last1=Yehudai|first1=Amiram |last2=Tyszberowicz|first2=Shmuel |last3=Nir|first3=Dor|title=Locating Regression Bugs|url=https://www.researchgate.net/profile/Avi_Ziv/publication/225437428_Using_Virtual_Coverage_to_Hit_Hard-To-Reach_Events/links/544a2c590cf2ea6541343ef8/Using-Virtual-Coverage-to-Hit-Hard-To-Reach-Events.pdf#page=235|conference=Haifa Verification Conference|conference-url=https://www.research.ibm.com/haifa/conferences/hvc2017/previous.shtml|year=2007|accessdate=10 March 2018}}</ref> 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.<ref>{{Cite journal|last=Shang|first=Weiyi|last2=Hassan|first2=Ahmed E.|last3=Nasser|first3=Mohamed|last4=Flora|first4=Parminder|date=11 December 2014|title=Automated Detection of Performance Regressions Using Regression Models on Clustered Performance Counters|url=https://sail.cs.queensu.ca/Downloads/ICPE2015_AutomatedDetectionofPerformanceRegressionsUsingRegressionModelsOnClusteredPerformanceCounters.pdf#page=1|journal=|volume=|pages=|via=}}</ref>
A '''software regression''' is a [[software bug]] that makes a feature stop functioning as intended after a certain event (for example, a system upgrade, [[Patch (computing)|system patching]] or a change to [[daylight saving time]]).<ref name=ibm-locating-bugs>{{cite conference |last1=Yehudai|first1=Amiram |last2=Tyszberowicz|first2=Shmuel |last3=Nir|first3=Dor|title=Locating Regression Bugs|url=https://www.researchgate.net/profile/Avi_Ziv/publication/225437428_Using_Virtual_Coverage_to_Hit_Hard-To-Reach_Events/links/544a2c590cf2ea6541343ef8/Using-Virtual-Coverage-to-Hit-Hard-To-Reach-Events.pdf#page=235|conference=Haifa Verification Conference|conference-url=https://www.research.ibm.com/haifa/conferences/hvc2017/previous.shtml|year=2007|accessdate=10 March 2018}}</ref> 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.<ref>{{Cite journal|last=Shang|first=Weiyi|last2=Hassan|first2=Ahmed E.|last3=Nasser|first3=Mohamed|last4=Flora|first4=Parminder|date=11 December 2014|title=Automated Detection of Performance Regressions Using Regression Models on Clustered Performance Counters|url=https://sail.cs.queensu.ca/Downloads/ICPE2015_AutomatedDetectionofPerformanceRegressionsUsingRegressionModelsOnClusteredPerformanceCounters.pdf#page=1|journal=|volume=|pages=|via=}}</ref>

Revision as of 01:47, 22 December 2019


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

  1. ^ Yehudai, Amiram; Tyszberowicz, Shmuel; Nir, Dor (2007). Locating Regression Bugs (PDF). Haifa Verification Conference. Retrieved 10 March 2018.
  2. ^ 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)
  3. ^ 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.
  4. ^ "Regression testing: Types, Techniques and Benefits - QA Service - Apphawks". Software Testing Company & QA Services - Apphawks. 2019-02-20. Retrieved 2019-12-21.
  5. ^ Andrew Powell-Morse (2018-02-07). "Regression Testing: What It Is and How to Use It". Airbrake Blog. Retrieved 2019-12-22.