According to Wikipedia, the term “smoke testing” likely originated in the plumbing industry; plumbers would use smoke to test for leaks and cracks in pipe systems. Some time later, the term was applied to the testing of electronics. Power up a device… if you see smoke, then, well… that’s bad.
Today, the concept of smoke testing is widely used in software development. While actual smoke may not be involved (at least we hope not), the same principles are applied in smoke testing software. So what exactly is smoke testing in the world of software?
Smoke testing is a high-level test, testing the basic functions of an application to expose failures great enough to halt the release of software. The process of smoke testing targets all key features, and is often considered a cost-effective approach to identifying software defects. If key features aren’t working, or major bugs haven’t yet been fixed, there’s no reason to waste time on further testing. Smoke tests are a subset of test cases that represent the overall test plan at a high-level. Smoke tests should be scripted. This ensures you’re touching all major components of the software and no key features are missed.
What is smoke testing good for?
Smoke testing isn’t making sure 100% of the software is bug-free. Besides, that’s nearly impossible anyway and would require way too much time. Smoke testing validates the build at a high level, and is typically done in a limited amount of time. Smoke tests are good for validating proper deployment, and verifying a build is ready to send to test. Smoke tests are not a substitute for full functional testing. Smoke testing also builds team confidence – by regularly validating code, the team has the assurance necessary to comfortably move forward in the project.
In summary, smoke testing uncovers major problems early, which saves time and cost wasted on further testing. Smoke testing ensures quality software is being built and released, and promotes a positive working environment with the self-assurance that your team is on the right path.
TestLodge Test Case Management can help you organize your smoke test cases. We provide a simple interface for managing test cases and tracking the results of each test run. Sign up for a free trial of TestLodge today to start improving your smoke testing efforts across your entire team!