Comment automatiser simplement les tests sur IBM Maximo ?

Lors du déroulement d’un projet, chaque paramétrage et développement Maximo, la solution web de GMAO éditée par IBM, doivent être testés et approuvés afin d’en valider le bon fonctionnement et d’assurer la qualité du produit final.

Il est nécessaire de réaliser ces tests sur l’ensemble des environnements au cours du cycle de livraison d’une évolution ou d’une correction, tout comme d’effectuer des tests de non-régression qui confirment l’absence d’impacts sur les fonctionnalités existantes. Vous l’aurez compris, sur Maximo, le temps investi à réaliser des tests l’emporte sur le temps consacré au développement !  

Réduire le temps de développement grâce à l’automatisation

Si une automatisation de ces tests apporterait un gain de temps conséquent, elle nécessite aussi le développement d’un code spécialisé par un expert. Un temps de développement qui, lui non plus, ne s’avère pas négligeable. Un autre problème se pose : comment s’assurer de la pertinence des tests ainsi que de la bonne compréhension de tous les acteurs ? Les tests n’étant pas forcément réalisés par une seule et même personne, comment garantir la qualité des tests de chacun ? Une solution existe pour réduire toutes ces contraintes. Elle repose sur un document appelé « cahier de recette », dont le but est de cadrer les tests et veiller que les développements respectent les attentes métiers. L’objectif est d’utiliser ce cahier de recette conjointement à un outil de tests automatisés pour obtenir d’un côté, un périmètre de test fiable grâce au cahier de recette, et de l’autre, un gain aussi bien de temps que d’efforts.  

Automatiser les tests sur IBM Maximo : first things first, le cahier de recette

Afin de développer un outil de test adapté, il faut commencer par élaborer un cahier de recette, un document contenant entre autres la description des différents tests à réaliser. Sa rédaction peut cependant poser problème : son contenu n’est parfois pas compréhensible sans disposer d’une connaissance préalable du projet. Le testeur doit alors échanger avec le responsable pour garantir la compréhension du test attendu et ne pas faire fausse route. Ce qui engendre une grande perte de temps et de ressources… Cette problématique se désamorce facilement avec la mise en place d’un cahier de recette formaté. Quel que soit l’environnement IBM Maximo, la liste des actions réalisables par les utilisateurs est sensiblement la même (exemple : Aller sur une application, Cliquer sur un bouton, Vérifier la valeur d’un champ, etc.). Il devient donc possible de mettre en place des listes de valeurs pour guider l’utilisateur lors de la saisie du cahier de recette et obtenir un modèle unique et homogène : pour chaque étape du test, le rédacteur du cahier de recette doit choisir le type d’action à effectuer dans une liste de valeurs définies. Ce modèle permet de détailler l’ensemble des actions nécessaires à la réalisation du test. Chaque action est compréhensible au clic près. Ainsi, tout le monde peut réaliser ces tests sans connaissances préalables. Ce niveau de détail garantit l’absence de malentendus entre les acteurs du projet, car il n’existe plus d’interprétation possible. L’autonomie des équipes est alors renforcée !

 

 

L’étape suivante, l’automatisation des tests

Maintenant qu’un document listant l’ensemble des actions à réaliser existe, un robot peut accomplir ces actions. Les premières versions de ce robot ont nécessité le développement manuel de l’automatisation. Chaque test a ainsi été manuellement codé à l’aide de Selenium, un framework de test développé en Java. Ce fonctionnement a induit beaucoup de temps et la présence de ressources compétentes, ce qui ne représente pas une bonne solution en soi. Une nouvelle version de ce robot a alors été développée, conduisant à la création d’un outil capable de lire un ensemble de cahier de recette et de générer son propre code d’automatisation de tests. Ce code permettant donc d’exécuter automatiquement les tests associés. L’utilisateur peut alors simplement lancer les tests et constater les résultats à la fin de l’opération. Un autre avantage de cette robotisation des tests est leur parallélisation. Contrairement à un humain, le robot n’est pas limité à un seul test à la fois. Il peut exécuter l’ensemble des tests en même temps. Ainsi, plutôt que d’attendre la fin d’un test pour en lancer un autre, il peut mener tous les tests de front, ce qui représente un gain de temps encore plus conséquent. Les cahiers de tests étant conservés, il est possible de rejouer l’ensemble des tests existant depuis le début du projet afin de valider la non-régression des fonctionnalités et de fiabiliser le projet. Chose impensable sans robotisation !  

Pour aller encore plus loin : automatiser la rédaction du cahier de recette

L’automatisation des tests nécessite maintenant uniquement la rédaction d’un cahier de recette. Une rédaction qui reste longue et fastidieuse... sans que ce soit une fatalité pour autant ! Un mécanisme pour réduire cette charge est tout à fait imaginable, et surtout réalisable. C’est ainsi qu’une WebExtension pour navigateur Web a vu le jour. Cette extension permet de détecter les actions réalisées par l’utilisateur Maximo. Chaque action est décrite par son type d’action, et par ses paramètres (exemple : Type d’action « Saisir la valeur du champ » avec les paramètres « Nom du champ : CDP affecté », « Valeur du champ : TEST »). En fin d’utilisation d’IBM Maximo, un cahier de recette est alors automatiquement généré à partir de tous les actions de l’utilisateur.

 

 

En conclusion, n’importe qui, même sans aucune connaissance technique, peut automatiser les tests sur IBM Maximo. Il doit seulement réaliser la manipulation pour générer un cahier de recette compréhensible par tout le monde. Ce cahier pourra ainsi être relu, corrigé et validé avant d’être utilisé pour automatiser ce test et ainsi gagner un temps précieux.