DEV Community

Peter Kim Frank
Peter Kim Frank Subscriber

Posted on

Explain "Smoke Testing" like I'm five

Can you explain the concept of "smoke testing" like I'm five?

Top comments (14)

Collapse
 
krukru profile image
Marko Kruljac • Edited

Great question! This one really got me thinking, here it goes.

For your upcoming birthday, you ask your parents to buy you a Lego 1989 Batmobile.
The day finally arrives, and you are presented with a wrapped package, but they don't tell you what's inside. It is a surprise.

Your excitement rises, but before you get your hopes up - you examine the package.
Judging by the shape and size of the package, it matches the size of the 3306 piece box for the Lego 1989 Batmobile. Smoke test 1 passed.

You take the present in your hand and feel its weight. Its not too heavy, not too light. Just about right for a box of Legos. Smoke test 2, passed.

You decide to give it one final test before calling it. You shake the box and hear the familiar sound of Legos inside. Smoke test 3, passed!

Now you are fairly confident that the present is some kind of Lego, but you cannot really be sure if it is the Batmobile, so you start with user acceptance testing, unwrapping the present and validating the contents of the box.

Had any of the smoke tests failed, you would have immediately known that the present is not what you asked for, without investing time in detailed testing.

Collapse
 
peter profile image
Peter Kim Frank

This is brilliant, truly a great ELI5 answer. Thank you!

Collapse
 
ajdinmust profile image
Ajdin Mustafić

Way to go! You deserve Lego 1989 Batmobile for this amazingly detailed explanation. :)

Collapse
 
rnrnshn profile image
Olimpio

Wow. This deserves a prize 🔥🔥🔥🔥

Collapse
 
napravicukod profile image
Rudolf Jurišić

Awesome explaination

Collapse
 
vasilvestre profile image
Valentin Silvestre

Awesome, give this man all the medals !

Collapse
 
pradeepradyumna profile image
Pradeep Pradyumna

Wow!

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard • Edited

During the development process, you have done all kind of extensive testing: unit testing, integration testing, user testing, whatever.

Before you start demo before the client though, you spend 5 minutes to test the most simple things to make sure still basic things still works because you would rather not be Bill Gates experiencing the Blue Screen Of Death:

Collapse
 
recursivefaults profile image
Ryan Latta

Q: How much of the house is on fire?
A: I don't know, but I smell smoke, so there is definitely fire.

In other words, smoke tests give a quick check that things are ok or not. Smoke tests pass then hey, probably no fires. Smoke tests fail, there is a fire. They are used with other types of tests to give a more complete picture.

Collapse
 
rruchte profile image
Rob Ruchte

In plumbing, a smoke test forces smoke through pipes in order to find leaks. If you see smoke somewhere it shouldn't be, you've found a leak. Or if smoke does not appear at the other end of the pipe, you've got a blockage. In software, a smoke test usually will pass test data through a process from end to end and verify that the results of the process match expectations. This would be an integration test "in situ", rather unit testing of individual components in a process.

Collapse
 
blestab profile image
blestab

Interesting analogy. Makes the concept clear

Collapse
 
jwp profile image
John Peters

Similar to Smoke and Mirrors it's not the real thing. An illusion of safety. Want to release to production? Run a smoke test.

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Smoke test is like when you see me and you yell monster!!! when we are playing a game. So you're doing it on a computer and it yells monster when it found something bad.

Collapse
 
csgeek profile image
csgeek

Smoke test is basically a sanity check to make sure the product won't explode if you push an update.