What is a Smoke Test?
As you begin your journey with Rainforest, the very first tests you should be filling your test suite with are Smoke Tests. At Rainforest, Smoke Tests are the tests that cover the basic functionality of the features of your website or application. We like to think of them as the foundational building blocks of a test suite.
The Smoke Test's Defining Characteristics:
- High Leveled - these tests are meant to cover whether a feature is functioning the way they are expected to.
- Optimistic - these tests should be written with the intent they will pass every single time that they are run.
- Simplistic - keep these tests concise and focused in order to test the functionality of a feature.
When should I be running my Smoke Tests?
Smoke tests should run from the building phase of the feature until it reaches general availability. These tests are worth running with every release possible.
Why are Smoke Tests so important?
These tests are the benchmark of the functionality of a website or application. Because they are written optimistically, the failure of a smoke test is a red flag indication of a significant problem with a feature that should be addressed as soon as possible.
Basic smoke tests such as sign-in/up and check-out flows are also important because they can serve as building blocks that provide a path to increase coverage in a scalable way. If prepared correctly, multiple smoke tests could be strung together to significantly decrease the amount of time needed to produce a more complex regression.
Because of their usefulness in helping scale a test suite and expand coverage, it is all the more important to make sure that regressions are passing consistently. In this way, a log-in in flow that is integrated into 15 more complicated regressions would deserve special attention due to how connected it is; if this smoke test broke, this event would lead to the failure of the 15 regressions it's integrated into.
Show love to your smoke tests and they'll make increasing coverage with Rainforest a piece of cake!