La taverne du testeur

17 : Conseils d’application de l’ATDD en mode manuel et agile (2 / 3)

Quels sont les différents cas particuliers à considérer pour bien appliquer l’ATDD manuelle en mode agile ?

Voyons quelques réponses à travers la suite de notre exemple.

Intégrer de nouvelles US INVEST qui étendent une fonctionnalité 

Le sprint 2, par exemple, étend le modèle de la feature F3 (une seule US “s’authentifier de manière simple”, avec la saisie réussie de l’identifiant – mot de passe en au plus 3 tentatives), telle qu’elle a été exposée en sprint 1.

Rappel : F3 est une feature qui sera réalisée pour la release 1. En ce sens, elle est la première “version” de l’UC “s’authentifier”. 

F3 pourrait dans une release ultérieure, et étant terminée,  être “améliorée” par d’autres US ou des corrections d’US (qui pourraient être liées à une nouvelle feature).

Nous avons dans l’UC des US INVEST issues de plusieurs sprints. Elles représentent le produit à la fin du sprint 2 (comprenant les US INVEST du sprint 1 et les US INVEST du sprint 2).

  • Chaque US nouvelle peut appliquer l’algorithme des tamis successifs
  • L’UC peut aussi l’appliquer pour ses propres tests.

On voit immédiatement, en travaillant par “surlignage” sur le modèle graphique, les nouveautés amenées dans F3 (matérialisées en orange) et les parties non impactées. Ainsi :

  • Suite à l’US « s’authentifier de manière simple », le test nominal (en bleu) et le test en échec après 3 tentatives (en noir) ont déjà été testés en sprint 1 (on peut donc les rejouer pour s’assurer de la non régression).  
  • Par contre, il manque 2 scénarios nouveaux c’est-à-dire les chemins (et en passant par les alternatives … s’il y en avait, ce qui n’est pas le cas) qui conduisent :
    • Soit à une erreur en modifiant le mot de passe, 
    • Soit à un mot de passe modifié.

L’US INVEST (tâche) “s’authentifier de manière simple”, en elle-même, n’a pas été modifiée. Ses propres tests de régression n’ont pas de raison d’être rejoués puisque rien n’a été touché dans cette US.  

Cependant, en intégration dans l’UC (avec le ticket F3 pour le sprint), on doit jouer les 2 scénarios existants de F3 comme des tests de régression pour ce UC. 

Le testeur (le PO par exemple) peut vérifier manuellement que l’US existante, et non impactée,  joue bien son rôle dans l’UC (une authentification réussie, une authentification en échec).

Intégrer de nouvelles US qui déstructurent une fonctionnalité 

Prenons maintenant l’exemple dans la release 2. Le ticket représentant la feature F3 a été jugé terminé.

Cependant le PO propose la feature F10 comme un ticket intitulé “S’authentifier de manière forte”.

L’idée est maintenant de jouer une authentification plus sécurisée. Le produit aura donc l’ UC “S’authentifier” qui est le résultat des US “rescapées” de la release 1 et de nouvelles US de renforcement.

C’est l’UC qu’on modélise et non pas les seules US créées par la nouvelle feature F10.

Vous voyez que dans cet exemple (avec ici l’acteur client et le système qui intervient pour l’aider – cf. US4), l’UC a été sérieusement déstructurée (cf. les parties en violet). Dans ce cas il vaut mieux, à mon avis, chercher par l’algorithme des tamis successifs les nouveaux scénarios. Le travail est en effet extrêmement rapide grâce à l’algorithme, et comme le test sera manuel, les conséquences seront mineures en termes de productivité.

Il suffit alors, en taguant les évolutions agiles dans la table associée au modèle (“table des E/S”), de voir :

   – Les scénarios qui n’ont aucun ticket du sprint : ce sont les scénarios de test pour les tests de régression

–   Les scénarios qui passent par les tickets du sprint : ce sont les tests fonctionnels qui devront être exécutés pour valider l’intégration des nouveautés dans le produit.

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.

Laisser un commentaire

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

culture générale

Les sept compétences des teams hyper efficaces

Cet article est un article collaboratif écrit par: Karolina Zmitrowicz (ISTQB, Sjsi, IREB, ReQuest (BA), IQBBA..) Hans Van Loenhoud (IREB, Tmap, Developpement & Test Management…) Bernard Rulmont (Behaviorisme, neurosciences, psychologie…) Olivier Denoo (ISTQB, CFTL, IREB, IBUQ,…)   Stéphane avait appelé ce moment de tous ses vœux : son premier projet stratégique

Lire la suite »
Intégration continue

Les Tests de charges dans un environnement Agile Modulaire/Micro Service

 L’agilité, de par le découpage des grosses applications et les livraisons régulières (les sprints), nécessite de revoir la façon d’envisager les tests de charge et d’appliquer la méthodologie TDC. En cycle en V, les applications sont vues comme un ensemble monolithique, les TDC permettent donc de qualifier l’ensemble du SI

Lire la suite »
culture générale

Types de tests (ISO 25 010): les tests de performance (2/8)

J’ai déjà écrit un article au sujet des tests de « performances ». L’idée était de montrer que le terme employé pour les tests de performance était souvent trop générique et englobait un très grand nombre de tests puis de parler de leur mise en place. Dans cet article je vous présenterai

Lire la suite »