Open In App

Difference between Re-Testing and Sanity Testing

Last Updated : 15 Sep, 2022
Like Article

Prerequisite – Software Testing 

1. Re-Testing: 
In Software Testing, Re-Testing refers to the testing again of a module to ensure that the bug is fixed. This means it confirms the test cases that failed in the final execution are passing after the errors/defects are fixed. The process of Re-Testing is as follows –

  • At first an error is detected in any module of the application.
  • Then it undergoes correction/modification by the developer.
  • After the developer has solved and tested the issue again, it is called Re-Testing.

2. Sanity Testing: 
In Software Testing, Sanity Testing refers to the testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs/errors have been fixed and no further issues are introduced due to these changes. The process of Sanity Testing is as follows –

  • A software build is received first.
  • Determine that the proposed functionality works roughly as expected after changes.
  • If the sanity test fails, the build is rejected.
  • If the sanity test passes, it is passed for further testing.

Difference between Re-Testing and Sanity Testing :

S.No. Re-Testing Sanity Testing
1. Re-Testing is carried out to check and confirm that the test cases that failed in the final execution are passing after those errors/defects are solved. Sanity Testing is carried out to check and confirm that the functionalities are working perfectly after minor functionality/bug fixes or any changes.
2. Defect verification comes under Re-Testing as a part. Defect verification does not come under Sanity Testing as a part.
3. Re-Testing is performed before start of Sanity Testing and Regression Testing. Sanity Testing is performed before Regression Testing and after Smoke Testing.
4. Test cases can not be automated for Re-Testing. Sanity Testing is often executed manually.


Defect fixes is the deciding factor to conduct the testing again.


To confirm the “rationality” of the system before moving on to more thorough testing.

6. Re-Testing covers defect verification. Sanity testing does not cover defect verification.
7. Re-Testing can be performed with the previously used test cases. Means test cases can be reused. Sanity Testing can be performed without test cases with domain knowledge.
8. Priority of Re-Testing is higher than Sanity Testing. Priority of Sanity testing is lower than Re-Testing.
9. Before start of testing, test cases for Re-Testing cannot be obtained. Test cases for Sanity Testing can be obtained from obtained from the functional specification, manuals, and defect reports in regards to corrected problems.


  • Verification of the resolved problem and is functioning as intended.
  • Verification time is less because it is only limited to the specific problem or feature.
  • The level of the program’s or product’s is raised.
  • The same data and environment is used to carry out with the new build.


  • Time saving as the focus is only on one or few areas of functionality.
  • It verifies that the application’s functionality still functions properly following a minor change.
  • It is unscripted so no effort is made to document it.
  • It takes less time to execute.


  • A new build is needed for the purpose of defect verification.
  • No automation of the test cases.
  • Time consuming because of the re-testing of failed test cases.
  • Test cases can only be obtained after the start of testing and not before that.


  • There is complexity in understanding the fixing of defects by the developers that are acknowledged throughout the testing if the design structure level is not followed.
  • Testing is carried out for limited features so if other features are having issues then it is difficult to trace them.
  • It is not documented so no future references.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads