Les tests d'unité sont mis en oeuvre par rapport au plus petit élément testable (unités) du logiciel et impliquent le
test de la structure interne, comme par exemple le flux de données, la fonction de l'unité et les comportements
observables. La conception et la mise en oeuvre des tests portant sur la structure interne d'une unité sont basées sur
la connaissance de la mise en oeuvre de l'unité (approche structurelle). La conception et la mise en oeuvre des tests
pour vérifier les comportements observables et fonctions de l'unité ne sont pas basées sur la connaissance de la mise
en oeuvre, et par conséquent sont connues sous le nom d'approche fonctionnelle.
Les deux approches sont utilisées pour concevoir et mettre en oeuvre les différents types de tests (voir Technique : Type de tests) nécessaire pour des tests d'unité complets et
réussis.
Voir aussi Technique : scénario de test pour en savoir plus sur les scénarios de test dérivés
pour les tests d'unité.
Une approche de test structurelle doit être choisie afin de vérifier la structure interne d'une unité. Théoriquement,
vous devez être en mesure de tester tous les chemins possibles par le code, mais ceci n'est possible que dans des
unités très simples. Vous devez exercer chaque chemin décision-à-décision (chemin DD) au moins une fois, car
vous exécutez alors toutes les instructions au moins une fois. Une décision est en général une instruction IF, et un
chemin DD est un chemin entre deux décisions.
Pour obtenir ce niveau de couverture de test, il est recommandé de choisir les données de test de sorte que chaque
décision soit évaluée de toutes les manières possibles.
Utilisez des outils de couverture de code pour identifier le code qui n'est pas exercé par votre test structurel. Des
tests de fiabilité doivent être effectués simultanément avec les tests structurels.
Voir Technique : scénario de test pour en savoir plus
L'objectif d'un test fonctionnel est de vérifier la fonction spécifique de l'unité et le comportement observable sans
connaître les moyens de mise en oeuvre de la fonction et du comportement par l'unité. Les tests fonctionnels
concernent les entrées et sorties de l'unité et sont basés sur ces dernières.
La dérive des tests d'unité basés sur l'approche fonctionnelle utilise les arguments d'entrée et de sortie des
opérations de l'unité et/ou l'état de sortie pour l'évaluation. Par exemple, l'opération peut comprendre un algorithme
(deux valeurs d'entrée nécessaires et le retour d'une troisième de sortie) ou lancer une modification de l'état d'un
objet ou d'un composant, comme par exemple ajouter ou supprimer une entrée de base de données. Les deux doivent
être testés au complet. Pour tester une opération, vous devez dériver assez de scénarios de cas pour vérifier ce qui
suit :
-
une valeur appropriée a été retournée par l'opération pour chaque valeur valide utilisée comme entrée
-
une valeur appropriée a été retournée par l'opération pour chaque valeur invalide utilisée comme entrée
-
un état de sortie approprié se produit pour chaque état d'entrée valide
-
un état de sortie approprié se produit pour chaque état d'entrée invalide
Utilisez des outils de couverture de code pour identifier le code qui n'est pas exercé par votre test structurel. Des
tests de fiabilité doivent être effectués simultanément avec vos tests structurels.
Voir Technique : scénario de test pour en savoir plus
|