Suite à la sortie d’une version portable (installation sans droit administrateur) en Novembre, une nouvelle version de l’add-in gratuit d’utilitaires pour Enterprise Architect, eaUtils 1.14 vient d'être publiée en ce début d’année :
- Jusqu’à présent limitée à la navigation via des éléments composite, la fonction fil d’Ariane (breadcrumb trail) supporte désormais les hyperliens, paquetages (ouverture du diagramme principal), et navigation cells (alternative aux hyperliens disponible depuis EA 13).
- La fonction de tri des éléments intègre également de nouvelles options :
- Le tri par object id correspondant à l’ordre de création des éléments.
- A la demande d’un utilisateur, le tri des sous-éléments, par exemple les actions placées sous une activité.
La complexité croissante d’eaUtils nécessite un minimum de tests afin de limiter le risque d’anomalies ou de régressions. Partagé pour la première fois à l’EA User Group de Londres 2017, je continue à m’appuyer sur la solution de tests automatiques dédiée aux add-ins EA, eaTests (www.eatests.com). Le code source eaUtils dédié à la gestion et l’exécution des tests automatiques qui s’appuie sur le module eaTests (DLL) intègre ces dernières évolutions.
Remarque : eaTests est un développement que je maintiens pour eaUtils. Conçu pour être utilisable par d’autres add-ins, comme cela a été démontré à l’EAUG via l'add-in Open Source hoTools, vous pouvez me contacter sur guillaume [at] umlchannel.com pour avoir plus d’informations sur l’intégration d’eaTests avec vos add-ins EA.
Cet article présente les nouvelles fonctionnalités, puis le processus de tests automatiques réalisé avant la publication d’eaUtils 1.14.
Fonctionnalités eaUtils 1.14
Générer les liens de retour dans un diagramme avec la navigation fil d’Ariane
Le diagramme suivant illustre les différents types de liens pour ouvrir un diagramme avec Enterprise Architect :
Support éléments composites
Dans le diagramme de l’activité "Activity3", eaUtils permet de générer un lien de retour vers le diagramme main (présenté ci-dessus).
La fonction eaUtils generate diagram breadcrumb trail depuis le diagramme de l’activité composite affiche la fenêtre suivante.
Après exécution, deux liens de retour vers les diagrammes permettant d’ouvrir l’activité composite sont disponibles, comme illustré ci-dessous :
La navigation obtenue est illustrée ci-dessous :
Support packages
Le fil d’Ariane peut être généré depuis le diagramme principal de package1, pour obtenir un lien de retour sur le diagramme principal (main). Dans l’exemple suivant, l’option Package doit être sélectionnée pour générer ce lien de retour.
Résultat :
Support hyperlinks
L’exemple suivant permet de revenir sur le diagramme principal (main) depuis le diagramme Activity2, ouvert via un lien hypertexte (option Hyperlinks).
Remarque : un lien de retour vers le diagramme activities a également été généré car ce diagramme contient l’activité composite.
Support navigation cell
Enfin voici l’exemple avec le diagramme Activities, ouvert depuis le diagramme main via un lien ‘navigation cell’.
Tri des éléments du modèle
Tri par ordre de création (critère Object ID)
Le tri des éléments dans les modèles peut être très utile pour faciliter la gestion d’un grand nombre d’exigences, cas d’utilisations, classes, blocs, composants, etc. Aussi eaUtils propose de nombreuses options de tri par nom, alias, stéréotype ou tagged values.
J’ai récemment travaillé sur un modèle dont le contenu est issu d’une retro-ingénierie (reverse) sur le code source. Triées par ordre alphabétique, les classes obtenues devaient être triées par ordre de création ; afin d’éviter la création d’un script spécifique de tri, une simple évolution d’eaUtils a permis d’obtenir rapidement le résultat attendu. eaUtils 1.14 intègre ainsi un tri par "object id", dont l’ordre correspond à la création des éléments dans EA.
Dans l’exemple suivant, les classes ont été créées dans l’ordre indiqué par le suffixe (-1, -2, -3, etc.). La fonction de tri eaUtils par Object ID, c’est-à-dire par ordre de création est exécutée.
Résultat :
eaUtils permet également de trier les éléments sur une branche du modèle (sous-paquetages) via l’option "process tree package". Dans l’exemple suivant, les paquetages Test1, Test2, Test3 et Test4 contiennent les mêmes classes.
Résultat :
Tri des sous-éléments
Le diagramme ArchiMate suivant illustre un cas particulier de tri transmis par un utilisateur eaUtils :
- Le champ alias des processus métiers correspond à leur ordre d’exécution (BP-1, BP-2…).
- Le processus BP-2 a été décomposé en sous-processus, placés sous cet élément.
- L’ensemble des processus doivent être triés par alias.
L’option « sort sub elements » a été ajoutée pour permettre le tri des processus (BP-1, BP-2, BP-3, BP-4) et sous-processus (BP2-1, BP2-2…).
Résultat (les alias ont été ajoutés à titre d’information) :
Tests automatiques de l’add-in eaUtils 1.14 avec eaTests
eaUtils intègre la solution eaTests pour gérer ses tests automatiques. Cette solution permet de définir, maintenir et jouer les scénarios de tests pour eaUtils dans un projet EA dont la structure est illustrée ci-dessous :
- Data Set : jeux de données sur lesquels les fonctions eaUtils vont être exécutées lors des tests automatiques.
- Test Steps : étapes de tests.
- Test Runs : historique des lancements de tests.
Le diagramme suivant présente les étapes de tests définies pour les évolutions d’eaUtils 1.14 :
Afin d’alimenter le module de tests automatiques avec la définition de ces étapes, les fonctions eaUtils à tester doivent être jouées une fois avec les paramètres associés. Exemple pour le tri des sous-éléments (étape 12) :
- Prérequis : le module eaTests doit être activé (mode développeur eaUtils).
- Le lien "trace" entre l’élément testcase et le jeu de données est défini.
- Les paramètres eaUtils sont mis à jour (activation de l’option tri des sous-éléments) :
- La fonction de tri eaUtils est exécutée sur le paquetage (jeu de données).
- Les résultats obtenus sont vérifiés par rapport aux résultats attendus (post conditions) :
- La définition de l’étape de test a été générée au format XML dans la vue System Output EA :
Ces informations sont copiées dans le fichier XML réunissant l’ensemble des étapes de tests automatiques à exécuter sur l’add-in EA.
Les tests automatiques peuvent être joués pour vérifier le bon fonctionnement des nouvelles fonctionnalités, tout en s’assurant qu’il n'y a pas de régression.
- Les tests automatiques sont lancés à partir du menu eaUtils > Run Tests.
- Le module eaTests lance une phase de tests automatiques :
- Le contenu du fichier XML (définition des tests) est chargé.
- Les paramètres de l’add-in sont mis à jour.
- La méthode de l’add-on est exécutée sur le jeu de données associé (paquetage).
- Les résultats obtenus sont comparés avec les post conditions.
- Ces informations sont tracées dans un diagramme de séquence.
- Les résultats sont enregistrés sous la branche Test Runs et un résumé affiché :
- Le diagramme de séquence suivant correspond à l’exécution de l’étape 12 :
eaUtils est disponible en téléchargement depuis www.eautils.com/download.
En complément des informations sur le site www.eaTests.com, vous pouvez consulter le contenu de ma présentation à l’EAUG Londres 2017 ici.