Definition — What is Smoke Testing?
Smoke Testing is one of a few methods in the software testing domain that possess numerous titles like build verification testing or build acceptance testing. Smoke testing has become a commonly used technique for the early and continuous detection of software defects. Smoke testing got its name from the testing of electrical appliances. In the past, the first thing to do while testing an electrical device was to plug it into a power outlet and see if it emits smoke or not. If there is no smoke then it means that the electrical circuits are not faulty and the device can be tested for its functionality. The same is the case with "Software smoke testing", the new software build before handed over to the testing team for detailed testing, a developer/tester conducts a preliminary level of testing that ensures all basic components of an application are functioning properly. Once it's verified that the software is doing fine then it is handed over to the testing team for full-fledged and detailed functional testing.
Smoke tests must be performed on each build that is turned to testing, it's the most cost-effective method for identifying and fixing defects in software. It also reduces the test effort significantly. It can be performed manually, as well. However, the results of automation are far better. Therefore, while working on software products, enterprises should take into consideration Smoke testing as an important testing process to judge the build stability.