What's in a smoke test?
When figuring out what to smoke test for a release/build/environment, I run down the following list in my head:
Based on my answers to those questions, I come up with my set of tests for the release. If it's a big release (aka more features or more visible), I'll do more smoke tests. It's been my experience that different releases often require different levels of smoke testing.
- What's changed in this build/release?
- What features/functions are most frequently used?
- What features/functions are most important or business critical to the client?
- Is there technical risk related to the deploy, environment, or a third-party service?
- Are there any automated tests I can leverage for any test ideas I came up with in the previous questions?
Based on my answers to those questions, I come up with my set of tests for the release. If it's a big release (aka more features or more visible), I'll do more smoke tests. It's been my experience that different releases often require different levels of smoke testing.