What Is Smoke Testing And Sanity Testing? Difference Between Smoke and Sanity Testing



Smoke Testing

Smoke testing is an initial process of testing to ensure that all the basic functionality flow is working fine.

Basically, it has two points of agenda

  1. Is the Application Up and running?

  2. Do we have the correct version installed?

It is a kind of Check Point or Validation Check. Smoke Testing, also known as Build Verification Testing.

The Smoke testing is typically executed by testers after every build is received for checking the build is in testable condition.

This type of testing is applicable in the Integration Testing, System Testing and Acceptance Testing levels.

Advantages of Smoke Testing

  • It helps to find issues introduced in the integration of modules.

  • It helps to find issues in the early phase of testing.

  • Identifying the business-critical functionalities that a product must satisfy.

  • Designing and executing the basic functionalities of the application.

  • Smoke Tests enables uncovering obvious errors which save time and effort of a test team.

  • Smoke Tests can be manual or automated.

  • It helps to get confidence to the tester that fixes in the previous builds not breaking major features (off course, only features exercised by smoke testing).

  • Ensuring that the smoke test passes each and every build in order to proceed with the testing.


Sanity Testing

Sanity Testing is quick Regression Test with the focus on few impacted functionalities only. This testing is a checkpoint to determine if testing for the build can proceed or not.

The main purpose of this testing is to determine that the changes or the proposed functionality are working as expected. If the sanity test fails, the build is rejected by the testing team to save time and money.

It is performed only after the build has cleared the smoke test and been accepted by the Quality Assurance team for further testing. The focus of the team during this testing process is to validate the functionality of the application and not detailed testing.

Sanity testing is performed when development team needs to know a quick state of the product after they have done changes in the code or there is some controlled code change in a feature to fix any critical issue, and stringent release time-frame does not allow complete Regression Testing.

Conclusion: –

  • Sanity testing is a subset of Regression Testing. Sanity testing is usually narrow and deep.

  • Sanity testing is typically non-scripted.

  • Sanity testing follows narrow and deep approach with detailed testing of some limited features.

  • Sanity testing is used to verify the requirements of end users are meeting or not.

  • Sanity testing to check the after minor fixes the small section of code or functionality is working as expected & not breaking related functionality.

  • Sanity testing is cursory testing to prove software application is working as mention in the specification documents & meets the user needs.

  • Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.

Difference B/W Smoke Testing and Sanity Testing


Smoke Testing

Santy Testing

Smoke testing is a wide approach where all areas of the software application are tested without getting into too deep

a sanity software testing is a narrow regression testing with a focus on one or a small set of areas of functionality of the software application.

The test cases for smoke testing of the software can be either manual or automated

a sanity test is generally without test scripts or test cases.

Smoke testing is done to ensure whether the main functions of the software application are working or not. During smoke testing of the software, we do not go into finer details.

sanity testing is a cursory software testing type. It is done whenever a quick round of software testing can prove that the software application is functioning according to business / functional requirements.

Smoke testing of the software application is done to check whether the build can be accepted for through software testing

Sanity testing of the software is to ensure whether the requirements are met or not.

This testing is performed by the developers or testers

Sanity testing is usually performed by testers


Smoke testing exercises the entire system from end to end


Sanity testing exercises only the particular component of the entire system


Smoke testing is like General Health Check Up

Sanity Testing is like specialized health check up

Smoke testing is usually documented or scripted


Sanity testing is usually not documented and is unscripted


“Related post”

Software Development life cycle

Software Testing Life Cycle

Test Case Documentation

Alpha and Beta Testing

Regression Testing

Smoke and Sanity Testing

Software Testing

Validation and Verification


Entry and Exit Criteria in software testing

Integration Testing 

Automation Testing

Advantages and Disadvantages of Automation Testing 


Leave a Reply

Your email address will not be published. Required fields are marked *