Home » Software Testing » Manual Testing » Regression testing and Re-testing » What is the Difference Between Regression testing and Re-testing

What is the Difference Between Regression testing and Re-testing

Difference between Regression and Re-testing is most haunting software testing question asked in an interview by the 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 the 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 into action just after a bug-fix, so most of the time we people get stuck to the fundamental difference between Retesting and Regression.

Retesting: This is used to test whether defect logged is fixed or not and due to this it is also called as Confirmation Testing

Regression: This is used to see the impact of recently fixed defect(s) or change in the codebase.

Here I am going to note down the difference between Retesting and Regression testing

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 the testing field for the fixed bugs. Whereas, Regression is re-execution of the test cases for the unchanged part to see that unchanged functionality is working fine are not.

2- Retesting is planned testing while Regression is known as Generic Testing.

3- Retesting is only done for failed Test cases while Regression is done for passed test cases but some of the best-selected test cases with maximum feature coverage.

4- We should always keep this in mind, Re-testing has higher priority than the regression testing. But in bigger projects, Retesting and Regression are done in parallel. But both have its importance in the quality delivery of the product.

Let me explain my things with an example.

For eg: In an application, we need to manage the 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 once the code is fixed. After this, we would be picking some selected test cases from all module to check any of the ill impacts of a code fix.

Hope you like this post, But if you want to learn how to make test cases then read these two posts

Test Cases for Elevator(Lift)

Important set of test cases for Login Page

Courtesy: Amrit Kaur

One of the best resources to learn Software Testing

19 thoughts on “What is the Difference Between Regression testing and Re-testing”

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


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

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


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

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

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

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

  3. Pingback: Difference Between Test Case and Test Scenario | Abode QA

  4. Pingback: Difference Between Smoke and Sanity Testing | Abode QA

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

  6. Pingback: Priority Vs Severity | Abode QA

  7. Pingback: Difference between Quality Assurance and Quality Control | Abode QA

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

  9. Pingback: Mac Beginner’s tutorial | Abode QA

  10. Pingback: Difference Between Severity and Priority | Abode QA

  11. Sangeeta Upadhyay

    nice article on testing .

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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
%d bloggers like this: