Témoignage: développer un outil MBT pour automatiser les tests

Je tiens à remercier tout particulièrement Fabrice Trollet pour ce témoignage et la société ALL4TEC qui accepte de partager son expérience dans cet article.

Bonjour Fabrice, peux-tu rapidement te présenter ?

Bonjour, je suis arrivé à ALL4TEC il y a un peu plus de 5 ans. J’ai travaillé auparavant dans diverses sociétés de services et étais responsable de forfaits pour ces entreprises. Je m’occupais du suivi et des réponses à appel d’offres pour des forfaits de TRA (Tierce Recette Applicative). Je connaissais MaTeLo avant de rejoindre la société car on répondait à des offres de TRA en proposant l’utilisation de MaTeLo. Cela nous a accordé quelques jolis succès notamment chez Pages Jaunes. J’ai ensuite décidé de rejoindre ALL4TEC pour me consacrer au développement Marketing, technique et commercial de MaTeLo c’est pourquoi je suis maintenant Product Manager chez All4TEC. Je suis en charge de la définition des évolutions du produit en phase avec les demandes utilisateurs, du suivi du développement, de la promotion du produit (vidéos, salons, articles, animation de communauté), de phases d’avant ventes, des équipes d’ingénieur avant-vente. Je participe également à des formations, à des déploiements de l’outil et m’occupe aussi de la R&D (études à long terme, basées sur l’utilisation de l’intelligence artificielle et des évolutions à 5 ans ou plus de MaTeLo).

Peux-tu présenter MaTeLo ?

ALL4TEC existe depuis 20 ans. A ses débuts c’était une société type SSII comme une autre, elle a néanmoins été la première SSII certifié CMM (CMMI) niveau 4. Dans le cadre du processus CMM il y a eu une industrialisation des méthodes de développement. Cette industrialisation a abouti à l’utilisation d’un modèle pour spécifier les tests en regard avec les exigences. ALL4TEC a profité de ce modèle pour proposer une génération les tests avec une traçabilité des exigences. Ce modèle mis en place était (et est toujours) basé sur les chaines de Markov ce qui a donné son nom à leur outil interne MaTeLo (MarKov Test Logic) qui était à ce moment-là sous powerpoint.

Le premier prototype a été fait il y a un peu plus de 15 ans. Cet outil a tout de suite plu à certains clients qui souhaitaient un outil semblable. Cela a entrainé création d’un vrai produit commercialisable, MaTeLo n’était alors plus un outil interne mais bien un logiciel destiné à être vendu à des sociétés extérieures.

De nombreuses recherches ont été nécessaires lors de l’élaboration de MaTeLo. Différentes thèses ont été faites mettre au point plusieurs algorithmes pour l’exécution et la couverture des tests.

Depuis ALL4TEC a changé son modèle économique et ne fait quasiment plus de service.

Enfin, je souhaiterais ajouter que ALL4TEC a de nombreux projets de R&D pour le test. Cette R&D est une activité importante de la société et porte sur des sujets d’avenir comme les tests de véhicules autonomes, les systèmes distribués…

Qu’est-ce qui a changé depuis ton arrivée ?

Le plus gros changement depuis mon arrivée a été la mise en place de l’agilité avec des sprints de 2 semaines. Avant mon arrivée MaTeLo fonctionnait avec un cycle en V classique et il pouvait s’écouler 2 ans entre 2 versions. L’agilité est bien adaptée à MaTeLo qui a une équipe de développement constituée d’une dizaine de développeurs ce qui permet d’avoir une seule équipe agile sur MaTeLo. Ce changement de méthode de développement, indispensable pour gagner en réactivité (livraison toutes les 2 semaines au lieu de tous les 2 ans), a été compliqué mais maintenant tout fonctionne parfaitement. Les principales difficultés rencontrées lors de la transformation agile étaient liées à la résistance au changement. Les personnes étaient habituées à faire des études et des POC pour mettre en place des fonctionnalités et on leur a demandé de faire « la même chose » en 2 semaines mais en faisant des petites idées à implémenter.

Néanmoins, après une période d’adaptation, on a démontré qu’il était possible d’avoir un livrable plus rapidement et d’avoir des retours plus rapides des utilisateurs ce qui a permis de passer avec succès cette transformation.

Les seuls autres problèmes rencontrés liés à l’agilité sont :

  • une incompréhension entre homme jours et vélocités. On a toujours une demande de conversion entre la vélocité et nombre de jours de développement.
  • parfois l’équipe de développement est amenée à faire du support niveau 3 non prévu dans le sprint

A quoi ressemblais MaTeLo lorsque tu es arrivé ?

Quand je suis arrivé, MaTeLo en était à sa version 4 en C++ et commençait son passage sous Eclipse. A cette époque, sous Eclipse, on ne pouvait faire que des parcours. Depuis il y a eu l’ajout de nombreuses fonctionnalités : liens avec les ALM, les conditions, gestion de données, data source, automatisation « online », liaisons avec Excel (fonctions de traitement avec excel), scripting, beaucoup de travail sur l’ergonomie pour rendre MaTeLo plus accessible.

La gestion des données a été implémentée pour le monde de l’IT qui le demandait (banque, assurance : notamment EuroNext)

De même l’ajout des conditions a permis de simplifier fortement les parcours et donc l’expérience utilisateurs ainsi que la maintenance.

Quel est ton rôle chez ALL4TEC ?

J’ai plusieurs rôles chez ALL4TEC. Le principal est choisir les grosses fonctionnalités à implémenter sur 1 année, puis de les spécifier (pas de solution technique) sous forme d’US et de les présenter aux développeurs.

Il y a en général un « thème » principal par année. En 2018, nous avons effectué beaucoup de travail sur le mode « online » (génération et exécution des tests en parallèle depuis MaTeLo).

Dans ce cadre je suis donc en charge de prioriser de façon Macro le contenu du backlog. Afin de mener à bien cette priorisation et connaitre les besoins des utilisateurs j’échange fréquemment avec les clients qui définissent leurs besoins, je note également les difficultés des utilisateurs repérées lors de coaching et de formations. Je priorise ensuite le tout en fonction de la valeur que cela peut apporter que cela soit en terme de nouveaux marchés ou de satisfaction utilisateurs…

J’oriente donc toute la stratégie de développement du produit MaTeLo. Afin de valider ces stratégies j’ai une réunion toutes les 2 semaines avec laurent Cosson qui a pour but de présenter et valider ces évolutions.

Pourquoi MaTeLo ? Qu’est-ce qui t’a séduit ?

Ce qui m’a séduit dans MaTeLo c’est qu’il permet à un testeur de faire ce que ferait un développeur de manière beaucoup plus simple qu’à la main. L’outil permet une meilleure qualité de produit avec une meilleure couverture, nombreux cas de test, automatisation en un temps réduit.

Un autre point important est qu’il n’y a pas besoin de faire de développement. C’est d’ailleurs pour cela que nous avons développé le mode « online » en proposant d’aller encore plus loin et proposer une exécution depuis MaTeLo. MaTeLo fait maintenant tout ce que fait un ALM (de l’exigence à la gestion des bugs en passant par l’écriture et l’exécution des tests mais en restant plus limité que les ALM sur certains points) tout en restant compatible avec ce que les équipes ont déjà.

Qu’est-ce que tu mets en avant lorsque tu dois convaincre quelqu’un d’utiliser MaTeLo ?

Je dis qu’il suffit de dessiner un modèle pour avoir tout le référentiel de test « Testware ». Quand on met à jour le modèle, tout le référentiel est mis à jour. La variabilité dans les cas de test est très importante, notamment avec les probabilités ce qui permet de faire d’autres couvertures que le « minimum arc coverage » et qui n’est pas forcément fait par les autres outils. Le modèle permet de faciliter les discussions entre les différents acteurs du projet/produit. On gagne du temps et en couverture. Le temps gagné est d’autant plus important que les tests doivent être maintenus (plus simple de maintenir tous les tests automatisés). Le même modèle permet de faire beaucoup de tests (fonctionnel, sécurité, robustesse, adaptabilité) et MaTeLo arrive à tout tester (IHM, API, Webservices, systèmes embarqués…).

Enfin, MaTeLo est très complet en utilisant uniquement des ronds et des flèches !

Quelles sont les principales difficultés majeures ou fréquentes affrontées au cours de tes 5 ans chez ALL4TEC ?

Parfois le produit s’adresse à des gens pas assez mâtures dans les processus de test. Si les gens ne veulent pas vraiment avoir des procédures de test mâtures l’outil n’est pas approprié. Notre principal concurrent c’est ceux qui ne testent pas. Le marché du test n’est pas différentiel sur un produit, on peut ne pas tester et proposer des produits qui ne le sont pas.

Notre produit n’intéresse que les grosses sociétés (mais dans le monde entier : France, Allemagne, Etats-Unis, Brésil, Inde, Chine…), pas les PME ou startups car ne peuvent pas forcément investir dans le test.

Comment démarches-tu des nouveaux clients ?

On a des commerciaux qui font du démarchage téléphonique. ALL4TEC dispose également d’un service marketing qui fait des envois d’emails, de l’animation des réseaux sociaux, la création de vidéos et tutoriels en ligne.

De même, ALL4TEC est présent à dans de nombreux salons (salon du test du véhicule autonome à Stuttgart, JFTL, JFIE, SIA (ingénierie automobile), UCAAT (salon dédié à l’automatisation du test)) et conférences (dans la plupart des salons où on participe).

Enfin, nous proposons des essais gratuits de 30 jours de MaTeLo tout en proposant des formations et des présentations chez des clients potentiels (10 présentations par semaines).

Depuis mon arrivée il y a eu le développement des réseaux sociaux, des vidéos et des conférences. Les emails ne fonctionnent quasiment plus.

A quoi ressemblera MaTeLo dans 5 ans ?

Dans 5 ans MaTeLo sera peut-être comme un ALM à part entière capable d’automatiser et créer un modèle à part entière à partir de l’analyse de données existantes (bourses, véhicules autonomes, types de bugs recherchés, des mesures de productions), des cas de tests, des exigences => des projets R&D sont en cours sur ce sujet avec notamment du deep learning et l’utilisation d’algorithmes.

On n’arrivera jamais à du 100% mais l’idée est d’intégrer automatiquement ces données à des modèles ou bien proposer une automatisation online du système qui proposerait ensuite un modèle => problème pour trouver des anomalies liées aux exigences dans ce cas.

Beaucoup de travail sur les véhicules autonomes : on récupère des données de radars et autres capteurs puis on modifie des données pour simuler d’autres situations (véhicule devant, derrière, à droite, à gauche, freine, accélère…).

Plus d’informations sur MaTeLo

Insérer présentation ppt (15-20 slides)

Vidéo de présentation (10 minutes max)

Pensez à rejoindre le groupe Le métier du test si le test vous intéresse !

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Laisser un commentaire

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

Bug

Erreur, défaut et défaillance

Bug, erreur, anomalie, défaut, défaillance, imprévu, mauvais comportement, crash, freeze, feature… et j’en passe. Tous ces termes sont souvent utilisés comme des synonymes pour indiquer qu’un logiciel ne fonctionne pas comme on le souhaiterait sous certaines conditions. Dans les faits, l’ISTQB définit 3 termes spécifiques qui ont des sens bien

Lire la suite »
Image demandant une confirmation pour s'authentifier
culture générale

Article 1/3 : L’automatisation de tests dans un environnement sécurisé avec de l’authentification multi-facteur – Jonathan Bernales

1. Introduction aux mécanismes MFA dans le contexte du test Bienvenue dans cette série d’articles dédiée à une analyse approfondie du test de systèmes intégrant des mécanismes d’authentification multi-facteurs. Si vous travaillez dans une entité régulée, notamment dans les secteurs financier ou bancaire, vous avez probablement été confrontés aux défis

Lire la suite »