Université de Sousse
Travaux pratiques en Test des logiciels
ISSATSO
2024/2025
LSI-A2
Test des logiciels
TP2 : Tests Unitaires et Tests d'Intégration sur la gestion du
Panier d'Achat
Ce TP se base sur le projet du TP1. Vous disposez déjà d'une classe Produit.
1. Exercice 1 : Tests Unitaires Supplémentaires pour la classe Panier
Objectif
Implémenter la classe Panier qui gère une collection de produits et écrire des tests unitaires pour valider ses
fonctionnalités.
Instructions
▪ Implémentation de la classe Panier :
o Créez la classe Panier dans le package fr.koor.poo.
o Implémentez les méthodes suivantes:
o ajouterProduit(Produit p) : pour ajouter un produit dans le panier.
o supprimerProduit(Produit p) : pour supprimer un produit du panier.
o calculerTotal() : pour calculer la somme des quantités de tous les produits du panier.
o getProduits() : pour obtenir la liste des produits présents.
▪ Rédaction des tests unitaires :
o Créez une classe de test PanierTest.
o Écrivez au moins trois méthodes de test :
▪ testAjouterProduit() :Vérifier que l'ajout d'un produit fait apparaître ce produit
Dans la liste retournée par getProduits().
▪ testCalculerTotal() : Vérifier que la méthode calculerTotal() retourne la somme
Correcte des quantités après avoir ajouté plusieurs produits.
Ferdaws Bessaad Page 1/3
TP2 : Tests Unitaires et Tests d'Intégration
▪ testSupprimerProduit() : Vérifier que la suppression d'un produit retire bien ce
Produit du panier et que le total est mis à jour en conséquence.
2. Exercice 2 : Tests d'Intégration
Objectif
Vérifier l'interaction entre différents modules en intégrant les classes Catalogue et Panier.
Partie 1 : Test d'Intégration : Ajout d'un produit du Catalogue dans le Panier
Implémentation de la classe Catalogue :
Créez la classe Catalogue dans le package fr.koor.poo.
Instructions
❖ Implémentez les méthodes suivantes :
o ajouterProduit(Produit p) : pour ajouter un produit dans le catalogue.
o trouverProduitParType(String type): pour rechercher un produit par son type.
o getProduits() : pour retourner la liste des produits du catalogue.
❖ Rédaction du test d'intégration :
o Créez une classe de test d'intégration CataloguePanierTest.
o Dans la méthode setUp(), initialisez un objet Catalogue et ajoutez-y plusieurs produits.
o Recherchez un produit précis dans le Catalogue à l'aide de trouverProduitParType("P1").
o Ajoutez ce produit dans un objet Panier.
o Vérifiez avec des assertions que :
o Le produit est bien ajouté dans le panier.
o Le total du panier est correct (par exemple, égal à la quantité du produit ajouté).
Partie 2 : Test d'Intégration : Suppression d'un produit du Panier sans affecter le Catalogue
Instructions
❖ Rédaction du test d'intégration supplémentaire :
o Créez une classe de test d'intégration CataloguePanierTest2.
o Dans la méthode setUp(), initialisez un objet Catalogue et un objet Panier.
o Ajoutez plusieurs produits au Catalogue, puis ajoutez ces produits dans le Panier.
Ferdaws Bessaad Page 2/3
TP2 : Tests Unitaires et Tests d'Intégration
o Supprimez un produit spécifique du Panier en utilisant supprimerProduit().
o Vérifiez à l'aide d'assertions que :
o Le produit supprimé n'est plus présent dans le panier.
o Le total du panier est correctement mis à jour.
o Le produit supprimé reste présent dans le Catalogue (ce qui montre que l'opération
de suppression n'affecte pas le catalogue).
Ferdaws Bessaad Page 3/3