Ceci est une ancienne révision du document !
A02 : Les tests unitaires et d'intégration
Objectif pédagogique
- Comprendre la différence entre tests unitaires, d’intégration, fonctionnels et de performance.
- Savoir écrire et exécuter des tests avec un framework (en Java avec JUnit / en PHP avec PHPUnit).
- Prendre conscience de l’importance de l’automatisation et des bonnes pratiques de validation.
Contexte fil rouge : Bibliothèque numérique
Vous travaillez pour une startup qui développe une application de gestion de bibliothèque. L’application doit permettre :
- La gestion d’un catalogue de livres.
- L’ajout et la suppression d’utilisateurs.
- La gestion des emprunts (règle : un utilisateur ne peut pas emprunter plus de 3 livres).
Vous allez développer et tester progressivement ce projet.
- récupérer le projet sur gitea
Attention: Dans Netbeans, cloner le dépôt, créer votre branche -votre prénom- et ne travailler que sur votre branche, commiter avec un commentaire précis sur votre branche uniquement
- Étudier les classes fournies (Livre, Utilisateur).
- exécuter les tests existants / être capable de les expliquer
- Compléter les méthodes manquantes (ex. calcul du prix TTC d’un livre, ajout d’un livre dans la liste d’un utilisateur).
- Écrire des tests unitaires avec JUnit pour :
- vérifier les méthodes de la classe Utilisateur
- Vérifier le calcul du prix TTC.
- Vérifier que l’ajout d’un livre à un utilisateur fonctionne.
- Ajouter au moins 2 tests supplémentaires par classe pour couvrir des cas limites (ex. : emprunter plus de 3 livres, prix négatif, etc.).
- Exécuter les tests et corriger les bugs si nécessaire.
Important: Travail validé par la présentation d'un test à la classe
Les tests d'intégration
Vous aller vérifier que plusieurs composants du système fonctionnent correctement ensemble.
Contrairement aux tests unitaires qui testent une seule classe/méthode, le test d’intégration vérifie la collaboration entre classes.
- Tester qu’un utilisateur peut emprunter un livre uniquement si :
- le livre n’est pas déjà emprunté
- l’utilisateur a moins de 3 emprunts
- Vérifier que l’état du livre et la liste des emprunts de l’utilisateur sont correctement mis à jour.