Smoke testing and sanity testing - Quick and simple differences

Despite of hundreds of web articles on Smoke and sanity testing, many people still have confusion between these terms and keep on asking to me. Here is a simple and understandable difference that can clear your confusion between smoke testing and sanity testing.

Here are the differences you can see:

SMOKE TESTING:

  • Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke. In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
  • A smoke test is scripted, either using a written set of tests or an automated test
  • A Smoke test is designed to touch every part of the application in a cursory way. It’s shallow and wide.
  • Smoke testing is conducted to ensure whether the most crucial functions of a program are working, but not bothering with finer details. (Such as build verification).
  • Smoke testing is normal health check up to a build of an application before taking it to testing in depth.

SANITY TESTING:

  • A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep.
  • A sanity test is usually unscripted.
  • A Sanity test is used to determine a small section of the application is still working after a minor change.
  • Sanity testing is a cursory testing, it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing.
  • Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.

Hope these points will help you to clearly understand the Smoke and sanity tests and will help to remove any confusion.

Thanks to VijayD for answering this question in simple way for our readers.

If you have more points on smoke and sanity testing to elaborate on, please comment below.




Related Posts:

  • SQA Processes. How to Test complete application?
  • What is actual testing process in practical or company environment?
  • Difference between Desktop, Client server and Web testing
  • Winrunner questions from Interviewer point of view
  • Interesting posts on Software Testing Help
  • 69 comments ↓

    #1 Snig on 05.31.08 at 5:52 pm

    very nice explanation

    #2 Suhas on 06.01.08 at 4:40 am

    Thanks for clearing my doubts..

    #3 Beena on 06.01.08 at 5:21 am

    I think u hav solved the problem of confusion….
    Very nice……thank u very much.

    #4 Raghavendra on 06.01.08 at 5:23 am

    Thank you.

    #5 Tuyen on 06.01.08 at 1:18 pm

    I have one question for this topic:
    When do we use smoke testing? And when do we use sanity testing?

    #6 sudeepa on 06.02.08 at 4:03 am

    Nice explanation…but when to use what?

    #7 Samuel on 06.02.08 at 4:45 am

    Nice Explanation.

    To Tuyen & Sudeepa

    Smoke Test: This will de done after receiving the build. Just like browsing the application

    Sanity Test: This will be done mostly after Retest (Retest will be done after fixing the bug).

    #8 madhava krishna on 06.02.08 at 4:51 am

    I have one question for this topic:
    When do we use smoke testing? And when do we use sanity testing?

    #9 vijay on 06.02.08 at 5:01 am

    thankyou sir..

    #10 balu on 06.02.08 at 7:41 am

    It’s a nice artical to avoid big confusion.. thank you Vijay.

    #11 pankaja on 06.03.08 at 3:03 am

    good answer…

    #12 hello on 06.03.08 at 3:26 am

    hi ppl i have a confusion with difference between retesting and regression testing please help me out regarding this

    #13 thaole093 on 06.03.08 at 3:40 am

    Your explaination is very concisely.
    Thanks you so much

    #14 abhishek on 06.03.08 at 6:22 am

    This is good article but i have one question in mind.
    I have read that now smoke and sanity tests are mix and they become the one test.
    Is it True.
    Please Clear my doubt

    #15 Suresh Balakrishnan on 06.05.08 at 10:11 am

    Hi, All

    I have mentioned Difference between Regression Testing and Re-testing as given below:

    Regression Testing: We can conduct the test on a modified build to ensure the bug fix work and occurence of side effects in that build.

    Retesting: We can do the test on a build to ensure the correctness of the modified functionality.

    Thanks,
    Suresh
    bsuresh7282@gmail.com

    #16 Pradeep on 06.05.08 at 11:41 am

    Hello abhishek ,

    There is difference between the Sanity and smoke, we use script for Smoke but we dont for Sanity. We use smoke when a product is new and sanity for releases but smoke is used when the changes in the product have greater impact on its functionality.

    #17 Suresh Balakrishnan on 06.05.08 at 12:42 pm

    Hi All,

    I have Mentioned What is Smoke and Sanity Testing as well as difference between Smoke and Sanity Testing as given below:

    I have gathered a few points about the difference between smoke and sanity testing from the responses of two software testing groups. I have added the points below.

    However, my experience of executing the Smoke and Sanity testing has been the following:

    Smoke Test:

    When a build is received, a smoke test is run to ascertain if the build is stable and it can be considered for further testing.

    Smoke testing can be done for testing the stability of any interim build.

    Smoke testing can be executed for platform qualification tests.

    Sanity testing:

    Once a new build is obtained with minor revisions, instead of doing a through regression, a sanity is performed so as to ascertain the build has indeed rectified the issues and no further issue has been introduced by the fixes. Its generally a subset of regression testing and a group of test cases are executed that are related with the changes made to the app.

    Generally, when multiple cycles of testing are executed, sanity testing may be done during the later cycles after through regression cycles.

    Smoke
    Sanity

    1
    Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke. In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
    A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep.

    2
    A smoke test is scripted–either using a written set of tests or an automated test
    A sanity test is usually unscripted.

    3
    A Smoke test is designed to touch every part of the application in a cursory way. It’s is shallow and wide.
    A Sanity test is used to determine a small section of the application is still working after a minor change.

    4
    Smoke testing will be conducted to ensure whether the most crucial functions of a program work, but not bothering with finer details. (Such as build verification).
    Sanity testing is a cursory testing; it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing.

    5
    Smoke testing is normal health check up to a build of an application before taking it to testing in depth.

    sanity testing is to verify whether requirements are met or not,

    checking all features breadth-first.

    Thanks,
    Suresh
    bsuresh7282@gmail.com

    #18 abhishek on 06.05.08 at 1:02 pm

    Thanx Pradeep for explanation and clearing my doubt.

    #19 Paresh on 06.06.08 at 6:43 pm

    Hi, this is a fantastic place to get all the things clarified.
    Thank you.

    #20 guhan on 06.11.08 at 9:44 am

    hi,its nice in clearing concepts in software testing. its a good explanation from suresh……

    #21 selvam on 06.11.08 at 2:06 pm

    Hi Friends,

    Currently i am working in Non-IT field and planned to switch my career to testing.I had learned the basics of testing,and now i am very eager to learn testing practically with real time projects.
    If any one interested to teach testing personally with real time projects , i will be more grateful, or else show me the right place in chennai.
    Thanks & regards
    selvam.ba@rediffmail.com

    #22 ilyas on 06.15.08 at 7:59 am

    hi all
    i saw ur answers regarding testing tools i am appreciate a lot , can u help me out .
    Right now i am in australia pursuing diploma in computer field but not related to PR so i am deciding to comeback to india (some family problem) and do some course in testing tools what u think , i have some knowledge about computers i have done Bsc (2005) after that i am not taken any interested in doing job in india wasting my precious time by going abroad. I am 29 now i am sorry what i have done. Can u please suggest me that its good to do testing tools on this age.But i know that its difficult for me to go form the scratch but i can do, if u suggest good reply for my future.
    By reading all this u get the idea what guy i was,from the bottome of my heart i am very regret what i have done, Now i am realised that how important the career is please please suggest me what to do , i am interest in computers field.
    Thanks for ur preciuse by reading this.
    One important think my english also not so good .

    #23 vishnu on 06.16.08 at 10:18 am

    Thank u

    #24 Bhanu on 06.16.08 at 10:51 am

    Thank u for clearing my doubts

    #25 Basavaraj.KT on 06.17.08 at 1:46 pm

    very good explanation, i was searching for this answer. i am thankful to you people for giving this answer for me.thank you ……..

    #26 kokila on 06.18.08 at 5:27 am

    All ur concepts r concisely….
    it is very easyful to us who r having interest in software testing…….

    #27 kokila on 06.18.08 at 5:59 am

    Hi ilyas,
    Dont regret for anything.bcoz we cant do anything by regretting.first u hav to decide ur interest..if ur interest is in s/w testing field means,u can go ahead..
    some s/w testing training centres in chennai r giving training & placements effectively.so need to worry…
    u can do training at australia itself…bcoz most of the younger’s dream is flying to abroad only…so think once again before u start ur journey to india…

    #28 kokila on 06.18.08 at 6:07 am

    Hi Selvam,
    STC Technologies s/w testing training centre in anna nagar(chennai) is good 2 do course…..ther r giving placements also…..

    #29 Debasis on 06.18.08 at 10:05 am

    Smoke! Sanity! BVT! BAT! Ahh, well… Here is a testing story, which I had written almost a year back that tries to clarify these terminologies. Anybody, in case interested can take a look here - Smoke Vs. Sanity Testing - Stories from a Passionate Software Tester

    Happy Testing…
    -Debasis

    #30 chandra shekar on 06.18.08 at 1:05 pm

    smoke testing don at developer side which means developed application is eligible for testing or not is called smoke testing
    sanity testing is nothing but testing side test the application whether the application is eligible for furhter testing is called the sanity testing

    #31 selvam on 06.18.08 at 1:45 pm

    Hi kokila,

    Thanx for ur reply.would like to know whether STC giving placement assurance?????????

    also i had heared that their way of training is highly theory oriented,but i am looking for practical oriented training……….

    #32 mukesh on 06.19.08 at 5:31 am

    hi,
    i want to posible test case about insurance application.
    pls give me information ab that domain.

    #33 kokila on 06.19.08 at 6:22 am

    Hi Selvam,
    Some consultancy in chennai r giving practical oriented training(Q3 Technologies at anna nagar)….
    u can contact them…

    #34 yogesh sakhare on 06.24.08 at 6:56 am

    thanks clear my point, but tell me what is the use of smoke testing and sanity testing

    #35 kokila on 06.25.08 at 6:32 am

    Hi yogesh sakhare,
    we do smoke & Sanity testing when dont have enough of time for testing d Application deeply…its mainly for time saving…we wil test crucial functions of application & give conformance abt whether application is ready for further testing process….

    #36 Bharathi on 06.25.08 at 4:20 pm

    Guys,
    Do enlighten me about Microsoft’s team foundation?(is it a tool, which is as simple as testdirector or quality center?)…is it more like a tool for managing defect(manual testing)…let me know asap.

    #37 Qa on 06.26.08 at 7:06 am

    Hi All,

    There is no diff between smoke & Sanity testing. Both are same. whenever we get new release to test, We do smoke/Sanity testing for some time say 1 hour to test whether all major functionalities are working fine or not. It helps QA team to accept/reject new build immediatly.

    Thanks You

    #38 Kishor on 06.26.08 at 11:59 am

    Hi All
    thanx a lot for u all. this is right place where v can clear our doubts. thanQ ery much

    #39 swati on 06.30.08 at 7:13 am

    gone thru CSTE set of questions unable to understand 1 question types of regression testing? can someone elaborate?

    #40 priya on 06.30.08 at 7:44 am

    Hi,

    I am priya, I am new to testing and have one query, can anyone please tell me

    What is the Model/Process do u follow in your Organization for Testing?

    Regards

    #41 jyoti on 06.30.08 at 9:04 am

    Smoke Testing:-
    *This is the first testing conducted on build we get.
    *What we do-
    Run basic set of test cases that should be passed before that product goes for further testing.
    *Black box testing
    *Tester/QA.

    Sanity:-

    *Test the readiness of the s/w.
    *When we do this testing–
    Once the developer develops the source code,before putting into the source depository.
    *What we do-
    Basic requirements of project are tested.

    #42 sagar bandari on 07.01.08 at 2:38 am

    hai, this is sagar

    #43 sagar bandari on 07.01.08 at 2:47 am

    there is no difference between smoke testing and sanity testing,
    smoke testing done by qa team to accept the build or not by testing major test cases (i.e. means major testcases should be passed).
    sanity testing done after the completion of system testing to test the major functionalities are working properly or not to push the application into the production or not based on major functionalities.

    #44 ritesh on 07.02.08 at 11:43 am

    Hi,
    I have been done software testing course last year.
    but now i am not working in as a tester in my company, but now i want to switch from that field to tester. so how can i do this.
    Plz give me the suggestion

    #45 karthik raj on 07.07.08 at 2:08 pm

    Its a fine to clearing the doubts…

    #46 Naganath Patil on 07.08.08 at 11:55 am

    The explanation is very nice
    i request one thing that, if explanation given with an example then it is very effective

    #47 shankar on 07.12.08 at 12:28 pm

    what is bug life cycle ?

    #48 sprintf on 07.14.08 at 8:58 am

    Hi,
    I was shifted from dev to testing right now i am in Automation side could u pls suggest me what skills are required for me to learn fast .thanks

    #49 Sanjay on 07.18.08 at 9:11 am

    Can Specify one thing ?
    Who do smoke testing?

    Who Do the Sanity Testing?

    #50 Shahid on 07.21.08 at 11:36 am

    Smoke testing is done by developers before the build release or by tester before accepting a build for futher testing. Sanity testing is mostly done only by the tester.

    #51 Prameela Duddala on 07.21.08 at 4:07 pm

    Really it is very useful thank you so much.

    #52 neel on 07.23.08 at 6:59 pm

    hi,
    could you please give any example

    #53 neel on 07.23.08 at 7:12 pm

    could u pls give example

    #54 yogesh sakhare on 07.28.08 at 9:08 am

    hi, can you tell me about , why testing is nessary

    #55 Ahamed Jameel on 07.30.08 at 5:48 am

    Hi,
    Very Gud Article 2 Learn the Differnce Between Sanity and Smoke Testing

    #56 Sonia on 08.05.08 at 6:19 am

    WOW !!! gr8 job. worth reading the difference… learn a lot….

    #57 ilyas on 08.05.08 at 6:43 am

    hi all
    i saw ur answers regarding testing tools i am appreciate a lot , can u help me out .
    Right now i am in australia pursuing diploma in computer field but not related to PR so i am deciding to comeback to india (some family problem) and do some course in testing tools what u think , i have some knowledge about computers i have done Bsc (2005) after that i am not taken any interested in doing job in india wasting my precious time by going abroad. I am 29 now i am sorry what i have done. Can u please suggest me that its good to do testing tools on this age.But i know that its difficult for me to go form the scratch but i can do, if u suggest good reply for my future.
    By reading all this u get the idea what guy i was,from the bottome of my heart i am very regret what i have done, Now i am realised that how important the career is please please suggest me what to do , i am interest in computers field.
    Thanks for ur preciuse by reading this.
    One important think my english also not so good

    #58 sankar on 08.05.08 at 7:34 am

    This is very useful for understanding the flow.

    #59 swathi on 08.18.08 at 11:15 am

    thanks for good explanation

    #60 Ragini on 08.20.08 at 12:11 pm

    what is smoke testing. when will do smoke testing.

    #61 priya on 08.25.08 at 7:27 am

    What is the difference between priority and severity?

    #62 sunny on 08.25.08 at 11:31 am

    The word “priority” is associated with scheduling, and the word “severity” is associated with standards. “Priority” means something is afforded or deserves prior attention; a precedence established by urgency or order of or importance.

    Severity is the state or quality of being severe; severe implies adherence to rigorous standards or high principles and often suggests harshness; severe is marked by or requires strict adherence to rigorous standards or high principles. For example, a severe code of behavior.

    The words priority and severity do come up in bug tracking. A variety of commercial, problem-tracking / management software tools are available. These tools, with the detailed input of software test engineers, give the team complete information so developers can understand the bug, get an idea of its severity, reproduce it and fix it. The fixes are based on project priorities and severity of bugs. The severity of a problem is defined in accordance to the end client’s risk assessment, and recorded in their selected tracking tool. A buggy software can severely affect schedules, which, in turn can lead to a reassessment and renegotiation of priorities

    #63 sunny on 08.25.08 at 11:44 am

    Hi Ilyas,

    i’ll recommand that u get some certification from australia instead of getting from India….may be in australia it’s costy and that certification will have worth in india…

    there are lot of testing certification but i recommand that u get certification in QTP (Quick Testing Professional) and some Mercury testing tool available.

    #64 satish on 08.25.08 at 11:45 am

    Hi sunny,

    ple explan me with example.i Didn’t understand u’r comment

    #65 sunny on 08.25.08 at 2:51 pm

    which part u feel that is not understandable by u , kind high light that part, i try level my best i can give u good example thx,

    If any other person wana ask any Question, plz feel free to ask………….thx

    #66 Ragini on 08.25.08 at 2:59 pm

    Pls tell me what is smoke testing. when will do smoke testing.

    #67 jijo on 08.28.08 at 3:52 am

    Hi Jyothi Please let me know what is smoke testing

    #68 jyoti on 08.28.08 at 4:30 am

    ·Smoke Testing- When build is received a smoke test is run to ascertain if the build is stable and considered for further testing. Smoke testing is normal health check up to a build of an application before taking it to testing in depth.

    #69 Prasad on 09.06.08 at 4:40 am

    @Priya

    Models are used to Develop the Product/Application.

    to develop Prototype every company follow RAP model (Rapid Application Development)

    and for Developing the Application it differs from company to company.
    some use RUP, & some use VV like it differs.

    im nt a real time employ. let me know if my Answer is wrong.

    Leave a Comment