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 *

Principe 6 – Les tests dépendent du contexte

Testeriez-vous de la même façon une application de gestion des livres et un logiciel de gestion du trafic aérien? Le principe 6 affirme que les tests dépendent du contexte et que chaque projet se déroule dans des conditions qui lui sont spécifiques et la réussite de ces tests exige une stratégie

Lire la suite »
Agilité

L’assemblée des Amigos

Les 3 amigos en bref Vous suivez régulièrement les articles de la taverne ? Vous avez déjà travaillé en Agile ou suivi des présentations à ce sujet ? Vous avez donc sûrement déjà entendu parlé du BDD et des « 3 amigos »! Les 3 amigos sont d’ailleurs très souvent liés

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 »