What Is a Smoke Test?



The term “smoke test” originally comes from Electrical Engineering. When you have built an electrical circuit, this is what you do when you try it out the first time.
  • You put a distance of at least 3 meters between you and the circuit.
  • You switch on the power for a very short time and check for explosions, smoke, and the like.
  • You approach the circuit and check with your hand if there are any hot or warm parts.
  • If everything is fine, you begin with functionality testing in earnest.

So, in Software Engineering we say:

A smoke test is a test that ensures the testability of the system.

Typical smoke tests include things like:
  • Does the system compile?
  • Does the system start up?
  • Can we execute the functions needed to set up test data?
  • Can we execute a simple unit test?
  • And of course all the things that have caused the nightly build/test runs to crash in the past.