Tests logiciels et qualité du code
Fiche compacte de révision sur la validation logicielle et la qualité du code.
Panorama des tests
Types de tests
Local
- Tests unitaires : une fonction ou méthode isolée.
- Rapides, précis, faciles à automatiser.
- Dépendances souvent simulées ou isolées.
Global
- Tests d’intégration : interactions entre composants.
- Tests de non-régression : protègent l’existant.
- Chaque niveau élargit le périmètre vérifié.
Mémo
Un test unitaire isole, un test d’intégration relie, un test de non-régression protège.
Piège classique
- Confondre test unitaire et test d’intégration.
- Croire qu’un seul type de test suffit.
Couverture et automatisation
Couverture de code
La couverture de code mesure la part du code exécutée par les tests.
- Indicateur utile, mais pas preuve de qualité.
- Une forte couverture ne garantit pas de bons tests.
Intégration continue
- 1
Chaque modification déclenche automatiquement les tests.
- 2
Les régressions sont détectées tôt après changement.
Idée à retenir
Couverture élevée ne signifie pas absence de bugs.
Revue et lisibilité
Comparaison
Revue de code
- Un autre regard sur les modifications.
- Détecte erreurs, incohérences et améliorations.
- Complète les tests par une vérification humaine.
Lisibilité
- Facilite la compréhension et la maintenance.
- Réduit le coût des corrections.
- Aide aussi à écrire de meilleurs tests.
Points d’attention
- La duplication rend l’évolution plus risquée.
- Le code lisible se vérifie plus facilement.
Dette technique
Définition
La dette technique correspond à des choix rapides qui coûteront plus tard.
- Elle peut être volontaire ou subie.
- Elle s’accumule si elle n’est pas traitée.
Limiter la dette
À mémoriser
Vocabulaire
- test unitaire
- Test d’un élément isolé du programme.
- test d’intégration
- Test des échanges entre composants.
- test de non-régression
- Test qui vérifie qu’une correction n’a rien cassé.
- dette technique
- Coût futur créé par un compromis présent.
Résumé
- Les tests sécurisent les changements et détectent tôt les erreurs.
- La couverture et l’intégration continue automatisent la vérification.
