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 during an interview. In this tutorial, we will get to know about smoke testing, its features and advantages.
Smoke testing definition
Smoke testing is a type of testing in 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.
Example- Smoke tests for some applications like GMail will 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.
Same is the case with “Software Smoke testing”, we check that 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.
Some salient 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.