Test unitaire

Test unitaire
Page d'aide sur l'homonymie Pour les articles homonymes, voir Test.

En programmation informatique, 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 (appelée « unité » ou « module »).

On écrit un test pour confronter une réalisation à sa spécification. Le test définit un critère d’arrêt (état ou sorties à l’issue de l’exécution) et permet de statuer sur le succès ou sur l’échec d’une vérification. Grâce à la spécification, on est en mesure de faire correspondre un état d’entrée donné à un résultat ou à une sortie. Le test permet de vérifier que la relation d’entrée / sortie donnée par la spécification est bel et bien réalisée.

Petit rappel de définitions :

  • Test : il s'agit d'une vérification par exécution.
  • Vérification : ce terme est utilisé dans le sens de contrôle d'une partie du logiciel. (Une « unité » peut ici être vue comme « le plus petit élément de spécification à vérifier»)


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 (évaluation de la couverture structurelle ), 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). L’emploi d’une « stratégie de test » particulière peut limiter les tests à rejouer, par exemple : une analyse d’impact des modifications, corrélée à une preuve d’indépendance des modules, permet de cibler les cas de test unitaire à rejouer.

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, appelés « 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 (Test Driven Development). Ceci permet de définir précisément l'interface du module à développer. En cas de découverte d'un bug, on écrit la procédure de test qui reproduit le bug. Après correction on relance le test, qui ne doit indiquer aucune erreur.

Sommaire

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

Le terme générique « xUnit » désigne un outil permettant de réaliser des tests unitaires dans un langage donné (dont l'initiale remplace « x » le plus souvent).

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 :

Outils commerciaux

Divers outils permettent l'automatisation des tests unitaires :

  • Le module TBrun de la suite d'outils LDRA.
  • Tessy (distribution: Hitex Development Tools/Allemagne).

Articles connexes

Sur les autres projets Wikimedia :

Notes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Test unitaire de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Test unit — Test unitaire Pour les articles homonymes, voir Test. En programmation informatique, 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 (appelée… …   Wikipédia en Français

  • Test (informatique) — Pour les articles homonymes, voir Test. En informatique, un test désigne une procédure de vérification partielle d un système. Le but est de trouver un nombre maximum de comportements problématiques du logiciel, car il est impossible de prouver… …   Wikipédia en Français

  • Unitaire — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sur les autres projets Wikimedia : « Unitaire », sur le Wiktionnaire (dictionnaire universel) L adjectif unitaire est employé : en… …   Wikipédia en Français

  • Test Driven Development — Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d écrire les tests unitaires avant d écrire le code source d un logiciel. Sommaire 1 Le cycle de TDD 2… …   Wikipédia en Français

  • Test logiciel — Test (informatique) En informatique, un test (anglicisme) désigne une procédure de vérification partielle d un système informatique. Le but en est de trouver un nombre maximum de comportements problématiques du logiciel, car il est impossible de… …   Wikipédia en Français

  • Rorschach test — Test de Rorschach La première planche parmi les dix du test de Rorschach Le test de Rorschach ou psychodiagnostik est un outil d évaluation psychologique de type projectif élaboré par le psychiatre et psychanalyste Hermann Rorschach en 1921. Il… …   Wikipédia en Français

  • Tests unitaires — Test unitaire Pour les articles homonymes, voir Test. En programmation informatique, 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 (appelée… …   Wikipédia en Français

  • Développement piloté par les tests — Test Driven Development Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d écrire les tests unitaires avant d écrire le code source d un logiciel.… …   Wikipédia en Français

  • TDD — Test Driven Development Le Test Driven Development (TDD) ou en Français développement piloté par les tests est une méthode de développement de logiciel qui préconise d écrire les tests unitaires avant d écrire le code source d un logiciel.… …   Wikipédia en Français

  • Cycle En V — Les phases du cycle en V Le modèle du cycle en V est un modèle conceptuel de gestion de projet imaginé suite au problème de réactivité du modèle en cascade. Il permet, en cas d anomalie, de limiter un retour aux étapes précédentes. Les phases de… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”