Software regression

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 to daylight 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 comprehensive test plan covers this possibility before releasing any software patch. 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.

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.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Regression — could refer to:* Regression (psychology), a defensive reaction to some unaccepted impulses * Past life regression, (psychology) a process claiming to retrieve memories of previous lives * Software regression, (software engineering) the appearance …   Wikipedia

  • Software bug — To report a MediaWiki error on Wikipedia, see Wikipedia:Bug reports. A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or …   Wikipedia

  • Software testing — is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test [ [http://www.kaner.com/pdfs/ETatQAI.pdf Exploratory Testing] , Cem Kaner, Florida Institute of Technology,… …   Wikipedia

  • Regression testing — is any type of software testing which seeks to uncover software regressions. Such regressions occur whenever software functionality that was previously working correctly stops working as intended. Typically regressions occur as an unintended… …   Wikipedia

  • Software development effort estimation — is the process of predicting the most realistic use of effort required to develop or maintain software based on incomplete, uncertain and/or noisy input. Effort estimates may be used as input to project plans, iteration plans, budgets, investment …   Wikipedia

  • Software-Zuverlässigkeit — ist definiert als „Wahrscheinlichkeit der fehlerfreien Funktion eines Computer Programms in einer spezifizierten Umgebung in einer spezifizierten Zeit“ [1]. Damit gehört Software Zuverlässigkeit zu den objektiven, messbaren oder schätzbaren… …   Deutsch Wikipedia

  • Regression analysis — In statistics, regression analysis is a collective name for techniques for the modeling and analysis of numerical data consisting of values of a dependent variable (response variable) and of one or more independent variables (explanatory… …   Wikipedia

  • Regression Analysis of Time Series — Infobox Software name = RATS caption = developer = Estima latest release version = 7.0 latest release date = 2007 operating system = Cross platform genre = econometrics software license = Proprietary website =… …   Wikipedia

  • Regression Tree — Entscheidungsbäume sind eine spezielle Darstellungsform von Entscheidungsregeln. Sie veranschaulichen aufeinanderfolgende, hierarchische Entscheidungen. Sie haben eine Bedeutung in der Stochastik zur Veranschaulichung bedingter… …   Deutsch Wikipedia

  • Non-regression testing — (NRT) is an approach of software testing. The purpose of non regression testing is to verify that, after introducing or updating a given software application, previous software functions have not been compromised. This is aimed at preventing… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”