Test unitaire - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs 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 (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 (XP) a remis les tests unitaires, qu'elle nomme maintenant Tests du Programmeur, au centre de l'activité de programmation.

La méthode XP préconise d'écrire les tests en même temps, ou même avant la fonction à tester (TDD). Ceci permet de définir précisément l'interface du module à développer. En cas de découverte d'un bogue logiciel, 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 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 [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.024 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise