Smoke Testing in Software Engineering

Smoke testing, also called build verification or sanity testing, is an initial check done on software builds to ensure basic functions work before deeper testing begins. Its main aim is to confirm that key parts of the software operate correctly and no major issues stop further testing. 

Smoke testing helps catch early problems or integration issues, so teams can fix them early and smoothly move to the next testing stages.

Technical Interview Questions and Answers

What is Smoke Testing ?

  • Smoke Testing is also known as “Confidence Testing” or ”Build Verification Testing”.
  • This testing is done after developing the software product. Smoke testing is done on the particular build.
  • In this testing, software build is evaluated hence the name is “build verification testing”.
  • Smoke testing is inspired from the hardware testing in which device passed the test if it did not catch smoke once it was turned on.
  • Software product consists thousands of source code files so the process of creating an executable program from these source code files is known as “software build”. This process can be time consuming and complicated.
  • Smoke testing is a kind of performance testing which is used to check the critical functionality/ working of the program.
  • If the test fails, build is declared as unstable.
  • Software developers or testers performed smoke testing on the build.
  • The objective of this testing is to reject badly broken application so that the Quality Assurance team does not waste time and resources installing the software application.
  • Smoke test can be manual or automated.

Need of Smoke Testing :

  • To find defect in software product.
  • To test the basic functionality of the software product.
  • This testing is done for measure the stability of an application.
  • Smoke testing is performed to save time and resources for installing the software application.
  • It shows that the product is ready for testing.

Levels Applicable For :

  • Integration Testing Level
  • System Testing Level
  • Acceptance Testing Level

Advantages of Smoke Testing :

  • It uncovers defects at a very early stages.
  • It is easy to perform.
  • Reduces the risk of failure.
  • Saves efforts, time and money.
  • Runs quickly if automated.
  • Least integration risks and issues.
  • Smoke testing improves the overall quality of the system.
  • This testing gives faster feedback

Disadvantages of Smoke Testing :

  • It is possible to find bugs after smoke testing.
  • Smoke testing runs quickly if automated otherwise a lot of time wasted on manually executed the test cases in large projects. 
  • This testing is a non-exhaustive testing with limited number of test cases because of which we are not able to find critical defects.  
  • Smoke testing cover only the basic functionality, it does not cover the detailed testing .