Test (informatique)


En informatique, un test (anglicisme) désigne une procédure de vérification partielle d'un logiciel : on lance tout ou partie du logiciel sur un exemple de données d'entrées et d'environnement, et on vérifie si le résultat obtenu est correct. S'il n'est pas correct, cela veut dire qu'on a trouvé une bogue (ou du moins une mauvaise spécification du système).

Ainsi, les tests permettent de vérifier qu'un logiciel réalise correctement une fonction ou donne des résultats valides. Il existe plusieurs niveaux de tests :

En dehors du cas très particulier de systèmes extrêmement simples, il est impossible de tester exhaustivement un logiciel, car le nombre de configurations possibles croît comme 2nn est le nombre de bits dans la mémoire du calculateur ; le nombre de configurations accessibles, inférieur, reste tout de même prohibitif. La réussite des tests ne permet donc pas de conclure au bon fonctionnement du logiciel. On essaye cependant, heuristiquement, de faire que si une bogue est présente, le test la trouve, notamment en exigeant une bonne couverture des tests :

Si l'on veut des assurances plus fortes de bon fonctionnement, on peut utiliser des méthodes formelles.

Les JUnit permettent, en Java, de faciliter les tests apportés au programme.

See also: Test (informatique), Bit, Bogue, Heuristique, Informatique, Méthode formelle (informatique), Non-régression, Test d'intégration, Test unitaire, Test de performance