Software development

What is Smoke Testing with Example? Smoke Testing vs Sanity Testing

Smoke testing will be used to identify all of the glaring oversights in the release. Taking the example of the first mobile banking app test, let’s see how a sample smoke test case look as implemented in PractiTest. Regression tests typically have more coverage of functional conditions. The end result is that a project may fail under the weight of too many defects found in a short period, especially toward the end of a project.

definition of smoke test

Smoke testing is conducted by QA engineers/QA leads after the product has been released to the QA environment. When a new project is released, the QA team decides the primary functionality of the application in order to do smoke testing. The QA team looks for show-stoppers in the app that is being tested.

The first step in a scenario-focused approach is to define the most critical tasks performed in a system or application. There are many benefits with smoke testing at an early stage of the product development. Hence, this testing process should be adopted as it quickly evaluates the basic functionalities of a new build and ensures whether the build is suitable to be moved for further testing process.

Smoke test definition

Quality product is what matters for enterprises today for which effective software testing is essential as it plays an important role in achieving quality. There are different types of software testing methods such as unit testing, integration testing, system testing, smoke testing, sanity testing, functional testing, non-functional testing types, etc. Out of these, smoke testing is a testing method that has its own prominence among these listed software testing methods. There are different types of software testing which includes unit testing, integration testing, system testing, sanity testing, smoke testing, interface testing and many more. Among these testing methods, smoke testing plays an important role as it is performed on each new build to check if the build is broken or can be moved to further testing. Basically, smoke testing is a rapid regression test of the major functionality and shows that the product is ready for further testing.

definition of smoke test

We will do the smoke testing to ensure that the product is testable. We need to make sure that we choose the test cases judiciously to cover the most critical functionalities and establish the overall stability of the build. Usually, Smoke Testing is done manually to verify navigation is happening smoothly without any hindrance to functionality. With smoke testing, we simplify the detection and correction of major defects. Sanity testing determines the completion of the development phase and makes a decision whether to pass or not to pass software product for further testing phase. The product should be added to the shopping cart.The item is not being added to the shopping basket.Fail3Sign out capabilityExamine the sign-out functionality.


The QA team can use smoke testing to identify flaws in application functionality that may have been introduced by the new code. Also, smoke tests are most efficiently and sustainably performed as automated tests, but can be performed manually. Smoke test results have the unique requirement of rapid reporting. When a new build fails when smoke tests are performed, the failures must be reported and fixed immediately. In Figure 5, we see the status of smoke tests that are being performed as shown in PractiTest.

In the production server, smoke testing can be done by the Business analyst , Development team manager, testing team manager, build team, and the customer. For not getting this problem in the future, the development team manager, the testing team manager, will take the customer login and do one round of smoke testing. Suppose we assume that four days we are given to the functional testing. On the first day, we check one module, and on the second day, we will go for another module.

A build includes all data files, libraries, reusable modules, engineered components that are required to implement one or more product functions. Smoke testing should be conducted on every release without miss in software engineering since it aids in the detection of flaws in the initial stages. The penultimate phase before the program build enters the system stage is the smoke test exercise. Smoke tests must be run on every release that is ready for testing. This applies to new projects as well as major and minor system updates. Smoke testing is performed to check that key path travel is as intended and does not interfere with functioning.

In this testing method, the development team deploys the build in QA. A subsets of test cases are taken, and then testers run test cases on the build. The QA team test the application against the critical functionalities. These series of test cases are designed to expose errors that are in build. If these tests are passed, QA team continues with Functional Testing. In this view, we can see a clear distinction between smoke tests and other types of testing.

  • Just imagine a situation where you have a testing team consisting of 10 members.
  • And when the customer performs the acceptance testing and does not find any issues and satisfied with the application because we already perform the smoke testing.
  • For example, regression testing explicitly checks each link on an updated webpage to verify that each link still works as intended.
  • It is a simple test that shows the product is ready for testing.
  • Regression tests typically have more coverage of functional conditions.

Other smoke tests can validate functionality not directly impacted by integration. So, when software developers and testers were looking for a way to describe a very basic level of testing to make sure if things work together, smoke testing was an appropriate term. We can see immediately in both of these definitions that smoke testing is typically not achieved in a single test case, but rather in a collection of tests. This collection of tests may vary in number, depending on the item being tested, but the goal remains the same – to find basic defects early before other work occurs on the item. While regression tests can also help identify new unintentional defects, it is not common to have tests for new functionality in a regression test suite.

Advantages of Smoke testing

In this analogy, the pipes represent the functional process being tested. And, the faucets represent the controls often seen in systems to select or restrict certain functions. Smoke testing in software makes more sense when we see how the term originated. You’ll be amazed how easy it is to learn Java and write powerful cross-platform applications when writing your first Java program… Migrating applications can be complex, especially for IT teams dealing with sprawling legacy systems, but devoting time to … If this function is working correctly, then tester will pass it in testing and test the next function of the same application.

definition of smoke test

Once the build is deployed in QA and, smoke tests are passed we proceed for functional testing. If the smoke test fails, we exit testing until the issue in the build is fixed. With the help of smoke testing, most of the defects are identified at initial stages of software development.


In Figure 3, we see one example of how smoke tests fit into the flow of a Continuous Integration and Continuous Delivery pipeline. Here, the Test lead says that the application is ready for further testing. The test leads do not specify to do smoke testing, but still, the testing team starts testing the application by doing smoke testing.

Smoke testing is a manual process; however, automation has the potential to simplify the process. Any error signals that the system must be returned to the development team. We do Smoke Testing whenever there is a modification in the production to assure reliability. In layman’s words, we’re making sure that all of the critical features are operational so that there are no stumbling blocks in the current release. A regression test might cover both preferred and non-preferred conditions. These tests are very confirmatory in nature, with the main objective of making sure the functions under test are working correctly and do not “break the build”.

Our expert industry analysis and practical solutions help you make better buying decisions and get more from technology. Start-Up Testing means the completion of applicable required factory and start-up tests as set forth in Exhibit C. Smoke test methods may be used by the Owner’s Representative to test work areas from the time a negative pressure is first estab- lished until final clearance tests are accepted.

It is done at the time of “building software.” This process is also known as “Day 0”. Today’s enterprises need quality products in the form of high performing web and mobile apps to beat the competition. In order to achieve quality products, software testing is essential.

Slang terms with the same root words

If the smoke test is a pass then the build can be further sent to the testing process else the build is rejected. The main aim of smoke testing is to detect early major issues. Smoke tests are designed to demonstrate system stability and conformance to requirements.

Smoke testing versus regression testing

If by any chance you spot an inappropriate comment while navigating through our website please use this form to let us know, and we’ll take care of it shortly. Here are all the possible meanings and translations definition of smoke test of the word smoke-test. Acceptance Testing means the process for ascertaining that the Software meets the standards set forth in the section titled Testing and Acceptance, prior to Acceptance by the University.


This sort of build verification testingis an effective process and is a verification method that can ensure that the product is stable and fully functional. Moreover, if a product fails smoke testing, then there is no point in further testing the product. This type of testing is also named as build verification or build acceptance form of testing. Specifically, this should be the first method of software testing that needs to be executed when once any new code deployment or code update is done for software projects. Smoke testing has got its name from hardware repair systems wherein a smoke test is performed on pipelines to know whether they are working or not. Similarly, this smoke test is a quick test performed as a part of the software testing, to see if the application “catches on fire” when a new build is deployed and tested for the first time.

Rather than manually repeating tests every time a new software build is delivered, recorded smoke test cases are run against the build. If the test fails, they may instantly fix the build and redeploy it. This allows us to save time while also ensuring a high-quality build for the QA environment. There are other certainly other ways to perform smoke tests and other contexts in which smoke testing may be applicable. For example, in a classic or hybrid waterfall lifecycle, smoke tests might be performed as part of integration or system testing. Since testing software integration is a key goal of smoke testing, a scenario-focused approach can be very effective.

smoke testing

Smoke testing confirms that the QA team can move on with further software testing. It is made up of a small collection of tests that are performed on each build to test programme functionality. Smoke testing is sometimes known as “Confidence Testing” or “Build Verification Testing.” However, smoke tests can be performed in many contexts, including traditional waterfall life cycles.