Re-testing vs. Regression Testing

Difference between Regression and Re-testing are most haunting software testing question asked in any interview by interviewer and we normally get confused between Regression and Retesting

We as tester do Retesting and Regression testing all our life, Whether we reach on the top of ladder of this profession or has just started the profession.

Software testing is a kind of fun and if you are not enjoying the software testing, It means you are not following the right method of testing.

Since we people are linked with the testing of software, we all would be pretty familiar with the word Regression and Retesting. Since both sound similar and comes in to action just after a bug-fix, so most of the time we people get stuck to the fundamental difference between Retesting and Regression.

Here i am going to note down

Difference between Regression and Retesting

1-Retesting is done to make sure that bug is fixed and failed functionality is working fine or not, This is kind of verification method followed in testing field for the fixed bugs. Whereas, Regression is re-execution of the test cases for unchanged part to see that unchanged functionality is working fine are not.

2-  Retesting is a planned testing while Regression is know as the generic testing.

3- Retesting is only done for failed Test cases while Regression is done for passed test cases.

4- We should always keep this in mind, Re-testing has higher priority than the regression testing. But in bigger projects Retesting and Regression is done in parallel effort.But never forget importance of both in the success of the project.

Let me explain my things with an example.

For eg: in an application we need to manage college accounts department, college hostel department and college academic department. There are three modules. A bug was found in hostel module. So, it needs to be retested. And since accounts module depends on hostel module, so regression testing would be done on hostel module also.

Courtesy: Amrit Kaur


  • can we tell retesting as “confirmation testing”

    • Thanks for giving me chance to help me out.

      You are absolutely right, Retesting is also known as confirmation Testing because we do retesting to make sure that fix for the failed test case has been made or not and it is working fine after the fix or not. It means we really want to confirm wheather fix is helping us out to run successfully run the failed Test case or not


      • Shruti Sagar Mishra

        No , I think we cant.
        Usually these two are synonymns but technically Retesting is diff .
        Retesting is linked with the defect but the Confirmation should be linked with Features/Func.
        Okay .. now i ll try to elaborate it more(In light of Agile Process , for non agile both are almost same).
        1.QA Finds a Defect he raised to Dev Team . Dev team do Testing from their end and send it back to retest to Qa Team.(Now this is retesting)
        2. In Agile we have received a set of reqmnt you have started Testing Process with the sprint you recevied a new requiment or a enhancemnent for the existing feature(which is going to impact othere func too) .(now although you have already executed the test case for impact func, you need to run second iteration of the same to ensure that the existing func is not broken, now prctically there is no defect raised ,)

        Please let me know if you have any concerns

  • when new build comes/environment change, which testing is applicable.

    • First of all when new build come
      1) Developer do the Smoke testing at their end to ensure that build is testable
      2) When a testable build comes to tester then they do Sanity Testing to ensure the health of build for further testing,
      Whenever build fail either at tester or developer end then build is sent back without wasting more time on it.

      But When we are talking about Environment change then here maintenance testing comes in to action followed by regression testing.
      This kind of testing comes in to action in these conditions
      1- When some enhancement comes for already running software
      2- When environment is changed
      3- When software is migrated from one Os to another
      4- Database upgrade

      Hope this will answer your question.
      I am requesting to page view if i am lacking somewhere then please help to add value by commenting on this post


      • Shruti Sagar Mishra

        In case of Environment Change after the sanity Testing complete, one should ensure the integirty of the Test Bed and need to find out the scope of testing.
        In effect what people they just run the entire regression set for the new environment.
        Most of the time it is waste of time(Except in some case where the Envionrment in Scope analysis is more time consuming than the Regreesion itself.)

  • You are right but i want to add one more line to Retesting..Retesting is also done to make sure that the application is working for different test data. For example, suppose we are testing a text box, then different test data like..alphabets, numbers, special keywords or combination of these would be considered as test data and testing of the text box with the above mentioned test data will be called as retesting.

    • You are right at some extent, But the kind of testing you have mentioned in your example is normally named under Validation in which we do validation of text box and we make sure that end user is able to enter text as per the specification.

  • Shruti Sagar Mishra

    In a broder way …We can say that we dont do Regression testing for the actual Requirements( Yeah.. thats right……Suppose we are in the release…then all we do is Regression and Testing(For new reqmnts), and Retesting and confirmation testing commes in Picture for normal testing.. )
    We can also say Regression Testing is performed accross the Relases(The reqmnts/Test cases survives accross release,)So if you are gonna test something after the release is over and you arein new release it is Regression testing(Primarily focus is to ensure that func is still intact)

    so Flow is like Test->Defect->RTetest/confirmation->Signoff->Regression(In new release)

  • Pingback: Difference Between Test Case and Test Scenario | Abode QA

  • Pingback: Difference Between Smoke and Sanity Testing | Abode QA

  • Pingback: Difference Between Black-box and White-box Testing | Abode QA

  • Pingback: Priority Vs Severity | Abode QA

  • Pingback: Difference between Quality Assurance and Quality Control | Abode QA

  • Pingback: Download free software testing books written by India’s most popular tester and mentor | Abode QA

  • Pingback: Mac Beginner’s tutorial | Abode QA

  • Pingback: Difference Between Severity and Priority | Abode QA

  • Sangeeta Upadhyay

    nice article on testing .

    What is difference between sanity testing and smoke testing with example?

Leave a Reply

Your email address will not be published. Required fields are marked *