E2E Test

Testing 🟡 Mid

Definition

Test de bout en bout qui simule le parcours reel d'un utilisateur a travers l'application complete (navigateur, API, BDD). Valide le systeme dans son ensemble.

Analogie

Comme un client mystere qui entre dans un restaurant, commande, mange et paye pour verifier toute l'experience.

Exemple de code

// checkout.spec.ts (Playwright)
test('user can complete checkout', async ({ page }) => {
  await page.goto('/products');
  await page.click('[data-testid="add-to-cart"]');
  await page.click('[data-testid="checkout"]');
  await page.fill('#email', 'test@mail.com');
  await page.click('button:text("Pay")');
  await expect(page.locator('.success')).toBeVisible();
});

Cas d'usage

Pour valider les parcours utilisateurs critiques (inscription, achat, paiement) avant chaque release.

Anti-pattern

Ecrire trop de tests E2E : ils sont lents et fragiles. Reserver aux flux critiques uniquement.
#testing#interview#frontend