home Forums Functional Testing What is the difference or relationship between smoke and sanity testing?

This topic contains 6 replies, has 5 voices, and was last updated by Profile gravatar of Muhammad Zahoor Bhatti Muhammad Zahoor Bhatti 1 year, 1 month ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
  • #339

    Is there any? or these two practices are same? or are independent of each other?

    Tell us what do you think about it?

    Profile gravatar of Amna Sherazi
    Amna Sherazi

    Smoke Testing: In software testing when you want to ensure that whether the build can be accepted for thorough software testing or not. Basically, it is done to check the stability of the build received for software testing.

    Sanity testing: After receiving a build with minor changes in the code or functionality, a subset of regression test cases are executed that to check whether it rectified the software bugs or issues and no other software bug is introduced by the changes.

    Sometimes, when multiple cycles of regression testing are executed, sanity testing of the software can be done at later cycles after through regression test cycles. If we are moving a build from staging / testing server to production server, sanity testing of the software application can be done to check that whether the build is sane enough to move to further at production server or not.

    • This reply was modified 1 year, 1 month ago by Profile gravatar of Amna Sherazi Amna Sherazi.
    Profile gravatar of Amna Sherazi
    Amna Sherazi

    Difference between Smoke & Sanity Software Testing:

    • Smoke testing is a wide approach where all areas of the software application are tested without getting into too deep. However, 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. However, 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. However, 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.
    Profile gravatar of Ali

    To my knowledge sanity testing is done by the dev on initial builds to make sure that application/software is testable and smoke testing is done by the tester when product goes live, just to make sure that all crucial functionalities working as expected.


    But in my experience, we do the two one after another, where we smoke testing first, and then check for sanity as well. If smoke testing is passed but system shows some sanity (showstopper) errors then we have a “no go” for the application.

    BTW I prefer to call this “System consistency testing” 🙂

    Profile gravatar of Asiya Zahoor
    Asiya Zahoor

    Smoke testing is done before sanity testing. In smoke testing major functionalities of application are tested and only positive scenarios are run while sanity is done when build is given after bugs fixing and in this testing positive as well as negative scenarios are run.


    We perform smoke testing right after getting the build in order to decide whether we are able to proceed with the testing on current build or not by running some major scenarios.

    We perform sanity after verifying the resolved bugs in order to check either main functionality is working fine or not, but we do not go in deep level like regression

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.