preliminary, high-level testing process of the critical functionalities of a new software build, a quick check to see if the build is fundamentally broken, preventing wasting time on more in-depth testing of a faulty build.The term originates from hardware testing, where powering up a device and seeing if it smokes is a quick way check that there are no serious problems.

