Hello friends! today we will be studying about smoke testing. It is one of the most confusing terms in software testing and that is why it is also the most commonly asked question testing interviews. In this tutorial, we will get to know about smoke testing, its features, and its advantages.
Smoke testing definition
It is a type of testing in which we execute the most crucial tests to make sure that the application can be considered for further exhaustive testing or not. It is also known as build verification testing.
It is performed right after the testing team receives the build. A subset of test cases is run over the build covering the most important functionalities. The functionality covered by the smoke tests is crucial, failing of which results in rejection of build.
Let’s understand this with the help of an example. Suppose, we have a large web application to test with thousands of test cases. Now, if we receive a build with a new feature or some bug-fixes, one way of testing would be start the complete test execution cycle. The complete test execution cycle will take good amount of time and resource.
This seems all good if the build is stable or has minor issues. But the real problem arises when the build is not stable and the core functionalities are not working. In this case, we have wasted the testing team’s time and also made the whole development team and the stakeholders wait regarding the stability of the build.
To handle cases like these, smoke testing was introduced. In this approach, instead of starting with the complete regression testing cycle or the complete test cases, we will just ask the testing team (or only some members of the testing team) to check only the core functionalities.
In this way, if the build is stable, we can quickly switch to exhaustive testing and in case the build is not stable, the development team is quickly notified about the instability of the build.
Some smoke tests for applications like Gmail can include test cases that are very critical to the app e.g. user should be able to login to the application, inbox should be populated with received mails, the user should be able to compose and send mail, etc.
Why it is called ‘Smoke’ testing?
Smoke testing got its name from the testing of electrical appliances. In the past, the first thing to do while testing an electrical device was to plug it to a power outlet and see if it emits smoke or not. If there is no smoke then it means that the electrical circuits are not faulty and the device can be tested for its functionality.
The same is the case with software, we check that if the bare minimum functionality is working or not, in order to make a choice as to whether thorough testing needs to be done or not.
Features of Smoke testing
- Build verification testing – It is also known as build verification testing or build acceptance testing.
- Shallow and wide – It is the shallow and wide approach of testing, we cover wider functionality but only the most common/basic use cases.
- Documented – Most of the times smoke tests are documented and often automated as well.
Advantages of Smoke testing
- It helps in quickly identifying issues in the crucial functionality.
- In case of issues found during smoke tests, a lot of time gets saved as the build is rejected and the testing team doesn’t perform complete test execution in the faulty build.
- Integration issues can be identified quickly using smoke testing.
- Sanity testing – its features and advantages
- Difference between smoke and sanity testing
- Software Testing Tutorial – Complete Guide
Kuldeep is the founder and lead author of ArtOfTesting. He is skilled in test automation, performance testing, big data, and CI-CD. He brings his decade of experience to his current role where he is dedicated to educating the QA professionals. You can find him on LinkedIn.