Smoke testing
Smoke testing, also known as build verification testing or link testing, is a preliminary software testing technique used to determine whether a newly built or deployed application is stable enough to proceed with more thorough testing. In other words, smoke testing is the practice of testing that a system is testable.
Rather than exhaustively examining functionality, a smoke test exercises the most critical and fundamental features of the system, essentially asking the question "does this build hold together well enough to be worth testing further?" If the smoke test fails, the build is rejected and returned to development, saving time that would otherwise be spent running a full test suite against a fundamentally broken application.
The term is borrowed from electronics and plumbing engineering, where engineers do an initial sanity check by powering on a new circuit or pressurizing a new pipe to see whether anything literally smokes or leaks, before doing deeper inspection. In software, smoke testing occupies a similar role as an early gate in the testing pipeline.
Smoke testing is typically fast, broad rather than deep, and automated where possible. A passing smoke test does not indicate that the application is correct or complete, only that it is sufficiently stable — that key components are linked and responsive — to justify the investment of further testing effort.