Difference between Regression, Sanity and Smoke testing





Smoke Testing 

Smoke Testing a software testing technique performed post software build to verify that the critical functionalities of software are working fine. It is executed before any detailed functional or regression tests are executed. The main purpose of smoke testing is to reject a software application with defects so that QA team does not waste time testing broken software application.


For Example, a typical smoke test would be – Verify that the application launches successfully, Check that the GUI is responsive … etc.


Sanity testing

 Sanity Testing is a kind of Software Testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. The goal is to determine that the proposed functionality works roughly as expected. If sanity test fails, the build is rejected to save the time and costs involved in a more rigorous testing.

Key Difference Between Sanity and Smoke Test

  • Smoke Testing has a goal to verify “stability” whereas Sanity Testing has a goal to verify “rationality”.
  • Smoke Testing is done by both developers or testers whereas Sanity Testing is done by testers.
  • Smoke Testing verifies the critical functionalities of the system whereas Sanity Testing verifies the new functionality like bug fixes.
  • Smoke testing is a subset of acceptance testing whereas Sanity testing is a subset of Regression Testing.
  • Smoke testing is documented or scripted whereas Sanity testing isn’t.
  • Smoke testing verifies the entire system from end to end whereas Sanity Testing verifies only a particular component.

Regression Testing

Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product.

This is to ensure that the product works fine with new functionality, bug fixes or any changes to the existing feature. Previously executed test cases are re-executed in order to verify the impact of the change.







Comments

Popular posts from this blog

What are the different types of Non-Functional Tests

What are the benefits of using Scrum?