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:

  • Best software testing articles of 2008
  • 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
  • 162 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.

    #70 anuradha on 09.08.08 at 3:18 pm

    can u plaease give me a simple example for load ,stress,volume,bvt,sanity,smoke,and security

    #71 Ajay Gupta on 09.09.08 at 12:49 pm

    Difference betwwen Smoke Testing and Sanity Testing

    Take an example:

    Consider a hollow pipe and you have to check whether it is good for

    circulation process or can it be used for the supply process:

    Smoke Testing:

    First we have to check whether the pipe allows to flow from end to

    other end. Pass the smoke to the pipe and check whether the smoke

    will come out of other end.

    If the smoke comes out, the pipe can be used as Testable pipe.( Build

    is testable for further testing).

    Sanity Testing:

    Now allow water(liquid) to flow in the pipe, and check whether there

    is any leakage in the pipe.If the water comes out in the between the

    pipe, so detect the leakage and assigned to developer for fixing it.

    So Smoke Test should be applied first, and then comes the Sanity

    Testing.

    Please correct me if you are not satisfied with answer.

    #72 Prasad Gupta on 09.09.08 at 2:46 pm

    @Ajay Gupta,

    well said Mr.Ajay, but as per your example smoke and sanity are same right?

    even in some companies will tell smoke and sanity are same.
    * let me know if im worng*

    @anuradha,

    Load testing: Testing the application by giving Maximum Request.

    Stress: Testing the application by giving more than Maximum Request.

    Secruity Testing: It is done to conform that the Matter is (kept/sending/receving) in secured manner or not.

    the wt ever matter we are sending it will be converted in Encrypted form and sent to the other person.

    the matter is converted into Encrypted form by using SSL (Secured Socket Layer).

    *Let me know if im wrong*

    #73 Rakesh on 09.11.08 at 10:05 am

    Hi Ajay,

    Your real-time example sounds good!!! Gr8 work!!!

    #74 Ajay Gupta on 09.11.08 at 10:08 am

    @Rakesh

    Thanks Rakesh,

    I have tried to explain in terms of terminology used -> Smoke Testing and Sanity Testing.

    #75 Suhas M on 09.11.08 at 10:28 am

    @ Ajay,

    “If the smoke comes out, the pipe can be used as Testable pipe.( Build is testable for further testing). ”

    What do we do if the smoke do not come out of the pipe? Can you elaborate more on Smoke testing?

    Regards, Suhas M.

    #76 Rose on 09.11.08 at 1:25 pm

    I want to know about smoke testing

    #77 sunny on 09.12.08 at 5:52 am

    @ Ajay,

    Well done… nice example

    #78 vardhan on 09.17.08 at 9:45 am

    Sanity Testing: It means to test the flow of an application and concentrate on the showstopper issues while doing sanity. If any showstopper issue comes, will reject the build. Every build should be followed by sanity Testing.

    Smoke Testing: This is similar to sanity but difference is “should validate the application before release”. Once Smoke is passed, the application releases to UAT.

    Any concerns, let me know.

    Cheers,
    Vardhan
    QA Engineer.

    #79 Prasad on 09.17.08 at 1:05 pm

    @Vardhan,

    hello vardhan,

    i heard smoke & sanity are same.

    if suppose it differs the definitions which u given are right , but u given smoke definition to sanity and sanity to smoke, i think so. sorry if im wrong.

    #80 Nandakumar on 09.26.08 at 4:28 am

    Dear Friends,

    This is not like Mathematics, Software Testing Definitions can be created by ourself. As far as i’m concern

    Smoke Testing :
    =========== is nothing but Once a build came for testing – Before Test Engineers execute their Testcases they done a Positive Flow of Functional Test for the entire application and confirm whether the Application is “FIT FOR TESTING”. If its thru then only Test Engineers will start executing the Testcases.

    Sanity Testing :
    =========== is similar to Smoke Testing but here once the Test Engineers complete their Retesting or Regression and confirm all the issues were closed. Either they will run all the testcases once again or they do functional test on positive flow on the entire application and verify whether the application is
    “FIT FOR RELEASE” or “FIT FOR BETA TESTING” – after confirming that only Testing Team will certify the application for Beta Testing.

    I May be wrong but i used to follow it on my own way to manage my team.

    Best Regards
    Nanda – 9884417981
    nandakumar_snk@yah00.com

    #81 Saurabh Mishra on 09.26.08 at 5:40 am

    Every thing is fine, from the above definition it is clear that tester takes all the precautions & initiatives to make software bug free than why Beta testing is required. (Might be this question appears to be funny but try to thing indepth) for an example: very kiddish bugs are associated with google chrome (browser), I believe tester or developer completely left on user to find out; otherwise it could be caught very easily by putting honest effort. (saurabhmishra007123@indiatimes.com)

    #82 srilaxmi on 09.29.08 at 10:19 pm

    Hi friends
    what is tress structure,
    what is the difference between functional testing and automation testing ,functional automation testing ,when we use,and advantages

    #83 Laxmi on 09.29.08 at 10:48 pm

    Hi friends i am new to testing i have a lot of interest to learn the testing tools so any one give the suggestion how can i follow the steps and improve my skills now i am in us and if anybody know the website and certification sites plz tell me
    thank you

    #84 Prasad on 09.30.08 at 6:31 am

    @Srilaxmi,
    Automation Testing: here we are giving some instructions to the tool to test the application.(whether the application is web application or window’s.)

    Functionality: here we are Testing the specific field to check whether it is working correctly are not.

    #85 Santosh Sagar on 09.30.08 at 6:42 am

    Thanks
    for this nice explaination.
    now i clearly understood the exact difference betn
    sanity testing and smoke testing.

    #86 Lalit S Munola on 10.07.08 at 7:06 pm

    Thanks for clearing my doubts..
    now i clearly understood the exact difference betn
    sanity testing and smoke testing.

    #87 khushboo on 10.16.08 at 9:30 am

    its really a very good blog to get actually a testing concepts

    #88 khushboo on 10.16.08 at 9:42 am

    as we used to say that testing types are black box testing,white box testing ,grey box testing,hybrid testing.Rigth.And we used to sya that testing techniques are this that ……..lots and lots techniques.But somewhere we see that functional testing,structure testing,unit testing,integration testion testing considered an main testing techniques and under these techniques lots of testing comes.So basically how many techniques are there for testing.please explain me in brief.

    #89 abdul on 10.16.08 at 12:03 pm

    not much clear, can u please explain with one easy example?

    #90 jyotiS on 10.24.08 at 8:34 am

    Hi all,
    It is really gud place to clear all our confusion……!!!

    #91 Qastation on 10.24.08 at 11:44 am

    @ Khushboo

    Types of Testing:
    1. Unit
    2. Integration
    3. System
    4. UAT

    Methods of Testing:
    1. Black Box
    2. White Box

    #92 Saurabh Mishra on 10.24.08 at 12:53 pm

    Ajay,… I have gone throgh with such example from other website. Kindly, let us know the name of that website.. , so that all can take help from there. I am forgetting the name of that site. :)

    #93 Nandakumar on 10.28.08 at 5:04 am

    Dear friends,

    Whenever you are posting a comment, Please mention your mail address, so that it will be easier for others to contact the individuals to clarify or clear the issue.

    Regards
    Nanda
    ( s.nandakumar@sify.com )

    #94 Gaurav Bhargav on 11.10.08 at 9:38 am

    Great explanation. Precise and concise.

    #95 vasanth on 11.19.08 at 9:09 am

    Can any one tel me about “risk analysis”……

    #96 Yonca on 12.09.08 at 10:13 pm

    what is bug life cycle ?
    Software Testing – Contents of a Bug
    Complete list of contents of a bug/error/defect that are needed at the time of raising a bug during software testing. These fields help in identifying a bug uniquely.

    When a tester finds a defect, he/she needs to report a bug and enter certain fields, which helps in uniquely identifying the bug reported by the tester. The contents of a bug are as given below:

    Project: Name of the project under which the testing is being carried out.

    Subject: Description of the bug in short which will help in identifying the bug. This generally starts with the project identifier number/string. This string should be clear enough to help the reader in anticipate the problem/defect for which the bug has been reported.

    Description: Detailed description of the bug. This generally includes the steps that are involved in the test case and the actual results. At the end of the summary, the step at which the test case fails is described along with the actual result obtained and expected result.

    Summary: This field contains some keyword information about the bug, which can help in minimizing the number of records to be searched.

    Detected By: Name of the tester who detected/reported the bug.

    Assigned To: Name of the developer who is supposed to fix the bug. Generally this field contains the name of developer group leader, who then delegates the task to member of his team, and changes the name accordingly.

    Test Lead: Name of leader of testing team, under whom the tester reports the bug.

    Detected in Version: This field contains the version information of the software application in which the bug was detected.

    Closed in Version: This field contains the version information of the software application in which the bug was fixed.

    Date Detected: Date at which the bug was detected and reported.

    Expected Date of Closure: Date at which the bug is expected to be closed. This depends on the severity of the bug.

    Actual Date of Closure: As the name suggests, actual date of closure of the bug i.e. date at which the bug was fixed and retested successfully.

    Priority: Priority of the bug fixing. This specifically depends upon the functionality that it is hindering. Generally Medium, Low, High, Urgent are the type of severity that are used.

    Severity: This is typically a numerical field, which displays the severity of the bug. It can range from 1 to 5, where 1 is high severity and 5 is the lowest.

    Status: This field displays current status of the bug. A status of ‘New’ is automatically assigned to a bug when it is first time reported by the tester, further the status is changed to Assigned, Open, Retest, Pending Retest, Pending Reject, Rejected, Closed, Postponed, Deferred etc. as per the progress of bug fixing process.

    Bug ID: This is a unique ID i.e. number created for the bug at the time of reporting, which identifies the bug uniquely.

    Attachment: Sometimes it is necessary to attach screen-shots for the tested functionality that can help tester in explaining the testing he had done and it also helps developers in re-creating the similar testing condition.

    Test Case Failed: This field contains the test case that is failed for the bug.

    Any of above given fields can be made mandatory, in which the tester has to enter a valid data at the time of reporting a bug. Making a field mandatory or optional depends on the company requirements and can take place at any point of time in a Software Testing project.

    The main purpose behind any Software Development process is to provide the client (Final/End User of the software product) with a complete solution (software product), which will help him in managing his business/work in cost effective and efficient way. A software product developed is considered successful if it satisfies all the requirements stated by the end user.

    Any software development process is incomplete if the most important phase of Testing of the developed product is excluded. Software testing is a process carried out in order to find out and fix previously undetected bugs/errors in the software product. It helps in improving the quality of the software product and make it secure for client to use.

    What is a bug/error?
    A bug or error in software product is any exception that can hinder the functionality of either the whole software or part of it.

    How do I find out a BUG/ERROR?
    Basically, test cases/scripts are run in order to find out any unexpected behavior of the software product under test. If any such unexpected behavior or exception occurs, it is called as a bug.

    What is a Test Case?
    A test case is a noted/documented set of steps/activities that are carried out or executed on the software in order to confirm its functionality/behavior to certain set of inputs.

    What do I do if I find a bug/error?
    In normal terms, if a bug or error is detected in a system, it needs to be communicated to the developer in order to get it fixed.

    Right from the first time any bug is detected till the point when the bug is fixed and closed, it is assigned various statuses which are New, Open, Postpone, Pending Retest, Retest, Pending Reject, Reject, Deferred, and Closed.

    (Please note that there are various ways to communicate the bug to the developer and track the bug status)

    Statuses associated with a bug:
    New:
    When a bug is found/revealed for the first time, the software tester communicates it to his/her team leader (Test Leader) in order to confirm if that is a valid bug. After getting confirmation from the Test Lead, the software tester logs the bug and the status of ‘New’ is assigned to the bug.

    Assigned:
    After the bug is reported as ‘New’, it comes to the Development Team. The development team verifies if the bug is valid. If the bug is valid, development leader assigns it to a developer to fix it and a status of ‘Assigned’ is assigned to it.

    Open:
    Once the developer starts working on the bug, he/she changes the status of the bug to ‘Open’ to indicate that he/she is working on it to find a solution.

    Fixed:
    Once the developer makes necessary changes in the code and verifies the code, he/she marks the bug as ‘Fixed’ and passes it over to the Development Lead in order to pass it to the Testing team.

    Pending Retest:
    After the bug is fixed, it is passed back to the testing team to get retested and the status of ‘Pending Retest’ is assigned to it.

    Retest:
    The testing team leader changes the status of the bug, which is previously marked with ‘Pending Retest’ to ‘Retest’ and assigns it to a tester for retesting.

    Closed:
    After the bug is assigned a status of ‘Retest’, it is again tested. If the problem is solved, the tester closes it and marks it with ‘Closed’ status.

    Reopen:
    If after retesting the software for the bug opened, if the system behaves in the same way or same bug arises once again, then the tester reopens the bug and again sends it back to the developer marking its status as ‘Reopen’.

    Pending Rejected:
    If the developers think that a particular behavior of the system, which the tester reports as a bug has to be same and the bug is invalid, in that case, the bug is rejected and marked as ‘Pending Reject’.

    Rejected:
    If the Testing Leader finds that the system is working according to the specifications or the bug is invalid as per the explanation from the development, he/she rejects the bug and marks its status as ‘Rejected’.

    Postponed:
    Sometimes, testing of a particular bug has to be postponed for an indefinite period. This situation may occur because of many reasons, such as unavailability of Test data, unavailability of particular functionality etc. That time, the bug is marked with ‘Postponed’ status.

    Deferred:
    In some cases a particular bug stands no importance and is needed to be/can be avoided, that time it is marked with ‘Deferred’ status.

    What is a Bug Life Cycle?
    The duration or time span between the first time bug is found (‘New’) and closed successfully (status: ‘Closed’), rejected, postponed or deferred is called as ‘Bug/Error Life Cycle’.

    (Right from the first time any bug is detected till the point when the bug is fixed and closed, it is assigned various statuses which are New, Open, Postpone, Pending Retest, Retest, Pending Reject, Reject, Deferred, and Closed. For more information about various statuses used for a bug during a bug life cycle, you can refer to article ‘Software Testing – Bug & Statuses Used During A Bug Life Cycle’)

    There are seven different life cycles that a bug can passes through:

    Cycle I:
    1) A tester finds a bug and reports it to Test Lead.
    2) The Test lead verifies if the bug is valid or not.
    3) Test lead finds that the bug is not valid and the bug is ‘Rejected’.

    Cycle II:
    1) A tester finds a bug and reports it to Test Lead.
    2) The Test lead verifies if the bug is valid or not.
    3) The bug is verified and reported to development team with status as ‘New’.
    4) The development leader and team verify if it is a valid bug. The bug is invalid and is marked with a status of ‘Pending Reject’ before passing it back to the testing team.
    5) After getting a satisfactory reply from the development side, the test leader marks the bug as ‘Rejected’.

    Cycle III:
    1) A tester finds a bug and reports it to Test Lead.
    2) The Test lead verifies if the bug is valid or not.
    3) The bug is verified and reported to development team with status as ‘New’.
    4) The development leader and team verify if it is a valid bug. The bug is valid and the development leader assigns a developer to it marking the status as ‘Assigned’.
    5) The developer solves the problem and marks the bug as ‘Fixed’ and passes it back to the Development leader.
    6) The development leader changes the status of the bug to ‘Pending Retest’ and passes on to the testing team for retest.
    7) The test leader changes the status of the bug to ‘Retest’ and passes it to a tester for retest.
    8) The tester retests the bug and it is working fine, so the tester closes the bug and marks it as ‘Closed’.

    Cycle IV:
    1) A tester finds a bug and reports it to Test Lead.
    2) The Test lead verifies if the bug is valid or not.
    3) The bug is verified and reported to development team with status as ‘New’.
    4) The development leader and team verify if it is a valid bug. The bug is valid and the development leader assigns a developer to it marking the status as ‘Assigned’.
    5) The developer solves the problem and marks the bug as ‘Fixed’ and passes it back to the Development leader.
    6) The development leader changes the status of the bug to ‘Pending Retest’ and passes on to the testing team for retest.
    7) The test leader changes the status of the bug to ‘Retest’ and passes it to a tester for retest.
    8) The tester retests the bug and the same problem persists, so the tester after confirmation from test leader reopens the bug and marks it with ‘Reopen’ status. And the bug is passed back to the development team for fixing.

    Cycle V:
    1) A tester finds a bug and reports it to Test Lead.
    2) The Test lead verifies if the bug is valid or not.
    3) The bug is verified and reported to development team with status as ‘New’.
    4) The developer tries to verify if the bug is valid but fails in replicate the same scenario as was at the time of testing, but fails in that and asks for help from testing team.
    5) The tester also fails to re-generate the scenario in which the bug was found. And developer rejects the bug marking it ‘Rejected’.

    Cycle VI:
    1) After confirmation that the data is unavailable or certain functionality is unavailable, the solution and retest of the bug is postponed for indefinite time and it is marked as ‘Postponed’.

    Cycle VII:
    1) If the bug does not stand importance and can be/needed to be postponed, then it is given a status as ‘Deferred’.

    This way, any bug that is found ends up with a status of Closed, Rejected, Deferred or Postponed.

    #97 Yonca on 12.09.08 at 10:20 pm

    Laxmi
    I use to learn http://www.w3schools.com
    all I know about testing and tools + SQL…other needs.
    Try it easy and free.
    Senior Test Lead
    Yonca

    #98 Vikas on 12.15.08 at 3:02 pm

    Really nice…….. :-)

    #99 D Senthil Kumaran on 01.03.09 at 6:39 am

    Really superb…..

    #100 veena on 01.12.09 at 7:00 am

    Can any one tell, who does smoke and who does sanity?
    In my prodcut, testers does smoke(soon after new version(say previous it was 8.3.1 now when 8.3.2 with new enhancements) of application is given for testing)..but never heard word sanity while testing.

    #101 Jyoti on 02.03.09 at 9:39 am

    Hi Veena,
    U r right that smoke testing is done by tester whn a new version/build is prepared.
    Similarly, when retesting/regression testing has to be done then we do sanity testing.That means the application is tested in depth to check the complete functionality has met the requirement.
    This we do it everytime in the project but we may not call it sanity testing.This is also done by tester.

    #102 resh on 02.20.09 at 8:38 am

    Your explaination is very clear&crisp.
    Thanks you so much…..

    #103 kavitha on 02.27.09 at 5:25 am

    can i know more about the examples of severity and priority????

    #104 kavitha on 02.27.09 at 5:27 am

    Please can any one tell me in detail about the sdlc cycles???

    #105 rish on 02.27.09 at 6:27 am

    Severity–>Blocker,Critical,Major,Minor,Trivial(impact of bug) .
    Priority—>Urgent,High,Medium,Low(how it should be fixed)

    #106 Jyoti on 02.27.09 at 11:07 am

    Dear Kavitha,
    SDLC-S/w Development Life cycle
    This cycle includes the complete phases involved in s/w developing.
    The phases are:
    Requirement Phase
    |
    Design phase
    |
    Coding Phase
    |
    Testing phase
    |
    Implementation phase

    Requirement Phase—–Here we gather requirement for the project…by preparing URS\BRS,etc.

    Design—–Once SRS is prepared then we start with design phase ,,we wld prepare detail design..SDD doc.

    Coding—-we wld do coding for that design document.
    Testing—Testing the application to find out the adherence of standards and requirement of the client.

    Implementation Phase—Here the application goes live…End user wld start to use the application..User manual wld be prepared.

    I hope ur doubt is been cleared nw…if need to knw more ..pls let me knw..

    #107 G.suresh on 03.24.09 at 9:50 am

    Hi
    I think there is no any difference between Sanity and smoke Testing Both are eual
    It depends upon the Work conditions

    #108 Prashant Gajjar on 03.26.09 at 5:53 pm

    To Hello:
    Retesting: To ensure that original fault has been removed from an application. It is performed whenever the detected fault has been fixed.

    Regression testing: To check that modified system still meets it requirement. It is used whenever the software and it’s environment changed.

    #109 Jayakumar.N on 04.07.09 at 11:45 am

    Dear All,

    There was one more term Coined in Software Testing industry “Smart Regression”

    Regression Testing: Regression testing means rerunning entire set of applicable test cases from existing test suites to ensure that software changes have no unintended error seeding and ensure the 100% stability of the software. Mostly this technique used for automotive testing

    Smart Regression Testing
    ==================
    Smart Regression means testing particular test cases which selected based on the bug fixes impact analysis, after discussion with relevant development team. To support this type of testing sanity test is mandatory to ensure overall is perfect / not effected.

    Which will be very useful in practical situation where time matter more.

    Jayakumar.N(JK)
    Love All Serve All
    winjayakumar@gmail.com
    India

    #110 Mehul solanki on 04.15.09 at 7:07 am

    Very Nice explain.

    #111 Venkatesh on 04.15.09 at 10:44 am

    Smoke testing is done by developers,
    Sanity testing is done by testers,
    Before involve into full testing process., some of the main modules are tested, this is termed as sanity and smoke testing.

    #112 Ruba Ardah on 05.20.09 at 1:39 pm

    Nice one :-)

    #113 Smoke testing will take another day | RunAlong on 05.22.09 at 7:45 am

    [...] Hej everyone, everything will have to take another day, as we deploy  (move the application/site) from one the test server to the dedicated server (the site get its own appartment, instead of living with mom an dad). As we move it, we still need to see that all the funktions that we have build work the same way they worked on the test server, thats called Smoke testing. [...]

    #114 Siva Krishna Nichenametla on 05.30.09 at 7:38 am

    Clear Explanation, Thanks

    #115 Rekha on 06.01.09 at 12:35 pm

    very good and useful descriptionm…………….

    #116 ankur srivastava on 06.09.09 at 6:19 am

    good definitions

    #117 pankaj kalia on 06.19.09 at 9:52 am

    great explanation.
    It is great site to clear doubts.

    #118 Mritunjay on 06.29.09 at 10:37 am

    THANX FOR THIS LUCID EXPLAINATION !!

    #119 minoti on 07.15.09 at 5:50 pm

    it really helped man…….thanx a lot !

    #120 S.H.K Niazi on 07.23.09 at 5:41 am

    @ Yonca

    you really gave a comprehensive detail about “bug life cycle” ,,thx for sharing your knowledge .

    #121 free hollywood movies on 08.12.09 at 2:31 pm

    this is a nice explanation i foudn on the www till now, i really liked this but one point is confusing is that you have suggested above in both type the “cursory way point”, i dont understand what exactly you mean to say.

    #122 Chandrakant on 08.13.09 at 12:11 pm

    Nice … very nice

    finaly i got the difference

    thanks

    #123 renish on 09.14.09 at 9:27 am

    clear my all doubts really good description

    #124 Shweta on 10.15.09 at 10:45 am

    Got a handsome amount of information in testing.. Keep going…

    #125 unknown on 10.23.09 at 8:24 am

    vijAY,

    nice copy paste from other web page answers ….

    #126 VijayD on 10.23.09 at 9:25 am

    Hey Unknown,

    Just FYI: Its a good platform to get understand about different things. Its not about the copy rights.

    Whenever we post any articles, the source could be any of the standard books or web sites or from our past experience.

    Hence, I would suggest you to pick the knowledge rather discussing about copy rights.

    Don’t take it otherwise.

    Regards,
    VijayD

    #127 Ashwini on 11.19.09 at 3:22 pm

    Helps for freshers……………. thanks to all

    #128 Sanity and Smoke tests | sqaguy info on 11.25.09 at 1:26 am

    [...] Reference : STH [...]

    #129 ghanshyam on 11.25.09 at 7:08 am

    very happy by reading.
    but ,recently from few days ,i am very upset ,i completed my testing certification but i didnt find the job yet ,
    pls suggest me any vacancies,in mumbai
    thanks and regards
    ghanshyam.mishra

    #130 kumar on 12.02.09 at 4:54 am

    can any one explain me hw to plan the testing process or procedure in the company

    #131 VIVEK on 12.10.09 at 10:51 am

    Hi Vijay,

    What is the aim of big bang approach in software testing?
    1) Testing all critical areas.
    2) Spending all efforts in testing phase
    3) Both 1 and 2.
    4) None of the above

    kindly confirm if option 4 is the right answer or not

    #132 VIVEK on 12.10.09 at 10:54 am

    what is operational testing?
    1) code based
    2) logic based
    3) function based
    4) fault based

    confirm if option 3 is correct or not

    #133 Geek Blogger on 12.16.09 at 10:10 am

    very nice explanation… thanks to all

    #134 Andrew on 12.22.09 at 10:43 am

    What an explanation

    #135 AV on 01.14.10 at 9:57 pm

    We use the term “sanity test” when de app es ready, tested on Dev server and loaded on Production server. Is this term right or have another meaning? i can see Sanity test is just a subset of regression test. Thanks for the article.

    #136 javeria banu on 02.11.10 at 7:07 pm

    wow how nicely u have explained everything here.

    #137 javeria banu on 02.11.10 at 7:09 pm

    please help me to know what is the differences between regression and re-testing

    #138 eesan652@hotmail.com on 02.12.10 at 7:03 am

    hi banu,

    RE-TESTING: say when a defect is raised for functionality, for that a fix will be given, so we will re-test the functionality again and close if there’s no bugs arise.
    REGRESSION TESTING: say your testing phase contains 3 cycles of testing and you found 100 defects over-all for a given binary in two cycles. And you retested all the defects. You will do one more cycle considering only those defects as major functionality to ensure the binary is bug free.

    #139 Dhvani on 02.15.10 at 5:02 am

    any one can give the definition of Priority and severity as well as example.

    #140 Ashish on 02.15.10 at 7:31 am

    Severity :- On 29th Feb 2012, system gets crash but we have time to fix this issue though system is getting crash. Defect will consider as severe defect but it’s proirity is low.

    Priority :- Client’s company name is mis-spell on first page. Though System is not getting crash so this issue is not severe defect but It has to fix on first priority since it will give wrong message to client.

    #141 shahbaz khan on 02.26.10 at 6:26 am

    plz tell me what is the diffrent between re-testing and reggression testing. and verificationand validation.diffrence between stab and driver.
    difference between saveority-priority.
    and plz give me a format test case design and defect template

    #142 balaji on 03.10.10 at 6:42 am

    Very nice

    #143 biswa on 03.11.10 at 12:07 pm

    very nice & easily

    #144 Sravanthi on 03.17.10 at 7:44 pm

    Retesting: Performing testing on the same functionality again and again with different sets of data is retesting.For EG:testing the login button with different sets of username and password.

    retesting starts from the first build and can continue till the last build

    Regression Testing: Here testing is performed on the already tested functionality again and again.
    2 scenarios of regression testing:

    1.After correcting the defects when the next build is released, checking the functionality of the defect as well as the related functionality.
    2. whenever new features are added in the next build , checking the already tested and related features of the new features.

    Regression testing starts from the second build and can continue till the last build

    #145 anil on 03.23.10 at 4:24 am

    Developers do smoke tests before releasing the build to the testing team
    testers do sanity test to accept that build
    testers again do smoke test (final regression Test) to send the appication to UAT
    (Sanity Test)
    Developer——>tester———>UAT
    (Smoke test) (Smoke Rest)
    Finally smoke test can be performed to send the application into later stages. Sanity test is to accept the build from development team.

    #146 Rama on 04.09.10 at 11:53 am

    This site is very good. i got each and every answer very detail.

    #147 Sravanthi.G on 04.12.10 at 6:05 pm

    verification: It is a process of checking conducted on each and every role in the organization, right from the starting of the process till the end of the process in order to confirm whether all of the roles are working according to the company’s guidelines. Done by Quality assurance team.

    validation:validation is a process of checking conducted on the application or its related parts in order to confirm if they are working according to the requirments. Done by the blackbox and whitebox testers.

    #148 Veena on 04.14.10 at 4:50 pm

    Thank u Jyothi for clarifying post 100.

    Veena.

    #149 gopalakrishna on 04.24.10 at 4:57 am

    before we understand what is sanity / smoke testing, we need to understand what is Build Acceptance Testing.
    Build acceptance is a type of testing in which the test engineers would perform testing on the application, before accepting it for a detailed testing.
    they would observe if the application can be installed on the test environment.
    if they able to navigate through the pages of the application.
    if the features of the application are working fine.

    however there is a contraversy, saying BAT ( Build acceptance Testing), smoke testing and sanity testing are all the same.
    people also say that there is a small difference between smoke and sanity testing.
    smoke testing is done by developers or white box testers, before releasing the build.
    Sanity testing is done by the test engineers before accepting the build.

    #150 gopalakrishna on 04.24.10 at 5:08 am

    in the intergration level testing we have top – down approach and bottom up approach,
    in the top down approach, first the parent module is created and then the child module is created. in this approach, they write some temporary programs or linking programs also callld interfaces, these temporary programs in top down approach are called stubs

    in the bottom up approach the child modules are created first, then the parent modules are created.
    the temporary programs written for linking the child and the parent modules are called drivers.

    #151 Hi This is Ravi from Bangalore , This website is really a boon to the testes in the world on 04.25.10 at 12:04 pm

    Can any one provides basic Information and techniques on “Testing Metric” (what are the test metrics and how to prepare the metrics”

    Thanks
    Ravikumar.N
    Bangalore
    nmravikumar32@gmail.com

    #152 Hi This is Ravi from Bangalore , This website is really a boon to the testes in the world on 04.25.10 at 12:11 pm

    I have one more question “What is meant by scope of test plan and how to decide the the test plan scope .
    Thanks,
    Ravikumar

    #153 Manish Kumar on 04.28.10 at 12:12 pm

    Thanks for explane about Smoke & sanity testing.
    Manish Kumar

    #154 Jitendra on 05.03.10 at 11:18 am

    Thanks for explaining the difference. but some points are missed.

    #155 namrata on 05.13.10 at 1:00 pm

    hi… m a tester working in a s/w firm in mumbai..ma fresher with some months of experience bt with good communication skill and crisp knowledge on testing concepts.I need to relocate to pune can any one suggest me regarding any opening or any other source?plz do help me.my email id is “choudhurynamrata@yahoo.com”

    Regards.

    #156 amna on 07.08.10 at 11:34 am

    hi m amna….m recently join software testing……pls tell me detail abt regression n integration testing.

    #157 Dhvani on 07.12.10 at 8:57 am

    what is the Scope in Test Plan, plz give me one ex. of it.?

    Thnx…….

    #158 geek on 07.13.10 at 9:29 am

    Most ridiculous explanation!
    Smoke testing looks okay but so much contradiction in sanity testing.
    Line one says:

    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. (NARROW and DEEP)

    Line 3 says:

    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.
    (HERE Cursory TESTING, just opposite of DEEP)

    Line 5 says:
    Sanity testing is to verify whether requirements are met or not, checking all features breadth-first.
    (HERE Breadth first – Opposite of NARROW)

    How people commenting above got their doubts clarified based on jumbled up English?

    #159 amna on 07.13.10 at 9:52 am

    thnx

    #160 Types of Testing « All About Software Testing on 07.16.10 at 8:10 am

    [...] The first system test is often a smoke test. This is an informal quick-and-dirty run through of the application’s major functions without bothering with details. A Smoke test is designed to touch every part of the application in a cursory way. It’s shallow and wide. The term comes from the hardware testing practice of turning on a new piece of equipment for the first time and considering it a success if it doesn’t start smoking or burst into flame. More About Smoke Testing [...]

    #161 chetan on 07.17.10 at 2:19 pm

    Hi, i am fresher interested to get software certification plz any one can help me regarding it

    #162 lucky on 07.19.10 at 5:54 pm

    SMOKE IS BEST

    Leave a Comment