Diagrammes de séquence de test

Diagrammes de séquence de test

Grâce notamment aux techniques dites XP (eXtreme Programming), les tests sont de plus en plus utilisés en développement. L’idée générale est de pouvoir tester le code que nous sommes en train de développer afin de nous assurer que celui-ci est correct, c’est-à-dire qu’il respecte le fameux besoin du client (voir le chapitre 1).Le concept de test n’est cependant pas si simple, et il est nécessaire de bien avoir en tête certaines définitions avant de voir comment intégrer les tests dans un cycle de développe- ment avec UML. Avant de présenter les définitions des concepts nécessaires aux tests, il est important de savoir répondre à la question suivante : « À quoi sert le test ? ». Pour l’IEEE, le but du test est de révéler les fautes. En résumé, nous pouvons dire que les tests sont réalisés dans l’objectif de trouver les défaillances (bogues) d’une application. Pour ce faire, chaque test (cas de test) stimule l’application afin de provoquer une éventuelle faute. Lorsqu’une faute est révélée, cela signifie que l’application contient une ou plusieurs défaillances. Les définitions que nous venons de rappeler impliquent qu’il faut disposer d’une spécification de l’application pour pouvoir construire les cas de test abstraits. Dans notre contexte, nous pouvons considérer que la spécification de l’application est incluse dans le modèle de l’application.

Comment utiliser les tests ?

Nous avons aussi montré qu’il fallait disposer d’une application exécutable pour construire des cas de test exécutables. Dans notre contexte, nous pouvons réduire l’application exécutable au code de l’application, car seul le code est nécessaire pour pouvoir exécuter l’application. Cette distinction entre « spécification de l’application » et « application exécutable » ainsi que les relations qui existent avec les cas de test abstraits et exécutables sont schématisées à la figure 7.1 (les flèches représentent les dépendances entre les éléments).Cette présentation des relations entre, d’une part, les cas de test abstraits et exécutables et, d’autre part, la spécification de l’application et l’application exécutable met bien en évidence l’importance des cas de test abstraits. En effet, c’est uniquement de leur qualité que dépend la qualité des résultats obtenus (en terme de fautes révélées, par exemple). Si les cas de test abstraits sont mal construits et stimulent mal l’application, aucune faute ne peut être révélée. Les cas de test exécutables. De ce fait, la difficulté la plus importante dans la réalisation d’une suite de tests réside dans la construction des cas de test abstraits. Comment construire de « bons » cas de test abstraits, autrement dit comment construire des cas de test qui permettent de révéler les fautes d’une application ? Ces questions relèvent encore malheureusement du domaine de la recherche.

Nous pourrions ajouter la question suivante : comment faire un ensemble de cas de test abstraits complet, autrement dit comment faire un ensemble de cas de test suffisamment exhaustif pour assurer une certaine qualité d’une application lorsque aucune faute n’est révélée ? Ces questions, tout aussi importantes que les précédentes, sont aussi des questions de recherche. Nous ne détaillons pas les réponses actuelles à ces questions, qui sortent du contexte de ce cours. Nous pouvons néanmoins prendre conscience de leur complexité grâce à un exemple simple tel que celui d’une application réalisant un tri alphabétique sur les cases d’un tableau de chaînes de caractères. Une faute possible de cette application serait de mal trier les cases du tableau. Construire un cas de test visant à révéler cette faute est cependant extrêmement complexe. Sur quel- les chaînes de caractères faut-il tester l’application ? Sur quelles tailles de tableau faut-il tester l’application ? Quel serait un ensemble de cas de test abstraits suffisamment complet pour pouvoir assurer dans une certaine mesure que l’application réalise correctement le tri de n’importe quel tableau ?

 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *