Exécution des tests automatisés
Objectifs pédagogiques
À la fin de cette page, vous serez capable de :
- comprendre comment les tests sont exécutés
- distinguer exécution locale et exécution automatisée
- interpréter les résultats de test
- identifier les erreurs courantes
- comprendre le rôle de l’exécution des tests dans un projet professionnel
Comment s’exécutent les tests automatisés ?
Les tests automatisés sont exécutés à différents moments du cycle de développement :
- en local, par le développeur
- automatiquement lors du développement collaboratif
- avant une mise en production
👉 Leur objectif principal est de fournir un feedback rapide et fiable sur l’état du logiciel.
▶ Exécution locale des tests
L’exécution locale consiste à lancer les tests sur sa propre machine.
Elle est utilisée pour :
- vérifier une nouvelle fonctionnalité
- valider une correction de bug
- éviter de casser l’existant avant un commit
Dans un projet backend, cela concerne souvent :
- les tests unitaires
- les tests d’API
- certains tests d’intégration
🎯 Avantage principal : feedback immédiat pour le développeur.
Exemple fil rouge – MyEvents
Dans l’application MyEvents, un développeur peut lancer les tests localement pour vérifier que :
- l’achat d’un billet fonctionne toujours
- une modification sur le paiement n’a pas cassé l’API
- les règles de validation sont respectées
👉 Les tests locaux servent de première barrière contre les régressions.
Exécution automatisée (CI / CD)
Les tests peuvent être exécutés automatiquement via des outils d’intégration continue (CI) :
- à chaque commit
- lors d’une pull request
- avant un déploiement
Cette exécution permet de :
- détecter les erreurs introduites par une modification
- empêcher l’intégration de code défectueux
- garantir une qualité minimale partagée par toute l’équipe
👉 Un test qui échoue peut bloquer un déploiement.
Interpréter les résultats de test
Lors de l’exécution des tests, on obtient généralement :
- le nombre de tests exécutés
- les tests réussis / échoués
- les messages d’erreur
- parfois une couverture de code
Il est essentiel de : - comprendre pourquoi un test échoue - distinguer un bug réel d’un problème de test - corriger rapidement les échecs
⚠️ Erreurs fréquentes lors de l’exécution des tests
- tests dépendants entre eux
- environnement non maîtrisé
- données non réinitialisées
- tests trop lents
- tests instables (heure, réseau, API externe)
👉 Ces problèmes nuisent à la confiance dans les tests.
Lien avec la documentation et la traçabilité
Les résultats d’exécution des tests doivent être :
- conservés
- compréhensibles
- exploitables
Ils alimentent : - la documentation de test - la traçabilité exigences ↔ tests - les décisions de mise en production
👉 C’est l’objet du chapitre suivant.
Exemple fil rouge – MyEvents
Dans l’application MyEvents, une exigence peut être formulée ainsi :
Lorsqu’un utilisateur achète un billet, le paiement doit être validé et un ticket doit être créé.
Cette exigence peut être tracée vers plusieurs tests automatisés :
- test API
POST /tickets/purchase(happy path) - test d’erreur : paiement refusé
- test de régression après modification du module paiement
Chaque test est : - nommé explicitement - lié à l’exigence fonctionnelle - vérifiable dans les rapports d’exécution
👉 Cette traçabilité permet de savoir exactement ce qui est couvert,
et ce qui est impacté en cas d’évolution.
Navigation
⬅ Frameworks et structure GWT ➡ Documentation et traçabilité des tests