Vous êtes sur la page 1sur 2

Test d'intégration

Principe
En programmation informatique, le test unitaire est une procédure permettant de vérifier le bon
fonctionnement d'une partie précise d'un logiciel ou d'une portion d'un programme (appelée
« unité » ou « module »)

Histoire
L'environnement de test SUnit1 pour le langage Smalltalk est créé en  par Kent Beck2. En
1997, Kent Beck rencontre Erich Gamma avec lequel il crée JUnit qui, par sa popularité, entraînera
la création de nombreux frameworks de tests unitaires, cet ensemble se nomme xUnit3.

Caracteristiques
* les testes unitaires sont la base de la Pyramide des tests (test pyramid) qui est definie par Mike
Cohn, l’un des théoriciens pionniers de la méthodologie agile Scrum
* Se situe a un niveau de graniluaratie important
* Rapide a executer
* fournie une niveau d’isolation important
* automatisés  qui doivent produire un résultat Pass ou Fail automatiquement

Utilité

* Trouver les erreurs rapidement

* Sécuriser la maintenance

* Documenter le code

Fonctionnement
On définit généralement 4 phases dans l'exécution d'un test unitaire :
1.Initialisation (fonction setUp) : définition d'un environnement de test complètement
reproductible (une fixture).
2.Exercice : le module à tester est exécuté.
3.Vérification (utilisation de fonctions assert) : comparaison des résultats obtenus avec un vecteur
de résultat défini. Ces tests définissent le résultat du test : SUCCÈS (SUCCESS) ou ÉCHEC
(FAILURE). On peut également définir d'autres résultats comme ÉVITÉ (SKIPPED).
4.Désactivation (fonction tearDown) : désinstallation des fixtures pour retrouver l'état initial du
système, dans le but de ne pas polluer les tests suivants. Tous les tests doivent être indépendants et
reproductibles unitairement (quand exécutés seuls).

Acteurs
Equipe de developpement

Les bonnes pratiques 


* Adopter un outil ou un framework de test

* Élaborer un plan de test

* Le choix de l’unité

* L’indépendance

Outils
•CUnit15 pour C ;
•JSUnit19, QUnit20, Unit.js21 et Jest22 pour JavaScript ;
•JUnit23 et TestNG24 pour Java ;
• Cppunit14 pour C++ ;
•Microsoft Unit Test26 pour .NET ;
etc

Vous aimerez peut-être aussi