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 *

Image présentant les thématiques du RGESN
éco-conception

Présentation du RGESN 2024: la stratégie (1/9)

J’ai commencé une série sur le RGESN il y a quelques mois. Quelques mois qui ont suffit à rendre obsolète la série qui devait compter 8 articles avant même la parution de son 2ème article… Je vous propose donc un « reboot » de cette série! Si vous voulez connaître les différences

Lire la suite »
Avenir

Les qualités du testeur moderne

Préambule J’ai déjà écrit, en 2016, un article spécifique sur les qualités du testeur. Cet article est toujours valable mais je souhaite aujourd’hui me pencher plus sur certaines qualités qui sont essentielles avec les évolutions actuelles des logiciels. Je ne suis évidemment pas le seul à me poser ce type

Lire la suite »
Agilité

4- Problèmes sur les US : leurs critères d’acceptation

Nous avions suggéré lors de la présentation de l’ATDD automatisé que nous puissions assimiler les principes agiles pour les US de la manière suivante : Les scénarios de test peuvent, quant à eux, se présenter textuellement sous la forme Gherkin : “Etant donné que … Quand … Alors”. Cette décision

Lire la suite »