Purpose
"Smoke tests" are great initial (simple) tests that help to avoid dreaded blocker bugs.
The concept is to run the software and then just look for obvious smoke (blocker bugs).
They exercise the code more than testing it, with the purpose of being to validate that the software simply runs.
Smoke tests help assure the following:
- Software starts
- Software runs
- Objects can be constructed
- Core functionality runs
Limitations:
- Testing is limited to core functionality
- Limited (simple/core) test scenarios
- Do not replace functional tests
Smoke and functional compared:
- Smoke tests help to assure that software is runnable
- Functional tests help to assure that software is running correctly
Examples
Navigation
Coding Fundamentals
(Chapter 203 - Unit Testing)