MaTeLo (Markov Test Logic) est un outil de Model-based testing développé par l'éditeur All4tec, conçu pour augmenter la couverture des tests en boîte noire et la productivité des équipes, dans des domaines d'application comme l'automobile, les systèmes d'information ou la défense par exemple.

Le testeur dessine dans MaTeLo les environnements des systèmes sous test et leur comportement avec des états, transitions et conditions.

Selon la stratégie de test, le testeur choisit parmi plusieurs algorithmes , lui offrant différentes couvertures de test pour générer l'ensemble du référentiel de test afin d'assurer la conformité du produit avec les spécifications fonctionnelles et détecter le maximum de Bugs.

MaTeLo génère automatiquement les cas de test composés de pas de test, assemblés dans des suites de test, les données de test et la variabilité des stimulations et résultats attendus (Oracle de Test), les scripts de test pour l'automatisation des bancs de test, et la traçabilité des tests avec les exigences.

Avec la fonction Model-Based Testing Online, et ses fonctions d'automatisation intégrées, MaTeLo réalise la campagne en orchestrant les tests sur différentes plates-formes comme les navigateurs Web, les clients lourds, services Web, consoles, mobiles, simulateurs 3D, etc. et lui permet le calcul du verdict de la campagne.

MaTeLo est connecté avec un large écosystème comme les principaux ALM, bancs de test et outils de simulation permettant l'échange des exigences, données et cas de test, scripts, etc.

Historique Initialement issu de besoins utilisateurs pour des projets spatiaux menés par Thales Alenia Space, le consortium international MaTeLo a été créé avec les industriels Thales Alenia Space, Israel Aerospace Industries , NEC, et Magneti Marelli, ainsi que les organismes de recherche Université Friedrich-Alexander d'Erlangen-Nuremberg et Université de Lund qui ont défini le fondement théorique et scientifique.

MaTeLo s'est rapidement élargi aux secteurs de l'aéronautique, des télécommunications et de l'automobile, ainsi qu'aux systèmes informatiques de grande échelle.

La description des fonctionnalités et les bénéfices attendus de l'outil MaTeLo ont été rédigés par Thales Alenia Space (anciennement Alespazio) dans l'article "MaTeLo : Validation des logiciels par des suites de test automatisées" paru dans la revue scientifique "Proceedings of DASIA 2003 (ESA SP-532). 2-6 June 2003, Prague, Czech Republic. Editor: R.A. Harris. Published on CDROM., id.30.1". Cette description de MaTeLo est référencée dans le système des données astrophysiques de la SAO/NASA, et son contenu est garanti par la NASA (National Aeronautics and Space Administration).

La société française All4tec, anciennement Alitec, a été le porteur du consortium MaTeLo et a contribué à l'apport des technologies avec la société allemande Danet acquise par Devoteam en 2009.

Le projet européen MaTeLo a démarré en , avec une première version en . La première conférence internationale scientifique évoquant les travaux en relation à MaTeLo s'est tenue à Paris le concernant le test d'usage statistique pour la validation des systèmes, pour la Conférence internationale : Ingénierie des logiciels et des systèmes et leurs applications (ICSSEA), présenté par Alitec devenue All4tec.

Le à Amsterdam, a eu lieu la première conférence de l'Institute of Electrical and Electronics Engineers présentant MaTeLo et concernant des expériences pratiques avec le test d'usage présentée lors du Onzième atelier international annuel sur la technologie logicielle et la pratique du génie logiciel.

Le à Dallas lors de la Conférence en qualité logicielle, a été présenté MaTeLo - test d'utilisation statistique par diagrammes de séquence annotés, chaînes de Markov et TTCN-3.

Le à Xi'an en Chine lors du Test Symposium 2003, a été présentée la génération automatisée de cas de test TTCN-3 au moyen de diagrammes de séquence UML et de chaînes de Markov avec MaTeLo.

Le à Saint-Malo a été publiée l'estimation de la fiabilité pour les tests statistiques d'utilisation des chaînes de Markov avec MaTeLo, lors du Symposium international sur l'ingénierie de la fiabilité des logiciels.

Le à Xiamen a été présentée une méthodologie de test du système basée sur le modèle d'utilisation de la chaîne de Markov et MaTeLo lors de la International Conference on Cooperative Work in Computer-Aided Design .

En 2013 à l'Université d'Angers a été déposé le rapport de projet sur l'Identification des contraintes DO-178C pour l'outil MaTeLo.

Le à Zagreb a été publiée une méthode pour créer le profil opérationnel d'un dispositif TV/STB à utiliser pour des tests statistiques avec MaTeLo lors de Eurocon 2013 .

En a été publiée l'extension du model-based testing pour la prise en compte de la variabilité dans les systèmes complexes aveclMaTeLo.

Le à Tianjin a été publiée la dérivation des variantes de modèle d'utilisation pour les tests basés sur des modèles : Une étude de cas industriel avec MaTeLo lors de la Conférence internationale sur l'ingénierie des systèmes informatiques complexes.

Le à Florence a été publié le MPLM - Gestionnaire de la gamme de produits dans MaTeLo : Relier la modélisation de la variabilité et les tests basés sur des modèles, lors du SPLC '14 Proceedings of the International Software Product Line .

Le à Opatija a été présentée l'amélioration de la navigation automatique dans le menu DTV/STB pour la vérification fonctionnelle avec MaTeLo à la Convention internationale sur les technologies de l'information et de la communication, l'électronique et la microélectronique (MIPRO) .

En 2015 a été publié l'ouvrage Advances in Computers Volume 98, 2015, Pages 89-140 dont le chapitre 3 concerne le Model-Based Testing dont l'outil MaTeLo.

En a été publié dans l'ouvrage Microprocessors and Microsystems Volume 47, Part B, November 2016, Pages 252-261 le projet EQUITAS : Chaîne d'outils pour l'amélioration de la sécurité fonctionnelle et de la fiabilité des systèmes automobiles utilisant MaTeLo pour la génération des tests.

En a été publié l'article "Accroître l'efficacité des tests par des tests basés sur des modèles axés sur les risques" dans le Journal of Systems and Software Volume 144, October 2018, Pages 356-365 ou MaTeLo est utilisé comme outil de Model-Based Testing.

Édition des modèles MaTeLo La description détaillée de l'outil de Model-based testing MaTeLo est consultable dans plusieurs ouvrages de références .vignette|316x316px|Modèle MaTeLo d'un régulateur de vitesse

Modèle état-transition-condition Le modèle graphique de MaTeLo est basé sur les chaînes de Markov pour permettre la conception de modèles. Un ensemble de transitions, chacune séparée par des états, est utilisé pour représenter le système et son environnement en termes d'exigences fonctionnelles (et/ou non fonctionnelles). Chaque élément du modèle comporte une courte zone de texte qui lui est associée, décrivant brièvement l'état ou l'action effectuée sur le système à un point spécifique. Certaines transitions sont conditionnelles et aiguillent les parcours en fonction des classes d'équivalences tirées précédemment selon des règles de gestion du système.

Le modèle MaTeLo peut représenter les actions et vérifications pour tester un système, vues comme un utilisateur d'un site Web ou d'un régulateur de vitesse par exemple. Le modèle peut être aussi une représentation graphique de la combinatoire possible entre les classes d'équivalences des variables, où chaque état représente, une classe d'équivalence, et où ses transitions indiquent les possibles dépendances et probabilités avec d'autres classes d'équivalences. Cette dernière représentation est utile pour modéliser les stimulations d'un environnement complexe composées de multiples paramètres et classes d'équivalence liées, comme celui des véhicules autonomes ou bien de transactions bancaires par exemple, afin de pouvoir générer un ensemble de combinatoires cohérent.

Les états peuvent se transformer en macro états où sont associés des macro chaînes représentant un sous processus lui-même composé d'états, macro état, transitions et conditions.Cette représentation hiérarchique participe à la réutilisation et à la lisibilité du modèle.

Gestionnaire de données de test MaTeLo gère nativement un dictionnaire de données permettant de stimuler ou calculer l' système sous test. Les données sont décomposables en Classe d'équivalence numériques avec différents intervalles numériques, ou bien en classes discrètes représentant les possibles sous-états d'une variable. Les données sont associées sur les transitions du modèle par glissé-déplacé où elles sont instanciées et valorisées par l'utilisateur. Les valorisations peuvent être numériques, textuelles, gaussiennes, distribuées aléatoirement selon les fréquences d'usages ou de risques, ou bien calculées par les fonctions de traitements.

Fonction de traitement Afin de calculer dynamiquement les stimulations ou les résultats attendus en fonction de données précédemment tirées sur une transition, MaTeLo propose un ensemble de fonction de traitement des données. Les fonctions peuvent être mathématiques, de traitement de caractère, ou bien utilisant directement la syntaxe des formules Microsoft Excel.

Les fonctions de traitement instanciées proposent un ensemble dynamique de tableaux de données de test pouvant être créés, triés, calculés, filtrés, enregistrés, etc. tout le long de la vie de la suite de test. Ces tableaux peuvent être aussi chargés depuis des bases de données existantes comme Microsoft Excel, Oracle Database, IBM Db2, etc.

Grâce à ces fonctions de traitement glissées-déposées sur les modèles, il est possible de créer à la volée tout jeu de données avec oracle de test complexe comme des ordres de bourses, des données d'environnement d'un véhicule autonome, ou bien des transactions de terminaux de paiements ou plus simplement toutes données d'un formulaire d'une application.

Gestionnaire et traçabilité des exigences

Les exigences sont gérées sous formes d'arborescence, dossier et groupes conformément au format . Les exigences sont associables au modèle au niveau de leur transition, stimulation, vérification, input, output, attribut, ou classe d'équivalence. Lors des générations, des indicateurs donnent le pourcentage de couverture des exigences vis-à-vis des suites de test générées. Des rapports de couverture sont générés montrant la matrice des exigences vers les suites de test, ou inversement les suites de test vers les exigences.

Opération de test off-line Ces opérations sont dédiées à la génération off-line de scripts pour l'automatisation. Des plates-formes de test peuvent être créées afin de transformer les suites de test générées en ensemble de fichiers pouvant automatiser les automates de test. Le format de sortie est configurable par l'utilisateur et permet de créer tout type de script, ou code exécutable, comme du Selenium, Java, Eggplant, UFT, python, XML, etc. Les opérations de test représentent une partie du script à générer ou un mot clé action, et sont paramétrables avec les données du modèle MaTeLo.

Fonction d'automatisation on-line MaTeLo permet d’exécuter directement les campagnes de test sans avoir recours à des technologies d'automatisation tierces. Des fonctions de traitements sont dédiées à l'automatisation on-line. Ces fonctions insérées dans le modèle, permettent pendant la génération des suites de test d'exécuter la campagne de test directement sur le système à tester et d'adapter les chemins ou données de test en fonction de l'état du système sous test. Il n'y a ni code ni script pour manipuler ces fonctions. Les librairies d'automatisation fournies en standard avec MaTeLo sont :

SeleniumRunner, qui permet d'automatiser tout navigateur Web depuis tout OS