Sommaire
Le cadre action-événement est un outil de test d’interface graphique visant à remplacer les
logiciels de capture et réexécution (capture and playback). Par l’emploi d’un modèle de
traduction écrit par un programmeur, son adoption permet de minimiser la maintenance
requise suite à un changement dans l’apparence de l’interface graphique du logiciel testé. Ce
modèle centralise les informations relatives à l’interface graphique et indique comment
l’utiliser pour exécuter chacune des actions du logiciel. Cet essai a pour but de créer un
algorithme générant automatiquement le modèle de traduction. Ainsi, si l’apparence de
l’interface graphique change, celui-ci n’aura qu’à être régénéré, éliminant ainsi complètement
la maintenance nécessaire.
Le premier intrant du cadre action-événement est le modèle d’action, qui est une
représentation de la spécification des exigences exprimée dans le langage informatique Spec#.
Cet essai stipule qu’un autre format que le format textuel doit être employé afin de faciliter
une analyse informatique. Celui-ci est un métamodèle orienté objet respectant la
hiérarchisation des éléments d’un programme écrit selon ce paradigme : une classe contient
des variables et des méthodes. Ces dernières contiennent des instructions. Ces instructions
peuvent être de plusieurs types, notamment une expression symbolique, un appel de méthode,
une instruction conditionnelle, une instruction répétitive ou une instruction de retour. Le
deuxième intrant du cadre action-événement est un modèle de l’interface graphique décrivant
celle-ci. Cet essai définit le format précis qu’il doit respecter. Celui-ci est un métamodèle
orienté objet permettant d’identifier à quel type appartient chacun des composants de
l’interface (bouton, zone de texte, liste déroulante, grille, etc.) et d’exprimer les liens
hiérarchiques entre les composants (certains sont contenus à l’intérieur d’autres composants).
La génération automatisée du modèle de traduction se fait à partir d’une analyse des deux
modèles en entrée ainsi que du code source du programme. Celui-ci doit d’abord être