Basic sanity flows of an application which covers most of the major functions of the software but none of them in depth.
Also known as “Build Verification Testing”, is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work.
Function of Smoke Tests:
They can be used over and over as a system's functionality grows. Testing is developed to verify core functions work as designed.
Smoke test helps in exposing integration trouble spots and major problems early in the cycle.
Tests can be Manual or Automated. If builds are created frequently, it might be best to automate the smoke tests.
Test Results:
The result of this test are used to decide if a build is stable enough to proceed with further testing. If the smoke test passes, go ahead with further testing. If it fails, halt further tests and ask for a new build with the required fixes. If an application is badly broken, detailed testing might be a waste of time and effort. [1]
Fun Fact:
💨 The term ‘smoke testing’, it is said, came to software testing from a similar type of hardware testing, in which the device passed the test if it did not catch fire (or smoked) the first time it was turned on. [1]