Smoke TestING

6 April 2018 - Festicket Frontend Weekly Meeting

by Marco Alabruzzo

Why DO we need to talk about smoke testING?

What is a smoke test?

Smoke Testing, also known as Build Verification Testing, is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work

What is a smoke test?

The term smoke testing, it is said, came to software testing from a similar type of hardware testing, in which the device passed the test if it did not catch fire (or smoked) the first time it was turned on

Why DO you need smOke testS?

They are fast and they easily catch regression problems

WHY DO YOU NEED A SMOKE TEST?

We should start raising errors in our functions when something unexpected happens (an exception to the rule)

Smoke tests guard against errors and errors are recorded in sentry.io

Why not use snapshots?

They have a different role:

Snapshots are checking for changes in the markup.

A smoke test is checking that the component works

WHY NOT USE SNAPSHOTS?

Smoke tests scale better than snapshots:

Snapshots are slightly slower, and also create a snapshot file to review. More snapshots means a slower test system, but also more code to review

Having too many snapshots makes people less likely to review them accurately

If no one is actually reviewing snapshots you may as well not have them at all.

WHY NOT USE SNAPSHOTS?

Cypress tests

Smoke tests

Unit tests

Snapshots

Integration tests

When should you use smoke tests?

We should smoke test every meaningful combination of properties

We should put every meaningful combination of properties in the Storybook

We should have smoke testing covering every story in the Storybook

For components:

Thank you!

http://softwaretestingfundamentals.com/smoke-testing/

https://en.wikipedia.org/wiki/Smoke_testing

Made with Slides.com