What is Smoke Testing?
Smoke testing is the initial testing process exercised to check whether the software under test is ready/stable for further testing.
The term ‘Smoke Testing‘ comes from the hardware testing, in the hardware testing initial pass is done to check if it did not catch the fire or smoke in the initial switch on.
Prior to start Smoke testing few test cases need to created once to use for smoke testing. These test cases are executed prior to start actual testing to check critical functionalities of the program is working fine. This set of test cases written such a way that all functionality is verified but not in deep. The objective is not to perform exhaustive testing, the tester needs to check the navigation’s & adding simple things, the tester needs to ask simple questions “Can tester able to access software application?”, “Does user navigates from one window to other?”, “Check that the GUI is responsive” etc.
Here are graphical representation of Smoke testing & Sanity testing in software testing:
The test cases can be executed manually or automated; this depends upon the project requirements. In this types of testing mainly focus on the important functionality of the application, the tester does not care about the detailed testing of each software component, this can be cover in the further testing of the application.
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 integration of modules.
- It helps to find issues in the early phase of testing.
- It helps to get confidence to tester that fixes in the previous builds not breaking major features (off course, only features exercised by smoke testing).
Conclusion:
In these article we covered Smoke Testing definition, description, advantages. Hope this will help to understand the Smoke. I will explain “What is Sanity Testing?” in my next article, keep eye on it.
If you have more information or points to be shared with other then please add it in below comments section.
- Sanity Testing
- What is Installation Testing?
- Gray Box Testing
- Positive and Negative Testing In Software Testing
- Detailed Understand of Usability Testing: What? Why? & How?
- A Better Approach to Usability Testing
- What Is Portability Testing In Software?
- Adapting To Exploratory Testing Is Not Easy For Every Tester
- How to do Backend Testing?
- What is Test Maturity Model Integration?
22 thoughts on “Smoke Testing”
Very nice article, cleared my doubts:)
Nice post with explanation, but can you please clear my query: When do we use Sanity testing? And when do we use Smoke testing?
Smoke testing is done when the initial release of module comes. We check whether system’s major functionality is working fine and whether we find any showstopper bug. In the initial stage of build, the system is not stable.
When we raise defects and developer fixes them and gives us new builds over a certain period of time and that time we say when system is enough stable as well there is least possibility to fail a test case, that time we do Sanity testing.
Hope things are clear now! Actually when you get practical exposure where whole process of testing is followed in well manner, you will be acquainted with these terms in real good manner!
Thanks!
Asmita.
@Pankaja – The Smoke testing is wide approach of testing & sanity testing is the narrow regression approach of testing with a specific set of functionality of software application.
In other words “Smoke testing is like General Health Check Up” and Sanity Testing is like “specialized health check up”:)
@Asmita – Nice explanation, Adding some points to Asmita’s comment, Smoke testing of the software is to check build is stable to accepted for through software testing & done it in early stage. Sanity testing of the software is to ensure whether the requirements are met or not.
Keep up the wonderful work , I read Smoke testing blog posts and I conceive with the how you explained. its really interesting and holds sets of excellent information.
Very helpful site for all Tester
How-do-you-do? an amazing blog post dude. Thanks But I’m having problem with ur rss feed. Unable to subscribe. Is there anybody else facing similar rss feed issue? Anybody who knows please respond. Thanks in advance
good article many use for software engineers
Hi, good explanation. Can u plz tell wht is the different between functional testing and functionality testing.
thankx
@Swati – Functional testing is sub-set of functionality testing. Functionality testing comes under functional testing only.
Functional Testing specific to module but functionality
testing is related with whole application.
-Apporva, QA Manager @TCS
Smoke testing is done for the software in order to verify that the software is stable enough for further testing. it has a collection of written tests that are performed on the software prior to being accepted for further testing. Smoke testing “touches” all areas of the application without getting too deep.
–Sakthi
I m fresher in testing. its very useful site for all freshers.
thanks to all keet it up.
thank you…
Nice Article…This article cleared all my basic doubts about smoke testing!!!
smoke testing is used to when the build came for developers at the time tester test the build (s/w) stable are not. if stable further testing going continue.but the build not effect of main function application
Nice one and cleared my doubt on smoke testing. could you please explain Exploitative testing with proper explanation.
Thanks
Anyone can reply -can we say – retesting and regression together as sanity testing.
Really Nice Article.
what is the main work for manual testing engineering,and how do they do??????????
@p.suresh – The main functionality of manual testing is to check the software application under test against the requirements. It is to check whether application is working as per the defined requirements. Tester should keep in mind that how end user is going to use the application, what are the business scenarios, will it be your all test cases covering all functionality that user are going to use.
Thanks,
Simon
Hi!
Thanks for the write-up. After having gone through your read up, I got a part of the answer I was looking for. That is, whether smoke testing can be applied at Integration testing level. And it was possible to find this information all over google (at least in my experience).
So, can one safely say that integration of modules is a prerequisite for software build process and the following round of smoke testing?
I appreciate for this website.
Now I understand what is smoke test and sanity test. And what’s the difference between them. Bless you!