TESTS DYNAMIQUES

On distingue généralement trois types de tests dynamiques différents : les tests boîte noire, les tests boîte blanche et les tests basés sur l’expérience.

Les tests boîte noire :
Les tests boîte noire peuvent être fonctionnels ou non fonctionnels. Ils s’attachent à valider le comportement (entrées-sorties) du composant à tester sans tenir compte de la structure même du composant.
Les tests boîte noire sont basés sur l’analyse de la base de tests, par exemple les User Stories, les exigences formelles, les spécifications ou les processus métier.
La couverture des tests boîte noire est exprimé en pourcentage de la base de tests évalué (par exemple, le nombre de cas de tests passés avec succès).
Cinq techniques principales composent les test boîte noire : les partitions d’équivalence, l’analyse des valeurs limites, les tables de décision, les transitions d’états et les cas d’utilisation.

Les tests boîte blanche :
Les tests boîte blanche s’attachent à la structure et au traitement à l’intérieur de l’objet de test.
Ils sont basés sur l’analyse de l’architecture, de la conception détaillée et de la structure interne ou du code de l’objet de test.
La couverture des tests boîte blanche est exprimée en pourcentage des éléments testés au sein d’une structure donnée (ex pourcentage de code).
Deux techniques principales constituent les test boîte blanche : tests des instructions et test des décisions. La couverture sera exprimée en pourcentage des instructions exécutées et en pourcentage des décisions testées.
Remarque : une couverture de 100 % des décisions entraîne une couverte de 100 % des instructions. L’inverse est faux.

Les tests basés sur l’expérience :
Ces tests sont utilisés en complément des deux précédents ou lorsque des contraintes de temps et de budget fortes existent sur le projet.
Ce type de test repose sur une base de tests incluant les connaissances et l’expérience des testeurs, développeurs, utilisateurs et autres parties prenantes.
Trois techniques principales composent ce type de tests : l’estimation d’erreurs, les tests exploratoires et les tests basés sur une check-list.