Smoke Testing

Hello friends! today we will be studying about smoke testing. It is one of the most confused term in software testing and that is why it is also the most commonly asked question during interview. In this tutorial, we will get to know about smoke testing, its features and advantages.


Smoke testing definition

Smoke testing is also known as "build verification" testing. It is performed right after the testing team recieves the build. A subset of test cases is run over the build covering the most important functionalities. The fucntionality covered by the smoke tests are crucial, failing of which results in rejection of build. In short, we will execute the most crucial tests to make sure that the application can be considered for further testing or not.
Example- Smoke tests for some application 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 recieved mails, user should be able to send mail etc.


Why it is called 'Smoke' testing?

Smoke testing got its name from 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 emmits smoke or not. If there is no smoke then it means that the electrical circuits are not faulty and device can be tested for its fucntionality.
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 wheather thorough testing needs to be done or not.


Some salient features of smoke testing

  1. Build verification testing - It is also known as build verification testing or build acceptance testing.
  2. Shallow and wide - It is shallow and wide approach of testing, we cover wider functionality but only the most common/basic use cases.
  3. Documented - Most of the times smoke tests are documented and often automated as well.

Advantages of smoke testing

  1. It helps in quickly identifying issues in the crucial functionality.
  2. In case of issues found during smoke tests, lot of time gets saved as the build is rejected and testing team doesn't perform complete test execution in the faulty build.
  3. Integration issues can be identified quickly using smoke testing.

Recommended reading-