What is a Smoke Test and Why is it Important?
Written By: Matthew Mckerroll, Agile Test Engineer, TribalScale
📫 Subscribe to receive our content here.
💬 Have any questions about the importance of smoke tests? Click here to chat with one of our experts!
What exactly is Smoke Testing?
Smoke Testing is a regular part of the QA process and it is performed by the QA engineer regularly throughout development of an application.
Unlike regular testing that is both exhaustive and detail focussed, smoke testing is fast, and focuses on testing core/critical functionality of an application. Smoke testing isn’t meant to debug builds, or find edge cases, smoke testing is used to quickly verify that a build is properly functioning and does not contain critical errors. It wouldn’t make a lot of sense to do detailed build testing if there are critical issues with the build.
Why is it called Smoke Testing?
The term smoke testing actually originated in the construction industry. When plumbers are testing water pipes, before actually filling the pipes with water, they will fill the pipes with smoke so that any leaks will be clearly visible.
The term was also utilized in hardware testing, where after all components are put together, and the main power is turned on, testers would check to see if any parts would start smoking as the initial test.
Those same principles of validating the functionality of a build is why smoke testing is called that in software testing. You can’t build a whole network of pipes if a single one leaks, or build some hardware with any single component that isn’t working. The same is true for software, you can only use it when all components are working and functioning as intended.
So What Makes a Smoke Test, a Smoke Test?
Smoke testing has several core components that differentiate them from regular testing. These are the main elements of smoke tests:
- Fast: smoke tests are meant to be quick to run through, only core functionality and core components are tested
- Easy: smoke tests should be easy enough to execute, such that anyone on a project team can easily run through them
- Surface-level: smoke tests are not meant to be deep dives, they are meant to scratch the surface while still being able to catch critical errors
- Broad: tests should try to cover the widest range of features as possible
These are the main features of smoke tests and properly applying these to your smoke tests ensure that the QA team does not waste time testing builds with critical issues. Having effective and useful smoke tests isn’t enough on its own. It’s important to have good cadences and processes so that the smoke testing can be as effective as possible.
To make the most of your smoke tests, the QA team should try to run through them every time a new build is delivered. This is why it’s important for the tests to be fast, easy, and broad. If they take too long or are too hard to execute, then there’s less time spent on testing new features and deliverables.
Well written and regularly executed smoke tests can lower the amount of total test efforts, improve the quality of the application and speed up the release cycle by making sure all dev time and testing time is spent well.
Matthew is part of the Quality Assurance team here at TribalScale. He works with a variety of different clients ensuring that TribalScale’s products are of the utmost quality. Outside of work he enjoys playing hockey and taking part in outdoor activities with his family.
TribalScale is a global innovation firm that helps enterprises adapt and thrive in the digital era. We transform teams and processes, build best-in-class digital products, and create disruptive startups. Learn more about us on our website. Connect with us on Twitter, LinkedIn & Facebook!