Regression Testing vs. Retesting — Know the Difference


Regression testing vs. Retesting


Is there a difference at all? Is regression testing a subset of re-testing? Quite a few times, testing teams use these two terms interchangeably. However, there is a vast difference between these two types of Regression testing vs. Retesting. Let us have a look -

regression testing vs retesting

Regression Testing

Definition:

Regression testing is a type of software testing which is carried out to ensure that the defect fixes or enhancements to the application have not affected the other parts of the application.

Purpose:

The purpose of regression testing is to ensure that the new code changes do not adversely affect the existing functionalities of the application.

When:

Regression testing is carried out in one or any of the following circumstances:

  • Whenever there is a modification in the code based on the change in requirements.
  • A new feature is added to the application.
  • Defects are fixed in the application.
  • Major performance issues are fixed in the application.

Regression testing can be carried out in parallel with re-testing. It is, in many cases, seen as generic testing.

Testing Techniques:

Regression Testing can be carried out with one of the following four techniques-

  1. Re-execute all the test cases in the suite.
  2. Select a part of the test cases which need to be executed with every regression cycle and execute only those.
  3. Based on the business impact, feature criticality, and timelines, select the priority test cases and execute only those.
  4. Select a sub-set of test cases based on frequent defects, visible functionality, integration test cases, complexity of test cases, sample of successful and failure test cases and then execute only such sub-set.

Test Cases:

  • Regression test cases are derived from the functional specifications, user manuals, tutorials, and defect reports related to the fixed defects.
  • Regression testing can include the test cases which have passed earlier.
  • Regression testing also checks for unexpected side-effects.

Role of automation:

Automation plays a very crucial role in regression testing because manual testing can be very time consuming and expensive.

Re-testing

Definition:

Retesting is a type of software testing which is carried out to make sure that the tests cases which failed in the previous execution pass after the defects against those failures are fixed.

Purpose:

The purpose of re-testing is to ensure that the previously identified bugs are fixed.

When:

  • Whenever a defect in the software is fixed, re-testing needs to be carried out. The test cases related to the defect are executed again to confirm that the defect has indeed been fixed. This type of testing is also referred to as confirmation testing.
  • Re-testing has to be carried out prior to regression testing.
  • Re-testing is a planned testing.

Testing Techniques:

Re-testing needs to ensure that the testing is executed in the same way as it was done the first time — using the same environment, inputs, and data.

Test Cases:

  • No separate test cases are prepared for Re-testing. In Re-testing, only the failed test cases are re-executed.
  • Re-testing does not include the test cases which have passed earlier.
  • Re-testing only checks for failed test cases and ensures that originally reported defects are corrected.
Role of automation:

There is no way to automate only the re-testing since it depends on the defects found during the initial testing.

Share This Article:

Log In
Guest

Email me new posts

Save my name, email, and website in this browser for the next time I comment.

Email me new comments

message_icon

Hey Found your blog though those carnivals and gotta say you produce some excellent articles. Really liked this one for its list of activities to further promote a blog'some of these are repeats but a number of them are new.

--Alisha Henderson

message_icon

retesting = confirmation testing

--Fred Murphy

message_icon

Thanks for sharing the great article about Testing.... Its useful and helpful information for testers'Keep Sharing. Thanks

--preeti agarwal

message_icon

Really liked this post and explained it really well. Thanks .Keep writing..!!!

--Rajesh Kharche

message_icon

Hey found your blog though and gotta say you produce some excellent articles. Really liked this post and explained it really well. Thanks .Keep writing..!!!

--software engineer