Category: 

What Is Software Regression?

Article Details
  • Written By: Alex Newth
  • Edited By: Angela B.
  • Last Modified Date: 05 December 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Helium is the only element that was discovered in space before it was found on Earth.  more...

December 10 ,  1948 :  The UN adopted the Universal Declaration on Human Rights.  more...

Software regression is a bug in software programming that causes the software to effectively regress in one or more areas. There are two main types of software regression: functional and non-functional. Functional means the program works at proper speeds but one or more functions are not working, while non-functional means all functions are working, but the speed is dramatically decreased. An event, such as an upgrade, is usually the cause of regression. Regression testing checks software to ensure no regression has or will occur.

Functional software regression is one way program regression can manifest itself. When this occurs, the program will continue running at full speed, so the user may not notice the regression at first. In this manifestation, there are certain functions that do not work anymore. For example, if a program can search for files, that function may no longer work. This can affect accessory functions — those not commonly used — or the main function of the program.

Non-functional software regression is more dangerous and easier to notice, even though all functions are still working. In this manifestation, the regression makes the program run slower, or the output of the program will be significantly less. The lack of speed means the program may also become vulnerable to malicious coding and attacks, putting both the program and the computer on which it is running at risk for hacking. The speed can become so slow that it may be impossible to use the program.

Ad

For software regression to occur, a so-called event must take place. This event changes the coding of the software and introduces these bugs, either intentionally — which is rare — or unintentionally. The developer may be trying to fix a bug or update the version but incorrectly introduces some code that regresses the program. The most typical event is an upgrade, because this directly affects the program’s coding. Other events include version or configuration changes.

To alleviate the chances of software regression, regression testing is usually employed. This type of testing looks at the new program and compares it to all old versions of the program. It then runs the programming through a test to see if there is any sign of regression and to ensure that all coding is functional. Any signs of regressed or non-functioning code will be brought back to the developer or user and will report what has regressed or where the regression is found.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

Post Anonymously

Login

username
password
forgot password?

Register

username
password
confirm
email