Could anyone explain the word regression test in an understandable way?
17 Answers
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.

- 47,013
- 16
- 123
- 162

- 74,528
- 26
- 112
- 128
-
9The 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. – Gishu Aug 12 '10 at 03:57
-
14-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. – Ben Sep 30 '13 at 01:20
-
9@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. – Igor Zevaka Oct 02 '13 at 00:00
-
10@Igor - you're right. http://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".` – Ben Oct 02 '13 at 03:10
-
I do not think that non-regression tests can be written only after fixing a bug. Igor's definition looks correct to me. – Marco Altieri Oct 29 '17 at 19:29
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.

- 39,912
- 17
- 102
- 155
-
10+1 Great with an explanation of what the wording of the term actually means! – KlausCPH Sep 23 '13 at 21:41
-
This is right on. http://stackoverflow.com/questions/520064/what-is-unit-test-integration-test-smoke-test-regression-test has a good explanation too. – Ben Sep 30 '13 at 01:21
-
Can't we say that we also have regression (moved backward) when some functionality has disappeared or is broken? – Escape Velocity Jan 08 '14 at 09:28
-
1@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 https://www.merriam-webster.com/dictionary/regressing and https://en.wikipedia.org/wiki/Software_regression – flow2k Jun 15 '17 at 09:07
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

- 1,234
- 1
- 11
- 27

- 59
- 1
- 3
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.

- 10,226
- 5
- 43
- 50

- 139
- 1
- 6
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).

- 242,243
- 40
- 408
- 536
- Do unit test
- Do integration test
- After (1) and (2) are passed, do regression test
In simple term, regression test is to repeat step (1) and (2) again.

- 25,431
- 14
- 84
- 143
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

- 17
- 3
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.
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.

- 864
- 10
- 22
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.

- 742
- 3
- 7
-
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? – never_had_a_name Aug 12 '10 at 04:03
-
1You don't - the unit tests are automatically regression tests. :) – Brian MacKay Aug 12 '10 at 13:42
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.

- 1
- 2
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.

- 1
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

- 21
- 4
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
Common code changed correctly or not.
Correct or incorrect version control.
Bug fixes perfectly.
Bug fixes completely.
Performance issue fix.
6.Change in requirements and code is modified according to the requirement.
- The new feature is added to the software perfectly.
For More Visit LINK

- 1
- 5
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.
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.

- 19,824
- 17
- 99
- 186

- 422
- 4
- 6
-
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. – halfer Aug 06 '19 at 21:09
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.
-
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](/help/how-to-answer). – Community Apr 18 '23 at 22:48