Tests d’intégration
Objectifs pédagogiques
À la fin de cette section, vous serez capable de :
- comprendre le rôle des tests d’intégration
- identifier les interactions entre composants
- distinguer tests unitaires et tests d’intégration
- savoir quand et pourquoi les exécuter
Définition
Les tests d’intégration vérifient que plusieurs composants du système fonctionnent correctement ensemble.
Contrairement aux tests unitaires : - on ne teste plus une unité isolée - on teste les échanges, les flux de données et les interfaces
👉 L’objectif n’est pas de tester chaque détail, mais de valider que
les composants collaborent correctement.
Que teste-t-on en intégration ?
Les tests d’intégration peuvent couvrir :
- un module ↔ une base de données
- une API ↔ un service externe
- plusieurs modules internes entre eux
- un flux fonctionnel partiel
Exemples génériques :
- API ↔ base de données
- service d’authentification ↔ gestion des utilisateurs
- module de paiement ↔ système de facturation
Exemple fil rouge – MyEvents
Dans MyEvents
, de nombreux composants interagissent entre eux.
Exemple : achat d’un billet
Lorsqu’un utilisateur achète un billet, plusieurs éléments interviennent :
- le frontend envoie une requête
- l’API backend traite la commande
- le service de paiement est appelé
- la base de données est mise à jour
- un service d’e-mail est déclenché
Un test d’intégration peut vérifier par exemple :
- que l’API communique correctement avec la base de données
- que la réponse du service de paiement est bien prise en compte
- que les données enregistrées sont cohérentes
👉 On ne teste pas ici l’interface utilisateur,
mais le bon enchaînement des composants.
Différence avec les tests unitaires
| Tests unitaires | Tests d’intégration |
|---|---|
| Une seule unité | Plusieurs composants |
| Dépendances simulées | Dépendances réelles ou semi-réelles |
| Très rapides | Plus lents |
| Erreurs de logique | Erreurs d’interaction |
👉 Les tests d’intégration se situent au-dessus des tests unitaires
dans la pyramide de test.
Quand exécuter les tests d’intégration ?
- après les tests unitaires
- lors de l’intégration de nouveaux modules
- après une modification d’interface (API, contrat)
- avant les tests fonctionnels et E2E
Ils sont souvent exécutés :
- automatiquement dans une CI
- sur un environnement de test dédié
Bonnes pratiques
- limiter le nombre de scénarios
- tester uniquement les interactions critiques
- contrôler les dépendances externes si possible
- utiliser des données de test maîtrisées
- éviter de tester l’UI à ce niveau
À retenir
- les tests d’intégration vérifient la collaboration entre composants
- ils détectent des problèmes invisibles en test unitaire
- ils sont essentiels pour les systèmes distribués
- ils préparent les tests fonctionnels et E2E
“Ils permettent de s'assurer que les différentes parties de l'application fonctionnent bien ensemble. Ils sont essentiels pour vérifier la communication entre les différents modules”