Test unitaire
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

En programmation, le test unitaire est un procédé permettant de s'assurer du fonctionnement correct d'une partie déterminée d'un logiciel ou d'une portion d'un programme.

Il s'agit pour le programmeur de tester un module, indépendamment du reste du programme, ceci afin de s'assurer qu'il répond aux spécifications fonctionnelles et qu'il fonctionne correctement en toutes circonstances. Cette vérification est considérée comme essentielle, en particulier dans les applications critiques. Elle s'accompagne couramment d'une vérification de la couverture de code, qui consiste à s'assurer que le test conduit à exécuter l'ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut...) (ou une fraction déterminée) des instructions présentes dans le code à tester. L'ensemble des tests unitaires doit être rejoué après une modification du code afin de vérifier qu'il n'y a pas de régressions (l'apparition de nouveaux dysfonctionnements).

Dans les applications non critiques, l'écriture des tests unitaires a longtemps été considérée comme une tâche secondaire. Cependant, la méthode Extreme programming (L'Extreme Programming (XP) est une méthode agile de gestion de projet informatique adaptée aux équipes réduites avec des besoins changeants. Elle pousse à l'extrême des principes simples.) (XP) a remis les tests unitaires, qu'elle nomme maintenant Tests du Programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.), au centre de l'activité (Le terme d'activité peut désigner une profession.) de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).).

La méthode XP préconise d'écrire les tests en même temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.), ou même avant la fonction à tester (TDD). Ceci permet de définir précisément l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre...) du module à développer. En cas de découverte d'un bogue logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique....), on écrit la procédure de test qui reproduit le bogue. Après correction on relance le test, qui ne doit indiquer aucune erreur.

Environnements de test

Un environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques actuels, le terme...) préparé (framework) pour réaliser facilement des tests unitaires existe dans les principaux langages de programmation. Par exemple Test::More [1] pour le Perl.

Frameworks xUnit

L'environnement de test SUnit[2] pour le langage Smalltalk, créé en octobre 1994 par Kent Beck (Kent Beck est l'inventeur du concept d'eXtreme Programming et l'auteur du livre « Extreme Programming Explained. Embrace Change », ISBN 0201616416, « Test Driven...) [3], a acquis une grande popularité et a été adapté à de nombreux langages:

  • Aunit[4] pour Ada ;
  • JUnit[5] et TestNG[6] pour Java ;
  • DUnit pour Delphi ;
  • PHPUnit[7] et SimpleTest[8] pour PHP ;
  • NUnit[9] pour .NET ;
  • NUnitASP[10] pour ASP.NET ;
  • unittest pour Python ;
  • Test::Unit pour Ruby ;
  • ASUnit[11] pour ActionScript ;
  • et cppunit pour C++, OCunit pour Objective C ...
Page générée en 0.041 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique