Smoke testing is a type of software testing that is used to quickly evaluate the basic functionality of an application or system after a new build or release. The main objective of smoke testing is to ensure that the critical or core features of the application are working as expected, and that there are no show-stopper defects that would prevent further testing.
Smoke testing involves running a series of simple tests or test cases that cover the essential or most important functionalities of the application. These tests are typically focused on the key business flows or use cases that the application is designed to handle, and are intended to verify that the application is stable and can be further tested.
The term “smoke testing” is derived from the hardware industry, where it was used to describe the process of testing a new device for the first time, to check if it started up without catching fire or smoking. In software testing, smoke testing is often performed manually or through automated scripts, and can be executed quickly and efficiently to provide immediate feedback on the quality and stability of the software build.