A smoke test answers one question: is this build alive enough to bother testing further? It does not check edge cases, it does not validate every feature, and it does not measure performance. It checks that the application boots, the main pages respond, and one or two business-critical flows succeed. Think of it as a heartbeat check, not a full physical exam.
The name comes from electronics and plumbing. When engineers powered up a new circuit board or pressurized a new pipe, they watched for smoke or leaks. If smoke came out, you stopped immediately because nothing else mattered until that was fixed. Software borrowed the idea: run the cheapest possible check first, and if it fails, do not waste time on anything else.
A typical smoke test for a web app might be five to fifteen assertions: the server process is up, the health endpoint returns 200, the login page renders, a test user can authenticate, and the database connection works. The whole thing usually runs in seconds to a couple of minutes, which is what makes it useful as a gate.