Instructions: Test d'unité
Les tests d'unité sont des tests détaillés de la structure interne d'un module logiciel. Ces instructions abordent les approches structurelle et fonctionnelle des tests d'unité.
Relations
Description principale

Introduction

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é.

Approche de test structurelle

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 

Approche de test fonctionnelle

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