Les tests unitaires per­met­tent d’analyser les com­po­sants in­di­vi­duels des pro­grammes d’or­di­na­teurs. Les fonc­tion­na­li­tés de ces éléments sont examinées avant que les logiciels ne les prennent en compte. C’est grâce à ce test qu’il est possible de vérifier de manière re­la­ti­ve­ment rapide et simple si les com­po­sants en question fonc­tion­nent comme prévu par les dé­ve­lop­peurs. Les tests unitaires comptent parmi les moyens les plus efficaces pour détecter à temps les erreurs présentes dans les codes.  

Les tests unitaires jouent un rôle important en matière de contrôle de qualité sur les logiciels. La méthode agile repose beaucoup sur ce système qui permet une analyse fréquente. Celle-ci est également au­to­ma­tique. Les pro­grammes cor­res­pon­dants exécutent n’importe quel test unitaire par simple pression de bouton. En règle générale, le programme de test utilisé est rédigé dans le même langage que l’objet testé.

Quelle est l’utilité d’un test unitaire ?

La notion de test unitaire est utilisée car elle permet d’analyser les unités les plus petites d’un logiciel. Et il est bien connu que ces éléments du système les plus infimes sont les modules.

Il convient de vérifier ces derniers dès le processus de dé­ve­lop­pe­ment car il est assez aisé et rapide de corriger les erreurs lors de la phase de test du module. Alors qu’au cours des phases qui suivent, les processus sont plus fas­ti­dieux. Les tests unitaires traitent prin­ci­pa­le­ment les pro­prié­tés fonc­tion­nelles. Le dé­ve­lop­peur exécute en règle générale ces tests lui-même. Il leur assure l’exac­ti­tude des fonc­tion­na­li­tés.

En­vi­ron­ne­ment de test pour les tests unitaire

Une ca­rac­té­ris­tique im­por­tante des tests unitaires est leur isolement. Ce test n’exécute qu’une fonction concrète tandis que toutes les in­fluences ex­té­rieures, comme par exemple la com­mu­ni­ca­tion avec les autres systèmes, sont au préalable laissées de côté. Les in­te­rac­tions avec les autres com­po­sants sont exclues. Il est ainsi possible de bien cibler où se trouve les erreurs étant donné que seul un bloc isolé a été testé.

Le test est réalisé dans un en­vi­ron­ne­ment dit autonome. Ce contexte spé­ci­fique doit tout d’abord être créé ce qui peut se révéler assez complexe et chro­no­phage s’il est fait ma­nuel­le­ment. Etant donné qu’un module ne peut être exécuté de manière in­dé­pen­dante, il est né­ces­saire de se procurer ce qu’on appelle un harnais de test (de l’anglais test harness). L’objet de mesure forme un programme exé­cu­table seulement s’il est ac­com­pagné de ce harnais de test. Afin de créer un en­vi­ron­ne­ment de test réaliste, il faut mettre en place des objets auxi­liaires (stubs) qui servent de rem­pla­çant si jamais le module à tester nécessite d’autres com­po­sants pour l’in­te­rac­tion.

Fra­me­works de test pour les tests unitaire

L’objectif des tests unitaires est de détecter des erreurs au sein des com­po­sants in­di­vi­duels. Pour assurer l’exac­ti­tude d’un code au cours de son dé­ve­lop­pe­ment, il est possible d’exécuter ces tests unitaires de manière fréquente. C’est pour cette raison qu’il est important d’au­to­ma­ti­ser ce processus. Il existe des Fra­me­works de test pour logiciels spé­ci­fiques qui servent à exécuter des tests unitaires. Ces derniers existent dans presque tous les langages de pro­gram­ma­tion. Ils lisent les textes sources et détectent les erreurs. Ces outils créent l’en­vi­ron­ne­ment de test décrit plus haut de manière au­to­ma­tique. Le dé­ve­lop­peur se concentre pour sa part sur la dé­fi­ni­tion des scénarios de tests. Vous trouverez dans la page Wikipédia (en anglais) une liste complète des Framework de test pour les langages de pro­gram­ma­tion.

Aller au menu principal