Aller au contenu

Tests système & End-to-End (E2E)

"Tester un système, c’est vérifier que tout fonctionne ensemble dans des conditions réelles."

Principe des tests E2E

Objectifs pédagogiques

À la fin de cette section, vous serez capable de :

  • définir un test système / End-to-End
  • comprendre ce qui distingue les tests E2E des autres types de tests
  • identifier les scénarios pertinents à tester
  • comprendre leur place dans la pyramide de test

Définition

Les tests système, souvent appelés tests End-to-End (E2E),
consistent à tester l’application dans son ensemble, de bout en bout.

Ils couvrent simultanément :

  • l’interface utilisateur
  • le backend
  • la base de données
  • les services externes
  • les flux complets de l’utilisateur

👉 L’objectif est de vérifier que le système fonctionne comme attendu dans des conditions proches du réel.


Position dans la pyramide de test

Les tests E2E se situent :

  • au sommet de la pyramide de test
  • en nombre limité
  • avec un coût élevé (temps, maintenance, exécution)

Ils complètent : - les tests unitaires (base) - les tests d’intégration - les tests fonctionnels ciblés

👉 On ne cherche pas l’exhaustivité, mais la validation des parcours critiques.

Image title
Test E2E

“Ce type de test assure que tout le système fonctionne comme prévu, incluant l'interface utilisateur, la base de données, et les interactions avec des systèmes externes“


Exemple fil rouge – MyEvents

Dans l’application MyEvents, un test E2E peut couvrir le scénario suivant :

Scénario : achat complet d’un billet

  1. l’utilisateur se connecte
  2. il sélectionne un événement
  3. il choisit un billet
  4. il effectue le paiement
  5. il reçoit une confirmation par e-mail
  6. le billet apparaît dans son espace personnel

Ce test vérifie : - l’interface utilisateur - l’API backend - l’intégration avec l’API de paiement - la persistance des données - l’envoi de notifications

👉 Ce scénario correspond à une chaîne fonctionnelle complète, typique d’un test E2E.


Ce que testent (et ne testent pas) les E2E

Ils testent :

  • les parcours utilisateurs critiques
  • l’intégration globale du système
  • la cohérence fonctionnelle
  • les problèmes visibles par l’utilisateur final

Ils ne testent pas :

  • tous les cas limites
  • chaque règle métier isolée
  • les performances fines du code

👉 Les E2E ne remplacent pas les autres types de tests.


Avantages et limites

Avantages

  • vision réaliste du système
  • détection de défauts globaux
  • forte valeur métier

Limites

  • exécution lente
  • maintenance coûteuse
  • dépendance à l’environnement
  • diagnostic des erreurs plus complexe

Bonnes pratiques

  • limiter le nombre de tests E2E
  • cibler les scénarios métier critiques
  • automatiser uniquement les parcours stables
  • exécuter les E2E après les tests unitaires et d’intégration
  • surveiller régulièrement leur fiabilité

Lien avec les autres tests

Les tests E2E s’appuient sur :

  • des tests unitaires solides
  • des tests d’intégration fiables
  • un environnement de test maîtrisé

👉 Plus les tests de bas niveau sont bons,
moins on a besoin de tests E2E.


➡ Tests d’intégration ➡ Tests de régression