MaTeLo

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
MaTeLo
Description de l'image Matelo.png.

Informations
Développé par All4tec
Première version
Dernière version 5.9 ()
Environnement Microsoft Windows
Type Logiciel de test
Licence Propriétaire
Site web All4tec MaTeLo

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[modifier | modifier le code]

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[1].

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[1].

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"[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)[2].

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[1] acquise par Devoteam en 2009.

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

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[5] présentée lors du Onzième atelier international annuel sur la technologie logicielle et la pratique du génie logiciel[6].

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

Le à Xi'an en Chine lors du Test Symposium 2003[9], 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[10] avec MaTeLo.

Le 2 novembre 2004 à 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 15e Symposium international sur l'ingénierie de la fiabilité des logiciels[11].

Le 8 novembre 2004 à 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 8th International Conference on Cooperative Work in Computer-Aided Design [12].

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[13].

Le 1er juillet 2013 à 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 [14].

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

Le 4 août 2014 à 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 19e Conférence internationale sur l'ingénierie des systèmes informatiques complexes[16].

Le 15 septembre 2014 à 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 18th International Software Product Line [17].

Le 16 septembre 2013 à 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 36e Convention internationale sur les technologies de l'information et de la communication, l'électronique et la microélectronique (MIPRO) [18].

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[19].

En novembre 2016 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[20].

En octobre 2018 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[21] ou MaTeLo est utilisé comme outil de Model-Based Testing.

Édition des modèles MaTeLo[modifier | modifier le code]

La description détaillée de l'outil de Model-based testing MaTeLo est consultable dans plusieurs ouvrages de références [22],[19],[23],[24],[25].

Modèle MaTeLo d'un régulateur de vitesse

Modèle état-transition-condition[modifier | modifier le code]

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[modifier | modifier le code]

MaTeLo gère nativement un dictionnaire de données permettant de stimuler ou calculer l'Oracle de Test (en) 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[modifier | modifier le code]

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[modifier | modifier le code]

Les exigences sont gérées sous formes d'arborescence, dossier et groupes conformément au format Requirements Interchange Format (en). 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[modifier | modifier le code]

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[modifier | modifier le code]

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
  • GUIRunner, technologie à base de reconnaissance d'images et de caractère qui permet d'automatiser toute application client lourd, léger, application console, sur tout OS ou smartphone
  • RestRunner, qui permet d'automatiser les Web services Rest
  • SoapRunner, qui permet d'automatiser les Web services Soap
  • SCANeR Runner, qui permet d'automatiser l'outil de simulation 3D AV Simulation SCANeR pour le test des véhicules autonomes

En intégrant plusieurs de ces technologies dans un même modèle, il devient possible de réaliser des tests de bout en bout qui mettent en œuvre des systèmes d'information répartis sur plusieurs technologies.

Algorithmes de génération des suites de test[modifier | modifier le code]

Le choix de l’algorithme de génération dépend de sa stratégie de test (en).

Minimum Arc Coverage[modifier | modifier le code]

Cet algorithme génère de façon déterministe le chemin le plus court afin de parcourir l'ensemble des transitions et conditions du modèle. Sa base mathématique repose sur le problème du postier chinois.

User Oriented[modifier | modifier le code]

Algorithme de test statistique qui permet de générer les tests avec des parcours et combinatoires correspondant aux fréquences d'usage ou de risques des transitions et classes d'équivalence saisies dans le modèle.

User Oriented filtered[modifier | modifier le code]

Algorithme user oriented permettant de filtrer les nouvelles suites de test générées qui n'apportent pas de gain en termes de nouvelle transition couverte, classe d'équivalence, ou nouveau chemin. Cet algorithme permet d'éliminer les doublons et de converger rapidement vers un objectif de test.

Most Probable[modifier | modifier le code]

Algorithme déterministe qui génère en priorité les transitions et classes d'équivalence avec le chemin le plus probable, puis déduit un taux de décroissance sur la classe d'équivalence ou transition courante pour l'ajouter sur les autres transitions et classes d'équivalence afin d'avoir plus de chance d'accéder aux autres parties du modèle. Les suites de test générées sont les plus probables en premier, puis les moins probables.

Path Coverage[modifier | modifier le code]

Algorithme qui permet de générer tous les chemins du modèle.

Échantillonneur de Gibbs[modifier | modifier le code]

Pattern de modèle mettant en œuvre l'échantillonnage de Gibbs pouvant être couplé à d'autres algorithmes de génération permettant de générer un échantillon de combinatoires convergeant géométriquement vers la distribution stationnaire du système et limitant le nombre de doublons.

Production du référentiel de test[modifier | modifier le code]

Génération des cas de test[modifier | modifier le code]

Les Cas de Test (en) représentent l'entité de séquence de pas de test réutilisable au sein des suites de test. À chaque modèle MaTeLo correspond un ensemble de Cas de Test (en) mis à jour et nommé automatiquement pendant l'édition du modèle. Les Cas de Test (en) sont composés de pas de tests, eux-mêmes décomposés en stimulations et vérification valorisées.

Génération des suites de test[modifier | modifier le code]

Les suites de test (en) sont générées grâce aux Algorithmes de génération. Elles sont composées des cas de test et décrivent un parcours applicatif appelé aussi scenario de test (en). Les Cas de Test (en) sont visualisables graphiquement et exportables en html, pdf, Microsoft Word, Microsoft Excel.


Génération des scripts de test[modifier | modifier le code]

Les suites de test (en) sont transformables en scripts de test. Elles sont construites à partir des opérations de test présentes dans le modèle qui décrivent chacune une portion du script à générer. Ces scripts sont paramétrables avec les données du modèle. Ces scripts sont ensuite exécutés en dehors de MaTeLo dans un banc de test qui gère la campagne. C'est le mode off-line du Model-Based Testing. Les scripts générés peuvent être par exemple du XML, Selenium, CSV, Java, C#, Bash, TestStand, Canoe, etc.

Exécution des campagnes de test[modifier | modifier le code]

Le mode Model-Based Testing On-Line de MaTeLo permet grâce à ses fonctions d'automatisation incluses, d'exécuter la campagne, de calculer le verdict et de détecter automatiquement les anomalies du système sous test.

Synchronisation avec les ALMs[modifier | modifier le code]

MaTeLo dispose d'explorateurs temps réels permettant de synchroniser les modèles et le référentiel généré avec les principaux ALMs du marché. MaTeLo dispose de sa propre base de données permettant de partager les modèles et de faire du travail collaboratif au sein des organisations. Le référentiel synchronisé concerne les exigences, Cas de Test (en), suites de test (en), script, données de test, et résultat de campagne.

Notes et références[modifier | modifier le code]

  1. a b c d et e « 2003ESASP.532E..30G Page 30.1 », sur adsbit.harvard.edu (consulté le 26 mars 2019)
  2. « SAO/NASA ADS: ADS Home Page », sur adsabs.harvard.edu (consulté le 27 mars 2019)
  3. (en) « System validation by statistical usage testing », sur IRISA, (consulté le 27 mars 2019)
  4. « CMSL - Icssea2002 - PROGRAMME », sur deptinfo.cnam.fr (consulté le 27 mars 2019)
  5. H. Le Guen et T. Thelin, « Practical experiences with statistical usage testing », Eleventh Annual International Workshop on Software Technology and Engineering Practice,‎ , p. 87–93 (DOI 10.1109/STEP.2003.24, lire en ligne, consulté le 26 mars 2019)
  6. (en) « Eleventh Annual International Workshop on Software Technology and Engineering Practice », sur ieee.org, (consulté le 26 mars 2019)
  7. (en) « Troisième conférence internationale sur la qualité logiciels », sur ieee.org, (consulté le 26 mars 2019)
  8. W. Dulz and, « MaTeLo - statistical usage testing by annotated sequence diagrams, Markov chains and TTCN-3 », Third International Conference on Quality Software, 2003. Proceedings.,‎ , p. 336–342 (DOI 10.1109/QSIC.2003.1319119, lire en ligne, consulté le 26 mars 2019)
  9. (en) « Test Symposium 2003 », sur ieee.org, (consulté le 26 mars 2019)
  10. and and, « Automated TTCN-3 test case generation by means of UML sequence diagrams and Markov chains », 2003 Test Symposium,‎ , p. 102–105 (DOI 10.1109/ATS.2003.1250791, lire en ligne, consulté le 26 mars 2019)
  11. H. Le Guen, R. Marie et T. Thelin, « Reliability estimation for statistical usage testing using Markov chains », 15th International Symposium on Software Reliability Engineering,‎ , p. 54–65 (DOI 10.1109/ISSRE.2004.33, lire en ligne, consulté le 26 mars 2019)
  12. and, « A system test methodology based on the Markov chain usage model », 8th International Conference on Computer Supported Cooperative Work in Design, vol. 1,‎ , p. 160–165 Vol.1 (DOI 10.1109/CACWD.2004.1349006, lire en ligne, consulté le 26 mars 2019)
  13. Mélanie Dougal et Anas El Mzraa, « Identification des contraintes DO-178C pour l'outil MaTeLo », sur dune.univ-angers.fr, (consulté le 26 mars 2019)
  14. V. Marinkovic, B. Kordic, M. Popovic et V. Pekovic, « A method for creating the operational profile of TV/STB device to be used for statistical testing », Eurocon 2013,‎ , p. 93–97 (DOI 10.1109/EUROCON.2013.6624971, lire en ligne, consulté le 26 mars 2019)
  15. Hamza Samih, Hélène Le Guen, Ralf Bogusch et Mathieu Acher, « An Approach to Derive Usage Models Variants for Model-Based Testing », dans Advanced Information Systems Engineering, Springer Berlin Heidelberg, (ISBN 9783642387081, lire en ligne), p. 80–96
  16. H. Samih, H. L. Guen, R. Bogusch et M. Acher, « Deriving Usage Model Variants for Model-Based Testing: An Industrial Case Study », 2014 19th International Conference on Engineering of Complex Computer Systems,‎ , p. 77–80 (DOI 10.1109/ICECCS.2014.19, lire en ligne, consulté le 26 mars 2019)
  17. Hamza Samih et Ralf Bogusch, « MPLM - MaTeLo Product Line Manager: [Relating Variability Modelling and Model-based Testing] », Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools - Volume 2, ACM, série SPLC '14,‎ , p. 138–142 (ISBN 9781450327398, DOI 10.1145/2647908.2655980, lire en ligne, consulté le 26 mars 2019)
  18. V. Marinković, B. Kordić, M. Popović et V. Peković, « Improved automatic DTV/STB menu navigation for functional verification », 2013 36th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO),‎ , p. 847–850 (lire en ligne, consulté le 26 mars 2019)
  19. a et b (en) Raluca Marinescu, Cristina Seceleanu, Hèléne Le Guen, Paul Pettersson, « Chapter Three - A Research Overview of Tool-Supported Model-based Testing of Requirements-based Designs »
  20. (en) Microprocessors and Microsystems (lire en ligne)
  21. (en) Journal of Systems and Software (lire en ligne), p. Increasing test efficiency by risk-driven model-based testing
  22. (en) Héléne Le Guen, Frederique Vallée et Anthony Faucogney, « Model-Based Testing Automatic Generation of Test Cases Using the Markov Chain Model », dans Industrial Use of Formal Methods, John Wiley & Sons, Ltd, (ISBN 9781118561829, DOI 10.1002/9781118561829.ch2, lire en ligne), p. 29–81
  23. (en) Mercedes G. Merayo et Edgardo Montes de Oca, Testing Software and Systems: 26th IFIP WG 6.1 International Conference, ICTSS 2014, Madrid, Spain, September 23-25, 2014. Proceedings, Springer, (ISBN 9783662448571, lire en ligne)
  24. BOULANGER Jean-Louis, Outils de mise en œuvre industrielle des techniques formelles, Lavoisier, (ISBN 9782746288010, lire en ligne)
  25. (en) Justyna Zander, Ina Schieferdecker et Pieter J. Mosterman, Model-Based Testing for Embedded Systems, CRC Press, (ISBN 9781351833912, lire en ligne)