End-to-End Test
E2E
ELI5 — The Vibe Check
An end-to-end test is like hiring a robot to be a user. It opens your actual website in a real browser, clicks buttons, fills in forms, and checks that everything works from start to finish — just like a real human would.
Real Talk
End-to-end tests simulate complete user workflows through the entire application stack — from the UI through the backend to the database and back. They catch bugs that only appear when all layers work together.
Show Me The Code
// Playwright example
test('user can sign up', async ({ page }) => {
await page.goto('https://myapp.com/signup');
await page.fill('#email', 'user@test.com');
await page.fill('#password', 'secret123');
await page.click('button[type=submit]');
await expect(page).toHaveURL('/dashboard');
});
When You'll Hear This
"E2E tests take 10 minutes to run so we only run them on PR." / "The E2E suite caught a checkout regression."
Related Terms
Cypress
Selenium drives a browser like a confused tourist with a map.
Headless Browser
A headless browser is a real browser — Chrome, Firefox — but without the visible window.
Playwright
Playwright is an end-to-end testing tool that controls real browsers (Chrome, Firefox, Safari) to test your web app the way a user would.
Selenium
Selenium is the grandfather of browser testing — invented when Internet Explorer was still a thing worth testing against.
Test Pyramid
The Test Pyramid is a strategy for how many of each test type to have.