E2E Test

Testing 🟡 Mid

Définition

Test de bout en bout qui simule le parcours réel d'un utilisateur a travers l'application complète (navigateur, API, BDD). Valide le système dans son ensemble.

Analogie

Comme un client mystère qui entre dans un restaurant, commande, mange et paye pour vérifier toute l'expérience.

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', '[email protected]');
  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

Écrire trop de tests E2E : ils sont lents et fragiles. Réserver aux flux critiques uniquement.
#testing#interview#frontend

En entretien

  1. Explique-moi un test E2E.

    C'est un test de bout en bout qui simule le parcours réel d'un utilisateur à travers l'application complète, navigateur, API et base de données, pour valider le système dans son ensemble. On les réserve aux parcours utilisateurs critiques comme l'inscription, l'achat ou le paiement, avant chaque release.

  2. Quand éviter d'écrire trop de tests E2E ?

    Ils sont lents et fragiles, donc il faut les réserver aux flux critiques uniquement plutôt que de couvrir tous les cas avec ce niveau de test. Un client mystère qui teste tout le restaurant à chaque plat coûterait trop cher.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre