What is Regression Testing and Retesting ? Regression vs Retesting

Regression Testing and Retesting

The most commonly asked interview question, the difference between Regression testing and Retesting. In this post,  we will learn about these with clear examples.

Before Jumping directly into the definitions and blah blah blah… We will start with the basic term, which is the root cause for the entire discussion. Do you know what it is ? yes.. you know it, it is known as ‘DEFECT’. Suppose, you are testing gmail login functionality, On entering valid user credentials, user should be able to login. but, there is an error message displayed, which is a defect. To define, When Actual values do not match the Expected values, then it is called as a ‘Defect’.

Retesting :

 

Regression-vs-Retesting

 

From the above representation, Defect when passes through defect life cycle, the output is a defect fix. The defect is raised by a ‘Tester’ and fixed by a ‘Developer’. In order to confirm that the defect is fixed, it needs to be tested by the tester/QA. This is known as Retesting.

Hence, ‘Retesting’ is to verify that the defects are fixed and the functionality is working as expected. When a defect is fixed, the test cases which are failed with reference to the defect are executed again.

Regression Testing :

Software building goes through series of changes because of defect fixes, Enhancements, Additions of new functionality etc. Anytime such changes occur, it is very important to make sure that:

  • Changes or Additions work as designed.
  • These changes and additions do not break the existing functionality that is working.

So, what should be done ? Its Regression testing that ensures that, the above two requirements are fulfilled.

Regression testing is performed to verify that the defect fixes made to the software works as expected and does not break the existing functionality. It is important in today’s context of software release. Because the software is released more often to meet the competition and expectations of the customer, It is essential to make sure that the software is stable and does not effect the existing functionality.

Rotten Tomatoes Example:

Consider Rotten Tomatoes example, which is not related to movie rating website 🙂
In this example : A basket of tomatoes has come from the farm field which is fresh and organic. Now, If at all there are few tomatoes which are damaged or rotten, What would you do ? you would remove them and then ?.. then .. search for any other tomatoes that are effected due to the rotten one’s. Sound’s good . now relate this example to Retesting and Regression testing and you will never forget.

 

Example for Regression and Retesting

Selective Retesting concept:

Whenever defects are fixed, there are certain test cases to be executed which are failed due to occurrence of the defect. The testing team verifies the fixes. An impact analysis is carried out to find out the impact areas and based on this analysis, Test cases are selected for execution. Since, This technique focuses on existing test cases that are already been executed at least once, it is know as selective retesting concept which regression testing has incorporated.

Regression testing can be done without considering the test phase of the product currently in .

The failure of regression can only be found very late in the cycle or by the customers. So, proper planning and selection is necessary to get maximum advantage of regression testing.

Retesting and Regression with Google Mail :

Step 1 :

In Image below, on clicking ‘Inbox’ there are no emails listed , just some colors are visible. This is not expected and a defect is logged for which, the developer is working on.

 

Gmail example Regression and Retesting

 

Step 2 :

Now, The defect is fixed and tester has retested the defect. The result is that, all the emails for ‘Inbox’ are listed which is as expected and the defect is closed. see the image below

 

Gmail-example Defect fixed

 

Is this all that needs to be done ? from the above theory, we have seen that once the defect is fixed, Impact analysis is done and the corresponding areas are identified to test. here comes the next step

Step 3:

In this example ‘Inbox’ , ‘Starred’, ‘Sent Mail’ etc have same functionality and the defect fix for ‘Inbox’ might effect the others as well . Hence, Regression testing need to be performed on the impact areas. In the below image ‘Test’ is done on ‘Starred’ category.

The results look good , no broken functionality and similar tests need to be done on other categories which are identified as part of Regression testing. When all the other categories do function as expected then the cycle is completed.

 

Gmail example Regression

Regression Testing is vast concept unlike retesting. We will learn more about regression testing in future posts.

  • Pingback: What is Defect / Bug Life Cycle ? In software Testing | TestNBug()

  • Mohini Deshmukh

    Thank you so much author ,
    it is very effective teaching technique by putting some interesting examples!!
    also gmail testing with actual picture is very useful for me.
    looking forward for more posts!

    • TestnBug

      Thank you Mohini .

      Sure, will keep posting. Refer to other posts as well.

  • Lina Ostoroukh

    Lovely article, mate. I really like the examples with Gmail. Many people think that they require some special “mystic” software to enter a world of software testing. I wish that someone would write an article on a role of particular type of testing in a large scope of QA services, and explain how, let’s say regression testing , fits in a bigger picture. Maybe even based on a anecdotal principle from a personal practice.

    • TestnBug

      Thank you Lina Ostoroukh. Will post for other testing concepts as well.