logo logo

Smoke Testing vs. Sanity Testing – What, Why & When

main post image

Smoke Testing and Sanity Testing are one of the most confused testing terminologies by QA teams. In order to understand the basics between these two testing types, their differences and during which testing stage each should be performed – One first needs to understand “What is Build?”.

Build is a software or an application ready for testing. It is something that has a working piece of code that needs to be tested.

Table of Contents

  1. Smoke Testing
  2. Sanity Testing
  3. Differences between Smoke Testing vs. Sanity Testing

Smoke Testing

What is Smoke Testing?

Smoke Testing is a type of testing that determines whether the deployed build is stable or not.

Why Perform Smoke Testing?

The purpose of Smoke Testing is to confirm whether the QA team can proceed with further testing. It is also called as “Build Verification Testing” or “Confidence Testing”.

When to Perform Smoke Testing?

  • Whenever the Dev team provides a fresh build to the QA team. Fresh Build=Build has new changes made by the developer.
  • When a new module/functionality is added.

Smoke Testing Example

Let’s take a simple example of a Gmail application for testing.                                                Smoke Testing Example

Here the important functions are:

  1. Login to Gmail application
  2. Compose an email
  3. Send the email

Why are the above functionalities important when it comes to Smoke Testing?

Assume your email does not get sent… Does it make any sense to test other functionalities such as: Drafts, Deleted messages, Archives, etc? 🤔 No. If even the basic functionality of sending an email is not working, then this means there is no use of testing any further functionalities.

The main focus of Smoke Testing is to test the critical areas & not the whole application.

Sanity Testing

What is Sanity Testing?

Sanity Testing is a subset of Regression Testing which is performed to ensure that the code changes that are made are working properly.

Why Perform Sanity Testing?

The purpose of Sanity Testing is to determine that the changes in functionality and bug fixes are working as expected. It is also called as “Tester Acceptance Testing”.

When to Perform Sanity Testing?

  • When the defect/bug is fixed.
  • When tester receives software build with minor changes in code.

Sanity Testing Example

Sanity Testing ExampleLet’s take an example of OLA application for Testing.

Here the features are:

  1. Signup to OLA app
  2. Login to app
  3. Search Cab
  4. Book Cab

Assume these four features are tested and “Login” feature is not working. Then the developer modifies & fixes the defects. Then, Sanity Testing will be performed only on the modified function.


Differences between Smoke Testing vs. Sanity Testing

CategorySmoke TestingSanity Testing
WhatSmoke testing exercises the entire system from end to endSanity testing exercises only the particular component of the entire system
WhenSmoke Testing is performed to make sure that critical functionalities of the application are working fineSanity Testing is performed to check that new functionalities /bugs have been fixed
WhyThe objective of the testing is to verify the stability of the system in order to proceed with more rigorous testingThe objective of the testing is to verify the rationality  of the system in order to proceed with more rigorous testing
Scripted Smoke testing is usually documented and scriptedSanity testing is not documented and unscripted
SubsetSmoke testing is a subset of Acceptance TestingSanity testing is a subset of Regression testing
AnalogySmoke testing is like General Health check-upSanity testing is like Specialized Health check-up

Both smoke testing and sanity testing are performed to avoid wasting time and effort by quickly determining whether an application is too flawed to merit any rigorous testing.
Key Points:

  1. Sanity testing is also called tester acceptance testing.
  2. Smoke testing performed on a particular build is also known as a build verification test.
  3. Both smoke and sanity tests can be executed manually or using an automation testing tool.
  4. When automated tools are used, the tests are often initiated by the same process that generates the build itself.
  5. As per the needs of testing, you may have to execute both Sanity and Smoke Tests in the software build. In such cases, you will first execute Smoke tests and then go ahead with Sanity Testing. In our industry, test cases for Sanity Testing are commonly combined with that for Smoke Testing, to speed up test execution.

Happy Testing! 🤩

Avatar

About the author

Sri Priya P Kulkarni

An ISTQB certified tester with 2+ years of experience in the field of Software Testing.Dedicated & Hardworking with focus on performing testing activities on Web Applications.Also performed  testing on APIs and became passionate on Testing.Hands on experience in Manual and Automation Testing. My focus is on Software Quality and making sure that Software is Bug free.I will enjoy to work in team and learning from others, across all areas of business and technologies.I love to share my knowledge and discuss Software Testing related topics.

Join TestProject Community

Get full access to the world's first cloud-based, open source friendly testing community. Enjoy TestProject's end-to-end test automation Platform, Forum, Blog and Docs - All for FREE.

Join Us Now  

Leave a Reply

popup image

Selenium for Teams

Sharing and distributing Selenium tests has never been so easy! With TestProject's FREE Selenium based platform, you can finally create awesome tests with the freedom to collaborate with your team effortlessly.
Sign Up Now right arrow
FacebookLinkedInTwitterEmail