MBT : Model Based Testing
Bilan du MBT
Recommandations
La description du modèle, la génération de tests et l'exécution de ceux-ci avec un harnais représentent les différentes étapes du Model Based Testing. Mais en production, il est recommandé d'effectuer ces étapes dans l'ordre inverse. En effet, la première approche qu'il est important d'avoir concerne le harnais. Existe-t-il une librairie pour contrôler le système que l'on désire tester? Il n'est pas nécessaire de continuer à vouloir modéliser si on ne peut pas exécuter les tests. Si un harnais n'existe pas, quel est le coût de développement d'une librairie? Ces questions sont d'une importance capitale dans le cadre de la validation.
L'existence d'un harnais ne garantie pas la possibilité de créer un modèle. Certaines applications ne sont tout simplement pas modélisables car trop complexes et non fragmentables. De même, les applications trop volumineuses ne sont pas recommandées. Elles vont nécessiter un coût de développement trop important et une génération de tests qui va être extrêment longue sans garantie du résultat. Il vaut mieux choisir des modules du système pour garder une taille de modèle raisonnable.
Le choix d'un langage de génération des tests est aussi à prendre en compte. Le logiciel de modélisation utilisé peut-il les générer dans le langage voulu? Faut-il développer un script pour convertir les tests en un langage particulier comme dans QTronic?
Plusieurs questions restent ouvertes car une erreur dans le modèle entraine une série de tests défectueux. Il faut donc s'assurer en premier lieu de la fiabilité du modèle.
Conclusion
Le Model Based Testing est une approche assez lourde de génération de tests mais très intéressante. Il permet de générer des tests non s'en avoir une certaine connaissance technique de la modélisation. Par exemple, un modèle trop grand va entrainer un développement plus important et une génération de tests encore plus longue, et aussi plus difficile à maintenir. Une erreur de conception dans le modèle va créer une série de tests erronés. En contre partie, l'efficacité à générer des tests n'est pas négligeable. Le MBT est surtout utilisé pour la non-régression, ce qui entraine beaucoup de question sur la sauvegarde des modèles et des tests avec un numéro de version.
Pour générer ces tests, le travail collaboratif entre des équipes de marketing et de validation est une solution qui permet de rendre l'ensemble du travail efficace pour éviter de modifier le modèle constamment.
Malgré les avantages qu'on peut trouver à cette méthode, les outils sont en manque de maturité pour le moment. Ils n'offrent pas une facilité de mise en oeuvre pour gagner du temps de conception.
Le travail de recherche ou de conception du harnais (où il est nécessaire d'avoir une bonne collaboration entre développement et validation) et la conception d'un modèle est un travail conséquent. Lorsque le squelette de test est généré, il faut encore développer le contenu des méthodes des tests (la couche fonctionnelle). Il y a donc des difficultés d'évaluation du ROI.
On remarque donc des avantages et des inconvénients au MBT, mais je pense que c'est un concept qu'il va falloir suivre dans les années qui viennent.
À propos de ce site
Ce site a été réalisé par Patrick Allgeyer dans le cadre d'un exposé sur le Model Based Testing effectué en 3ème année d'école d'ingénieur : Ingénieurs 2000.