L’algorithme des tamis successifs laisse a priori un choix pour les alternatives. En fait, il y a une optimisation possible du nombre de scénarios générés, pour être encore plus agile et arriver plus vite à la meilleure efficacité en anticipant les couvertures des alternatives.
Successions de transitions entre 2 éléments fonctionnels : comment traiter leurs alternatives ?
Dans l’exemple fourni, entre le traitement A et le traitement B nous avons placé 2 décisions et trois transitions.
Nous aurions pu aussi mettre une seule transition et une décision !
Dans ce cas nous aurons la représentation suivante :
Cette forme est plus compacte, mais allonge les formules sur les alternatives, ce qui les rend moins facilement vérifiables quant à leur consistance.
Par contre, elle permet de s’apercevoir de la manière dont on peut traverser les transitions issues d’un traitement et optimiser le nombre de scénarios. Prenons le cas des sorties du traitement A.
L’optimisation des choix d’alternatives est la suivante :
- Je peux passer dans chaque alternative de chaque transition de sortie, avec leurs alternatives les plus courantes :
- X>=0 ET Y=1 ET Z=1 pour atteindre B (on commence donc par la transition la plus courante, qui est celle à tester en priorité)
- X>=0 ET Y=1 et Z=2 pour atteindre le traitement C
- X>=0 et Y=3 pour atteindre le traitement D
- Ensuite, faisons le point des alternatives et cherchons à tester toutes les alternatives au moins une fois.
Il manque, sur notre exemple, les tests de X<0, Y=2, Z=3, Y=4.
- On peut donc, en commençant par la transition de A vers B (la plus courante), ajouter un test avec X<0 ET Y=2 (ET Z=1)
- Puis pour tester Z=3, prendre X>=0 ET Y=1 ET Z=3 afin d’aller de A vers C
- Enfin X>=0 ET Y=4 pour aller de A vers D
- A ce stade, toutes les alternatives ont été testées au moins une fois. Reste que je n’ai pas testé toutes les combinaisons. Donc, en poursuivant l’algorithme des tamis successifs, je vais choisir de tester les combinaisons d’alternatives menant d’un traitement à un autre (ou à une fin).
Par exemple, pour la transition la plus courante de A vers B, nous n’avons jamais testé la combinaison X<0 ET Y=1 ET Z=1 (et d’autres …).
- Enfin, comme nous l’avons vu précédemment, on pourrait considérer les transitions arrivant en A et celles en sortie de A et voir les combinaisons de transitions testées ou non, puis regarder les couples de combinaisons d’alternatives !
Méthodes simples pour trouver les scénarios de test en manuel
Il y a deux possibilités.
- Méthode du surlignage graphique
Dans une réunion des 3 amigos, on projette le schéma sur un tableau blanc, et on couvre par un feutre de couleur les “objets” traversés : transitions et alternatives.
Cette méthode est rapide et convient dans la plupart des cas pour exécuter l’algorithme des étapes 1 à 5.
- Méthode tabulaire
C’est celle que je préconise.
Vous mettez dans un tableau la représentation du graphique et vous avez à prendre les choix que vous prenez grâce à l’algorithme.
Comme il existe plusieurs possibilités pour traduire le graphique en un tableau, nous pouvons avoir différentes représentations de cette solution.
Nous allons la détailler dans le prochain article.
L’auteur
Didier JOLIOT, Ingénieur Coach agile et formateur
Didier a une grande expérience professionnelle : développeur puis responsable qualité et certification de logiciels temps réels critiques. Ex : Airbus (A320, A340), missiles, spatial, nucléaire, sous-marins, … Il a été ensuite expert spécifications et tests auprès d’équipes MOE, puis de MOA bancaires. Il a été aussi directeur de projet, et enfin expert auprès des managers pour la stratégie des SI (« Portfolio Management » et architecture d’entreprise).
Il pratique depuis 2012 l’agilité. Il a été coach agile pour le Product management de très gros projets « agiles à l’échelle » au Crédit Agricole et à la Société Générale, et pour de nombreuses équipes Scrum.
Il a écrit 5 livres et de nombreux articles. Il enseigne, depuis des années, dans plusieurs écoles d’ingénieur et dans les entreprises. Il a créé, de plus, plusieurs méthodes : le langage « Business Modeling Language (BML) », l’algorithme ATDD des tamis successifs, la CNV-A, etc.