- Live usage test
- Smoke tests
- E2E tests
- Integration tests
- Unit tests
And the likelihood of implementation in projects I work on is:
- Live usage tests (sanity checks, figuring out if the product flow is what I envisioned)
- E2E tests (more commonly for backend projects -- for an API this is basically the only way to ensure quality/functionality/prevent regression)
- Integration tests (I get worried about two components actually working together properly)
- Unit tests (I generally ignore these, type system does 80% of the work for me) - Smoke tests
How is everyone running smoke tests in an automated fashion? All you really "need" is 3 things:
- An alert when a staging/production deploy completes - A way to run the test (web-triggerable CI is everywhere now) - (optional) affordances on the app side to set up/teardown state quickly or avoid heavy processes etc.
I'm curious what others are doing for this, and what automation/backdoors they put in place. Feels like something I'm overlooking too much these days.