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 *

Automatisation

REX : Mise en place d’une solution d’automatisation des tests – Cathy Blache

 Retour d’expérience : Mise en place d’une solution d’automatisation des tests de régression sur des applications métiers : Robot-Framework interfacée avec SquashTM & Autom Après une analyse préalable et l’étude des différents types d’automatisations, en tenant compte de la complexité de nos applications à tester, nous avons choisi une approche d’automatisation

Lire la suite »
ATDD

Programmez: La gestion de ses tests avec un ALM

Les ALM (Application Lifecycle Management) sont l’outil des testeurs par excellence de par leurs multiples fonctionnalités liées au métier du test ! Les ALM proposent en effet un répertoire de test, la création de liens entre les exigences, la gestion de campagne de test, le suivi des différentes exécutions et généralement

Lire la suite »
ATDD

Les 7 principes du test: tester tôt (3/7)

Dans cette série vous pourrez trouver dans chaque article une présentation d’une des 7 principes fondamentaux du test. Tester tôt Description Ce principe est assez simple à appréhender. Il rappelle qu’il est important/ nécessaire de tester aussi tôt que possible afin d’éviter que des problèmes mineurs et faciles à corriger

Lire la suite »