La taverne du testeur

6 : Modélisation business et graphique d’éléments d’une macro-fonctionnalité

La modélisation système consiste en ATDD à représenter visuellement des éléments d’un système, jusqu’à enchaîner :

  • Des UC : le Product Owner (PO) devra à ce niveau tester l’intégration des UC pour répondre aux objectifs de chaque macro-fonctionnalité (MUC)

– Des MUC : pour former de bout en bout des “parcours utilisateur” ou une partie (une activité par exemple). Là encore le PO sera sollicité.

D’un autre côté, une équipe de testeurs IT (des Business Analystes par exemple) peuvent vouloir s’assurer de l’intégration de “tâches métiers” dans une UC. En agile ces tâches sont des US INVEST ou des US INVEST ayant subi des modifications successives de détail (au niveau d’une ou plusieurs règles de gestion).

Principes de modélisation graphique

On a une représentation visuelle, dans chaque cas, de “fonctionnalités” qui s’enchaînent au sein d’un élément fonctionnel plus vaste. Le principe de modélisation est le même pour chaque niveau, avec la même palette d’objets graphiques (syntaxe) :

  1. Un point de départ
  2. Un, voire plusieurs, point(s) de sortie 
  3. Des éléments qui doivent s’intégrer à la macro-fonctionnalité (de niveau supérieur)
  4. Des décisions (un losange)
  5. Des flèches appelées “transitions” qui enchaînent :
  • Des éléments 
  • Un élément vers une décision
  • Une décision vers un élément
  1. des alternatives qui fournissent des affirmations. Elles peuvent se visualiser comme des “OU” sur une transition, ou comme des transitions alternatives entre un même couple d’objets graphiques (par exemple d’un élément A vers un élément B).

Voilà les 6 notions qui suffisent pour modéliser avec les métiers.

On pourra toujours ajouter des commentaires. 

Prenons un exemple pour illustrer :

Exemple de modélisation métier sur le parcours (à un certain niveau de détail)

Différentier modélisation métier et modélisation d’automatisation d’un processus

Dans la représentation choisie, nous avons simplifié la notation à l’extrême. Elle suffit cependant à spécifier. Les cas complexes (ex: les ET de synchronisation pour indiquer qu’un traitement ne peut démarrer qu’en ayant les résultats de 2 traitements ou plus) sont transformés en règles de gestion.

Souvent l’erreur de l’IT est de proposer aux métiers de discuter sur un modèle BPMN (Business Process Model Notation). Or celui-ci a une palette précise, mais très/trop riche. C’est en fait un langage de programmation graphique pour automatiser in fine le processus décrit. 

Nous conseillons d’éviter l’usage du BPMN pour ne pas perturber le dialogue avec le métier.  Rester compréhensible de tous est une posture qui doit prédominer en agile.

Ceci implique que le schéma de modélisation métier doit être repris par les programmeurs de la couche BPM pour automatiser le processus : lancement des traitements, changement des statuts, historique et avancement des instances de processus, etc.. C’est l’attitude à adopter, de la même manière qu’on ne mélange pas spécification et code pour les autres parties de la solution !

Cibles d’un modèle

On voit bien que, dans un modèle, il y a des éléments à identifier qui vont nous servir de  “cibles” pour les tests. Dans notre exemple :

  • 1 point d’entrée,  2 de sorties et 5 éléments (notés de A à E) , soit 8 “boîtes”
  • 15 transitions (les flèches, dont 7 en gras donnant le scénario nominal)
  • Et enfin certaines transitions portent des alternatives (sur les flèches, séparées par un “OU”), d’où 19 alternatives.

Les alternatives en gras sont les plus représentatives de la transition associée (ex: sur la transition TR2, X>=0 est l’alternative la plus courante).

Les “boîtes” sont toutes homogènes : soit des tables de décisions (cas de tâches métiers : US INVEST), soit des modèles graphiques de détail (sous-fonctionnalités du produit considérées par l’utilisateur à l’instant T). Elles ont donc une représentation interne “boîte blanche”. La modélisation graphique, quant à elle, montre leur vision “boîte noire”, en retenant les résultats majeurs et les directions suivies après exécution.

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 *

ISO 25010

Types de tests (ISO 25 010): Les tests de portabilité (8/8)

Aujourd’hui nous abordons une famille que j’affectionne particulièrement car elle fait écho à mes expériences mobiles mais aussi à mon statut de joueur de jeux vidéo. Cette famille qui est aussi la dernière famille définissant la qualité au sens ISO – 25 010 est la famille  des tests de «

Lire la suite »
culture générale

Les 7 principes du test: regroupement de défauts (4/7)

Dans cette série vous pourrez trouver dans chaque article une présentation d’une des 7 principes fondamentaux du test. Regroupement de défauts Description Ce principe est finalement assez instinctif. Il nous indique que les défauts ne sont pas équitablement répartis dans un logiciel mais plutôt sous forme de « paquet », de « regroupement »

Lire la suite »
culture générale

Réussir son entretien d’embauche

Les entretiens d’embauches font partis intégrante de notre métier d’ingénieur en test logiciel. J’ai personnellement passé plus de 100 entretiens en tant que « candidat » mais aussi une petite dizaine de l’autre côté du bureau en tant que « recruteur ». De ces entretiens découle nos missions et donc notre parcours professionnel il

Lire la suite »