Smoke testing is carried out to test the health of a software build. It is a test done for the initial stage of the build where the software may not be stable. Testing team will only move onto a next set of tests only when smoke test passes first. Smoke testing is done by both developers and testers.