What is smoke testing? When to use it? Advantages and Disadvantages

Smoke testing is a type of software testing which ensures that the major functionalities of the application are working fine. This testing is also known as ‘Build Verification testing’. It is a non-exhaustive testing with very limited test cases to ensure that the important features are working fine and we are good to proceed with the detailed testing.

The term ‘smoke’ testing is originated from the hardware testing, where a device when first switched on is tested for the smoke or fire from its components. This ensures that the hardware’s basic components are working fine and no serious failures are found.

Similarly, when we do smoke testing of an application then this means that we are trying to ensure that there should NOT be any major failures before giving the build for exhaustive testing.

  • The purpose of the smoke testing is to ensure that the critical functionalities of an application are working fine.
  • This is a non-exhaustive testing with very limited number of test cases.
  • It is also known as Build verification testing where the build is verified by testing the important features of the application and then declaring it as good to go for further detailed testing.
  • Smoke testing can be done by developers before releasing the build to the testers and post this it is also tested by the testing team to ensure that the build is stable enough to perform the detailed testing.
  • Usually smoke testing is performed with positive scenarios and with valid data.
  • It is a type of shallow and wide testing because it covers all the basic and important functionalities of an application.
  • Usually the smoke testing is documented.
  • Smoke testing is like a normal health check up of the build of an application.

Examples for Smoke Testing

Let us assume that there is an application like ‘Student Network’ which has 15 modules. Among them, there are 4 important components like Login page, Adding student details, Updating it and Deleting it. As a part of smoke testing we will test the login page with valid input. After login we will test the addition, updating and deletion of records. If all the 4 critical components work fine then the build is stable enough to proceed with detailed testing. This is known as Smoke testing.

When to use smoke testing

Smoke testing is used in the following scenarios:

  • It is done by developers before giving build to the testing team.
  • It is done by the testers before they start the detailed testing.
  • Smoke testing is done to ensure that the basic functionalities of the application are working fine.

Advantages of Smoke testing

  • It helps in finding the bugs in the early stage of testing.
  • It helps in finding the issues that got introduced by the integration of components.
  • It helps in verifying the issues fixed in the previous build are NOT impacting the major functionalities of the application.
  • Very limited number of test cases is required to do the smoke testing.
  • Smoke testing can be carried out in small time.

Disadvantages of Smoke testing

  • Smoke testing does not cover the detailed testing.
  • It’s a non-exhaustive testing with small number of test cases because of which we not are able to find the other critical issues.

Smoke testing is not performed with negative scenarios and with invalid data.