Difference between Smoke and Sanity Testing

Difference between Smoke and Sanity Testing

Last updated on

Smoke and sanity testing are the two most confusing forms of testing and are often used interchangeably. Hence, it is one of the most commonly asked software testing interview questions.
In this tutorial, we are going to learn about the difference between smoke and sanity testing. So, let’s begin.

Smoke Testing

Smoke testing got its name from the testing practice of electrical appliances. In the past, the first thing to do while testing an electrical device was to plug it into a power outlet and see if it emits smoke or not.

This was considered to be a preliminary test. If there would be no smoke then it used to mean that the electrical circuits are not faulty and the further testing of the device can be carried out.

The same is the case with the smoke testing of the softwares. Here, we check if the bare minimum features are working or not. If those features are working fine it means, the build is stable enough for carrying out thorough testing.

For details, check – Smoke Testing

Sanity Testing

Sanity testing is a software testing technique in which a particular functionality of the application is verified instead of carrying out regression on the complete application.

In this way, we can say that sanity testing is a subset of regression testing. Just like regression testing, in the case of sanity testing, we check if a fix has not affected the previously working functionalities of the application. But in lesser time and with a lesser number of test cases, focussing on some critical parts only.

For details, check – Sanity Testing

Smoke Testing vs Sanity Testing

Smoke TestingSanity Testing
Smoke testing is a shallow and wide approach of testing.Sanity testing is a narrow and deep approach of testing.
Smoke testing is done to ensure that the build is good enough to be considered for carrying on full-fledged testing.Sanity testing is done to ensure that after a new fix a particular component or feature of the application is working fine.
We usually have documented smoke tests i.e. there are some tests identified as smoke tests. These are tests are usually(preferably) automated.Sanity tests are generally not automated or even documented as test cases.
Smoke checks the overall components of the system.Sanity checks the specific functionality of the system.
It can be considered as a general health checkup of the application under test. It can be considered as a specific health checkup of the application under test.

More Difference Between

Manual vs Automation TestingSmoke vs Sanity Testing
White-box vs Black-box TestingSystem vs Integration Testing
Verification vs ValidationQuality Assurance vs Quality Control
SDLC vs STLCTest Plan vs Test Strategy
Test Case vs Test ScenarioAgile vs Waterfall Model
Agile vs Scrum MethodologyREST vs SOAP Web Service
Web Application vs Desktop ApplicationWeb Service vs Website
Assert vs VerifyError, Defect, Fault, Failure & Bug

That’s all we have in this article on smoke testing vs sanity testing. Please let us know in the comments if you have any questions. Also, check our software testing tutorial series here.

Software Testing Tutorial

3 thoughts on “Difference between Smoke and Sanity Testing”

  1. The Link for System and Integration testing difference is landing on a incorrect page showing difference between smoke and sanity. Please correct it

  2. Smoke and sanity testing are both important in the software testing process, but they serve different purposes. Smoke testing is typically used to determine if a build is stable enough to be worth testing more thoroughly. Sanity testing is then used to verify that a particular feature or functionality is working as expected.


Leave a Comment