What is a smoke test, and how is it different from a sanity test?

I recently started a QA job focused on automation, but now I need to understand manual testing concepts better. I’m confused about the difference between Smoke and Sanity testing because I find so many conflicting definitions online.

Could someone explain the difference as simply as possible,like I’m five and maybe give an example? Thanks!

From my experience, a smoke test is like testing a new toy to see if it even turns on. It’s that first check to ensure the major functionalities are working as they should, with nothing critically broken. Now, a sanity test is more focused — it’s like checking a specific part of that toy (say the sound button) to ensure it works after a fix.

In short:

:fire: Smoke test = ‘Does everything work at a basic level?’

:brain: Sanity test = 'Does this small fix work as expected?

Based on what I’ve done in testing, when a new build comes in, I start with a smoke test to make sure things like app launch, button functionality, and login work. It’s a quick health check of the application. After that, if a developer fixes something like the search bar, I’ll run a sanity test to confirm that the fix didn’t break anything else around it.

Smoke = the bigger picture check.

Sanity = a targeted, focused check.

Let’s imagine baking a cake:

A smoke test is like seeing if the cake baked properly without burning it — the idea is to make sure it’s worth decorating. A sanity test is checking the frosting after you fixed it, to ensure it’s no longer salty — it’s about confirming that one small, specific thing works fine.

Smoke test = broader check.

Sanity test = fine-tuned validation.