6 April 2018 - Festicket Frontend Weekly Meeting
by Marco Alabruzzo
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
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
They are fast and they easily catch regression problems
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
They have a different role:
Snapshots are checking for changes in the markup.
A smoke test is checking that the component works
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.
Cypress tests
Smoke tests
Unit tests
Snapshots
Integration 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:
http://softwaretestingfundamentals.com/smoke-testing/
https://en.wikipedia.org/wiki/Smoke_testing