What is Smoke testing?
Smoke testing is another analog of Build Verification Testing, and is a type of software testing that includes a non-exhaustive set of tests aimed at verifying the performance of the most important, critical functions in the system. The result of this testing is used to see if the build is stable enough for further testing.
Smoke tests are performed by testers after receiving a new version (build) of the application for testing, while still considering it relatively unstable. At this stage, the goal is to make sure that the extremely important AUT (Application Under Test) functions work as expected. The concept of this type of testing implies that serious problems should be detected as early as possible and the build should be rejected or returned for improvement at an early stage of testing. The idea is to avoid going deeper into complex tests and wasting time on poor-quality software.
The purpose of smoke testing is to verify the overall software reliability and stability to allow for further thorough testing.