What is the Difference between smoke and sanity test ?

Smoke testing 

  • It is done when a new build is received by the QA team.
  • Aim of Smoke test is to make sure that the main functionality of the application under test works as expected. 
  • Smoke testing exercises the entire system from end to end
  • This is a high level testing 
  • Smoke testing is like General testing.
  • Goal is to make sure the build is good enough to start testing. 
  • It saves a lot of time and effort.
  • We don't need to do a rigorous testing as part of Smoke testing.
  • This testing is performed by the developers or testers
  • Smoke testing is a subset of Regression testing.

Sanity Testing 

  • It is done to make sure the fix is working in the build. 
  • Goal is not to test to test the particular functionality which got fixed in the new build that was received unlike smoke test , where we test all major functionalities
  • Sanity testing is usually performed by testers

  • Sanity testing exercises only the particular component of the entire system
  • Sanity testing is a subset of Acceptance testing
  • Sanity Testing is like specialized , functionality testing.