End-to-end test
An end-to-end test verifies a complete user flow through a real running application, from the interface down through the backend, as an actual user would experience it.
Prerequisite: Integration test
What matters
Because it exercises the whole system together, an end-to-end test can catch problems that neither unit nor integration tests would reveal, at the cost of being slower and more brittle to run.
Example
An end-to-end test might open a real browser, sign up a test account, add an item to a cart, and check out, verifying the entire flow works.
Common misconception
End-to-end tests are not meant to replace unit and integration tests; because they're slower and more fragile, they're typically used more sparingly, for critical flows.
Recall question
Why are end-to-end tests usually used more sparingly than unit tests?