What does regression test mean?
Asked Answered
S

17

71

Could anyone explain the word regression test in an understandable way?

Sowder answered 12/8, 2010 at 3:51 Comment(0)
C
107

Regression test is a test that is performed to make sure that previously working functionality still works, after changes elsewhere in the system. Wikipedia article is pretty good at explaining what it is.

Your unit tests are automatically regression tests, and that's one of their biggest advantages. Once those tests are written, they will be run in future, whenever you add new functionality or change existing functionality. You don't need to explicitly write regression tests.

Cripple answered 12/8, 2010 at 3:54 Comment(5)
The intent of regression testing is to provide a general assurance that no additional errors were introduced in the process of fixing other problems. -- from the wiki.Intelligent
-1 This definition is extremely broad. Every test makes sure working functionality still works - that's the general point of testing. Regression tests are tests written during debugging to make sure the code does not regress.Transship
@Steve - I give you +1 for your comment of "Regression tests are tests written during debugging to make sure the code does not regress" - for being wonderfully circular and non-specific.Cripple
@Igor - you're right. stackoverflow.com/questions/520064 explains it better than I did: A test that was written when a bug was fixed. It ensure that this specific bug will not occur again. The full name is "non-regression test".Transship
I do not think that non-regression tests can be written only after fixing a bug. Igor's definition looks correct to me.Moron
S
53

Notwithstanding the old joke, "Congress" is not the opposite of "progress;" "regress" is. For your code to regress is for it to "move backward," typically meaning that some bad behavior it once had, which you fixed, has come back. A "regression" is the return of a bug (although there can be other interpretations). A regression test, therefore, is a test that validates that you have fixed the bug, and one that you run periodically to ensure that your fix is still in place, still working.

Soybean answered 12/8, 2010 at 13:35 Comment(4)
+1 Great with an explanation of what the wording of the term actually means!Pass
This is right on. #520564 has a good explanation too.Transship
Can't we say that we also have regression (moved backward) when some functionality has disappeared or is broken?Bioscope
@EscapeVelocity Yes. Regression or moving back can have two meanings: 1) moving back in time, as the Carl indicates, or 2) moving back in quality, i.e. becoming worse, in function or performance. See merriam-webster.com/dictionary/regressing and en.wikipedia.org/wiki/Software_regressionBinocular
D
5

The word regression as coined by Francis Galton means

Regression: The act of going back

I.e. it is the phenomenon/technique in software testing to check any change / bug fixes hasn't impacted the existing functionality of the system. Thus the intent of regression testing is to ensure that a change, such as a bug fix should not result in another fault being uncovered in the application.

Regression Testing is required when

  • there is a change in requirements and code is modified according to the requirement
  • a new feature is added to the software
  • defects are fixed
  • a performance issue is fixed

Regression testing can be done both manually and automated.

These are some tools for the automation approach:

  • QTP
  • AdventNet QEngine
  • Regression Tester
  • vTest
  • Watir
  • Selenium
  • actiWate
  • Rational Functional Tester
  • SilkTest
Denmark answered 4/8, 2015 at 7:19 Comment(0)
F
1

During a regression test, testers run through your application testing features that were known to work in the previous build.

They look specifically for parts of the application that may not have been directly modified, but depend on (and could have residual bugs from) code that was modified.

Those bugs (ones caused by bugs in dependent code even though they were working before) are known as regressions (because the feature was working properly and now has a bug...and therefore, regressed).

Forerun answered 12/8, 2010 at 3:53 Comment(0)
H
1

Regression testing is a part of testing activity, which can be start after
modification has been made to check the reliability of each software released.
It's nothing but an impact analysis to check wheather it not affecting critical
area of the software.

Hovey answered 28/8, 2014 at 11:9 Comment(0)
A
1
  1. Do unit test
  2. Do integration test
  3. After (1) and (2) are passed, do regression test

In simple term, regression test is to repeat step (1) and (2) again.

Alyssa answered 8/4, 2016 at 9:16 Comment(0)
W
1

Regression testing basically perform after completing of retesting. The main purpose of regression testing is to check the impact of modification. Whether still our application is acting stable.

Its necessary to perform a regression testing because sometimes it happened after retesting or while fixing bug developer fixed the bug and missed out something on other code or on dependent code

Warison answered 11/10, 2017 at 8:43 Comment(0)
E
0

http://en.wikipedia.org/wiki/Regression_testing

Basically, test the code you've updated to make sure you haven't introduced new bugs and that the functionality still works as before.

Ermeena answered 12/8, 2010 at 3:57 Comment(2)
but if the code passes all tests i write prior i wrote them. shouldn't it be safe? why do i still have to write regression tests?Sowder
You don't - the unit tests are automatically regression tests. :)Sabbatarian
S
0

Regression test:- IF THERE ANY Changes, delate,modification, up dings or adding in my application . In that case I have to know that my application works as it was working before.

Steersman answered 7/1, 2014 at 22:30 Comment(0)
C
0

Regression test - Is a type of SW testing where we try to cover or check around the bug Original bug Fix.

The functionality around the bug fix should not get changed or altered due to the Fix provided. Issues found in such process are called as Regression Issues.

Cylinder answered 26/7, 2015 at 4:39 Comment(0)
G
0

Regression test is a test which enables us to find introduced bug by testing some areas in the software that we are testing. Introduced bug means a bug which is caused by the new changes made by the developer.

The key in the regression test is how we can effectively do the test by wisely deciding some areas which might be impacted by the changes since we can't test all the functionalities due to the time constraint (most of the time). 'Effective' in here means we can find bugs in a relatively short period of time.

Gastrocnemius answered 24/11, 2016 at 7:55 Comment(0)
L
0

In a simple way, Regression test is a test to make sure that the functionality of a system still works after a new code change has been introduced. It doesn't really have to be a thorough testing of the whole functionality (such as functional testing), only the areas that are considered to be impacted by the introduced code changes.

Lopeared answered 24/11, 2016 at 8:14 Comment(0)
H
0

Regression testing means testing your software/website repeatedly. The main reason for it is to make sure there aren't any new bugs introduced.

Typically, regression tests will be automated, to reduce the cost of rerunning the test. The more high value test cases you can construct, the better. This is one example of a Play and Record regression testing platform

Heedful answered 28/10, 2017 at 1:30 Comment(0)
P
0

Definition: - Regression testing is defined as a type of software testing to confirm that a recent program or code change has not harmfully affected existing features.

Regression Testing is Re-Testing to make sure that any modification done in a program will not affect the other functionality.

Regression testing is nothing but a full or partial selection of already executed test cases which are re-executed to ensure existing functionalities work fine.

We can do Regression Testing at all the level of testing like Unit Testing, Integration Testing and System Testing Level.

Need of Regression Testing

  1. Common code changed correctly or not.

  2. Correct or incorrect version control.

  3. Bug fixes perfectly.

  4. Bug fixes completely.

  5. Performance issue fix.

6.Change in requirements and code is modified according to the requirement.

  1. The new feature is added to the software perfectly.

For More Visit LINK

Philbin answered 28/11, 2017 at 14:19 Comment(0)
V
0

I like this definition of regression testing:

[regression testing] tells you if a previously written and tested code broke after you’ve added an update or a fix

[...] it helps you notice if you’ve unknowingly introduced bugs to your software while adding new code. New bugs of this kind are called regressions.

Basically, a regression is returning to a state where your application has bugs.

Visitation answered 29/5, 2018 at 8:27 Comment(0)
M
0

Regression testing is an activity performed to ensure the different functionalities of the system are still working as expected and the new functionalities added did not break any of the existing ones.

Secondly, you generally write automated tests or do manual testing to the above mentioned testing. It could be a combination of Unit/API/UI tests that are run on a daily basis. Regression testing can be performed in various phases of the SDLC, it all depends on the context.

Hopefully this gives an idea on what is regression testing.

Mim answered 6/8, 2019 at 21:7 Comment(1)
Hi Raj. I appreciate you want to attract users to your service, but we do not allow signatures and promotional links here, and link shorteners are prohibited as well (I assume hubs.ly is not yet known by Stack Overflow as a shortening service - the editor stops a number of them entering the database). You may add a link in your profile and your profile description though.Roll
B
0

Regression testing: we take a bunch of data and keep running it against the dev code dll and many times. And that's how it's done. Courtesy Microsoft principal software engineer manager.

Bellerophon answered 12/4, 2023 at 13:30 Comment(1)
As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.Schneider

© 2022 - 2024 — McMap. All rights reserved.