Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was asked this question in an interview recently. Just wanted to see what your opinions were on this...

share|improve this question
@Vinod : Completely agreed with you. Both regression testing and re-testing are totally different terminology. Retesting is somewhat planned while regression testing is a generic testing. Regression testing is carried out as soon as there is a change in the applications to check whether the code changed has affected already working modules or not. – Prashant Chambakara Aug 30 '13 at 10:45

12 Answers 12

up vote 16 down vote accepted

Regression testing is specifically looking for bugs in functionality that was previously working and has "regressed" to a non-working state. I've never heard "retesting" used except in a common-sense way: Retesting is simply testing something again after it has been previously tested, and is a more general term since retesting doesn't say anything about the state of the software before retesting.

You can retest functionality that has never worked by running tests on it again, but you can't regression test functionality that has never worked properly because only functionality that has worked previously can "regress" to a non-working state.

share|improve this answer
+1 for explaining regression. Seems to be the most commonly misunderstood term for non-QA types. – Lucas Schwarz Aug 30 '13 at 16:50

These definitions will vary from one organization to the next. In the testing jobs I've had, regression testing has meant testing that verifies that features that used to work still work. In that context, a regression is a bug that did not exist in an earlier version of the product. In the testing jobs I've had, regression testing occurs after all new features have been tested, although the timing of regression testing is not essential to its definition.

Re-testing is what it sounds like: testing something again. You could say that regression testing is re-testing with a particular goal (looking for bugs in things that used to work) in the specific context (in a product for which an earlier version exists).

share|improve this answer

Regression testing is testing if the existing functionality is not broken due to the implementation of new features. For example I would like to test if the existing security of the facebook application is not broken by the implementation of its new feature "X".

Re-testing is the testing done by the tester to check if the application works properly after a bug is fixed. The application should be re-tested after the issues are fixed or got resolved in the later builds.

share|improve this answer
I think this is a prime example of how the definitions in place in one area/workplace are different from another area/workplace. Neither is wrong, but some will call it different things. That makes it especially difficult during an interview, because you're essentially guessing at what THEY call things. – corsiKa Jun 21 '11 at 22:48
The meaning of these terminologies don't change. Their interpretation could be slightly different in different workplaces but that shouldn't change what they are supposed to mean. This concept of "overloaded terminology" has been discussed in… – Aruna Jun 21 '11 at 23:22
I am not telling there is a standard well-established definition per se. Regression testing is a widely used term. If you google the term, you will get several definitions. In a company if I tell that these are regression related bugs and these are non-regression related bugs, I hope that people can figure out what I mean. These words have not been invented by us but is a part of the existing vocabulary. There could be several ways of using these terms but that doesn't change it's meaning. If the meaning of the terms are changed in different workplaces it can lead to confusions. – Aruna Jun 22 '11 at 6:43

Retesting is basically to execute the test cases which failed in last build. So in other words, Retesting is verifying the fix ONLY.

Regress means to go back to some last unstable or less developed state. When a CHANGE is made in a piece of software then we test the application to see what effect that CHANGE has brought in application. First we verify the fix, then see what areas this change has effected and test to see if that area is working fine i.e. there are no ripples.

Similarly, when a change is made in application then we have to update our test cases for regression testing: 1: Add test cases in test suite to verify the new functionality 2: Remove obsolete test cases which are no longer needed (some old functionality might be longer available after change in code) 3: Update currently existing to accommodate changed code. For instance, change in code might require some tweaking in steps of already existing test cases

share|improve this answer

Re-testing is just testing the bug fix and regression testing is something when a bug is fixed it doesn't affect the other functionalities in the application.When regression testing is done its like testing the whole application.

share|improve this answer

Re-testing is just testing whether the bug is fixed or not. Regression means after the bug fixing test the other areas also to see the impact of the change.

share|improve this answer
Welcome to SQA! How does your answer differ from likitha's answer? – dzieciou Aug 30 '13 at 19:13

Retesting: Retesting is the process in which tester verify that defect reported by him is fixed by the development team or not.

Regression Testing: Regression Testing is the process in which tester verify that when the defect is fix by the developer by some code change ,then this code change does not impact the other functionality of the product.

share|improve this answer

Re-testing is used when you test something again - usually because there was a bug, so you have to re-test it again to check if the bug is fixed. Term is general.

Regression testing is used when you check whole application again in order to find a new bug in places or Test Cases you previously passed OK.

share|improve this answer

I like referring to ISTQB Glossary of Testing Terms :) Just because it allows to refer to already prepared definitions.

share|improve this answer

Retesting: we execute the one test case on bug fix to make sure that bug is resolved

regression testing: we re execute all or group of test cases on the application after many bug fixes src:

share|improve this answer
He got the answer. Your answer does not provide something new :) – amazpyel Mar 27 '14 at 16:11

This is the most frequently asked question by many interviewers. In addition to above answers you can better explain by providing a relevant example that differentiates both terms. For an eg., Say if i'm testing any shopping channel or An order & inventory system based application & after testing most of the relevant modules of orders,customers & products,

  1. I found quantity(stock) shown after product being added is incorrect.Now in such case Once developer resolve the issue i need to retest it whether it saves the product with correct stock or not.
  2. Since products module is connected with orders, i need to check that the same added product has been reflected to the inventory list with same stock or not while making an order. This can be termed as regression testing as it affects to other modules also due to the change in inventory.
share|improve this answer

Please see the below comments it will useful to know difference between regression and retest

Regression Vs Retest

share|improve this answer
I down voted this because this list from an unknown source is filled with many incorrect assertions. – Bj Rollison Mar 30 '14 at 1:18
This list appears to be directly taken from other sources without attribution, as well as having a lot of incorrect information. – Kate Paulk Mar 31 '14 at 11:14

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.