Objectifs
- Distinguer unit, integration, end-to-end et smoke tests.
- Comprendre la pyramide de tests et les quality gates.
- Situer couverture, lint, analyse statique et scans de dépendances.
- Expliquer pourquoi un échec critique bloque la suite.
Tests automatisés
Les tests automatisés donnent un retour rapide et répétable sur un changement. Les unit tests isolent une petite unité ; les integration tests vérifient plusieurs composants ; les end-to-end tests parcourent un scénario complet ; les smoke tests confirment rapidement les fonctions essentielles après déploiement.
Un quality gate impose des critères avant de poursuivre, par exemple tous les tests critiques réussis, aucune vulnérabilité bloquante et une analyse statique acceptable.
Une pyramide simple
La base contient de nombreux tests unitaires rapides. Plus haut, moins de tests d’intégration puis quelques scénarios end-to-end plus lents et plus coûteux. Les smoke tests ciblent rapidement la santé d’une version déployée.
End-to-end
Integration
Unit testsnpm testmvn testpytestPosition dans la pipeline
Les validations rapides s’exécutent tôt pour éviter de consommer des ressources sur un changement déjà invalide. Si un test critique échoue, la pipeline doit s’arrêter afin de ne pas promouvoir un artifact connu comme défectueux.
- Lint : conventions et erreurs statiques simples.
- Analyse statique : défauts potentiels sans exécuter le programme.
- Couverture : parties du code traversées par les tests, à interpréter avec leur qualité.
- Scan de dépendances : vulnérabilités connues dans les composants tiers.
Pipeline
↓
Build
↓
Unit tests
↓
Integration tests
↓
Security/quality checksDes gates utiles, pas des métriques aveugles
Une couverture de 100 % ne prouve pas que les assertions sont pertinentes ni que les scénarios critiques sont testés. Définissez des seuils raisonnés, ciblez les risques métier et traitez explicitement les tests instables.
- Prioriser les parcours critiques et les incidents déjà rencontrés.
- Conserver des tests déterministes, isolés et lisibles.
- Ne pas ignorer un test flaky : diagnostiquer sa dépendance au temps, au réseau ou à l’ordre.
- Ne jamais afficher les tokens ou secrets utilisés par un environnement de test.
Erreur fréquente : relancer un test rouge jusqu’à ce qu’il passe
Mini résumé
- Unit, integration, end-to-end et smoke tests couvrent des niveaux différents.
- La pyramide privilégie une base large de tests rapides.
- Un quality gate critique bloque la promotion de l’artifact.
- Couverture, lint, analyse statique et scans complètent les tests sans garantie absolue.
Mini quiz
Trois questions pour vérifier les notions essentielles de la leçon.