J’ai eu la chance de pouvoir test Agilitest avant sa sortie et donc de faire du bêta test sur cet outil d’aide à l’automatisation des tests IHM. Je vous propose donc aujourd’hui un retour sur cet outil et vous fait part de mes impressions.
Comme pour mes autre articles de tests d’outils, j’ai présenté ce retour aux responsables de l’outil, ces responsables m’ont permis d’améliorer l’article et même fournit du matériel pour cet article. Je pense ici à la vidéo de très bonne qualité intégrée à la présentation (et à l’article) qui reprend un exemple créé pour l’article.
Présentation rapide :
Agilitest est un outil d’aide à l’automatisation des tests IHM (web ou client lourd, je n’ai personnellement testé que du web).
Pour cela Agilitest utilise le KDT (et un automate de test libre ats). Pour rappel, le KDT, Keyword Driven testing (test par mots clés en fraçais) est une couche intermédiaire qui permet à des non technique de développer des tests automatisés sans devoir entrer dans le code. Chaque action appelée mot clé est en fait une fonction appelée, fonction dont l’utilisateur détermine les variables.
Les tests ainsi développés grâce à l’interface graphique de l’outil sont alors exécutables en dehors de l’outil avec des outils d’exécution de test ou des ALM… Et ce sans avoir besoin d’une licence agilitest, l’automate étant libre. Cela permet de ne pas perdre ses tests si l’on décide de ne plus utiliser l’outil.
Le KDT « de base » :
Comme écrit précédemment, Agilitest utilise le KDT. Il existe déjà de nombreux mots clés comme les clics, les vérifications…
Ces mots clés sont sélectionnables et ajoutés au scénario, qui devient une suite de mots clés :
La suite de l’exécution de ces mots clés donne un scénario. Ici le scénario est :
- L’ouverture de Chrome
- Aller sur une url
- Cliquer sur une variable
- Entrer un certain texte dans une zone
Notez que pour le moment les variables ne sont pas indiquées. On ne sait donc pas sur quelle url on doit aller ni sur quel bouton (ou autre objet) cliquer… Pour cela il faut identifier ces objets. L’indentification unique des objets informatiques pose fréquemment problème… Surtout pour les personnes fonctionnelles ne connaissant pas bien le développement.
Afin de répondre à ce problème Agilitest propose un outil de capture qui permet de sélectionner facilement un objet, l’identifier et sélectionner des identifiants tout en s’assurant de son unicité. Cet outil de capture fonctionne bien et est intuitif, je vous recommande néanmoins de faire des capture sur chrome plutôt que sur Firefox qui dégrade les performances.
Pousser le KDT plus loin :
Attention, ce titre peut être trompeur. Agilitest continue de faire du KDT et ne va pas plus loin. Néanmoins il permet aux personnes non techniques de créer eux-mêmes de nouveaux mots clés, plus complexes et de les réutiliser facilement.
Pour cela Agilitest propose de transformer des « tests » (que nous pouvons appeler script) en mots clés. Il existe en effet un mot clé « sub-script ». Ce mot clé permet d’appeler un script déjà développé au sein d’un autre script. On définit alors les paramètres souhaités pour le script appelé.
On peut par exemple imaginer un sous-script permettant de remplir un formulaire d’une page qui devra être testée 10 fois. En appelant un script remplissant ce formulaire on s’épargne beaucoup de maintenance. C’est exactement ce dont je parle dans mon article sur la modularité des tests. Ici, cette modularité est accessible à des personnes ne sachant pas développer !
Utiliser les données :
Agilitest propose également une gestion des données que je trouve très pratique et qui permet, si bien utilisée, de limiter encore le nombre de test. Pour cela, Agilitest propose de variabiliser les données du test (ce que l’on souhaite entrer comme message, vérifier…) au moyen d’un simple fichier csv.
Pour un formulaire de création de mail, cela revient à proposer un script qui remplit le prénom, nom, mail souhaité, mot de passe 1, confirmation de mot de passe et cliquer sur « suivant ». Les variables de ce script deviennent les variables indiquées précédemment chacune étant dans une colonne. Si l’on veut ajouter des tests il suffit d’ajouter des lignes au csv.
Conclusion :
Agilitest est simple à prendre en main et agréable à utiliser. Je le trouve très bien pour aider les fonctionnels à développer des tests automatisés mais également très pratique pour mettre un premier pied dans l’automatisation et penser à l’architecture des automates.
Sa relative simplicité permet cependant de faire des actions assez complexes et variées tout en limitant le temps de maintenance… Cela permet une vraie utilisabilité des tests sur le long terme et un périmètre d’automatisation intéressant.
Le principal point faible d’Agilitest est, selon moi, la partie non fonctionnelle. Je pense qu’il y a encore des améliorations ergonomiques à apporter (il n’est pas instinctif de penser que le mot clé « fenêtre » est celui à utiliser pour les onglets), de performances (certaines lenteurs), d’adaptabilité (notamment avec une dégradation des performances sous Firefox) ou encore de stabilité (j’ai dû redémarrer Agilitest suite à un bug (maintenant corrigé) engendré par Firefox)
Présentation ppt : Clic
[googleapps domain= »drive » dir= »file/d/1TUqkm5l-tUNtLvKAopvX_cpVWOzIBigK/preview » query= » » width= »640″ height= »480″ /]
Vidéo : Clic
[youtube https://www.youtube.com/watch?v=d5MQqOeyRnQ&w=560&h=315]
Pensez à rejoindre le groupe Le métier du test si le sujet vous intéresse !
N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances
Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles
8 Responses
Agilitest évolue!
Il est maintenant possible d’exécuter directement les tests sous format ATS à l’aide de XStudio de XQual.
Bonjour Marc
sur quels axes différencierais -tu Agilitest VS Yest ?
Bonjour
Yest est un outil de conception de test, d’ATDD. Il a pour but de faciliter la communication entre métier, développeur et test et permet d’écrire des cas de test. Il est possible de faire du KDT avec également.
Agilitest a un tout autre but. Il vise à permettre à des testeurs fonctionnels voir des métiers d’automatiser des tests de manière propre.
Merci pour ce retour! L’outil expose-t’il une APi, quelle différence entre des outils qui proposent l’enregistrement de séquences d’actions (no code) et la possibilité de scripter en sus comme UFT, Ranorex….Et enfin quel budget pour cet outil?
Bonjour,
si je ne dis pas de bêtises, l’outil n’a pas besoin d’API car il génèrent des scripts qui peuvent ensuite être lancés.
Un outil d’enregistrement de séquence avec ensuite des modifications force à bien comprendre le code généré. de même certaines actions peuvent s’avérer inutiles ou pas forcément pérennes.
Pour le prix il faut voir avec l’éditeur
Bonjour,
Agilitest est l’éditeur qui produit des tests au format ATS, qui est textuel, lisible, et open-source: https://fr.agilitest.com/documentation/what-is-ats-actiontestscript-and-its-link-to-agilitest, le même langage permet des tests sur toutes les technologies que nous supportons : Web, Desktop, Android, iOS, Webservices, SAP…
Agilitest est un outil no-code, qui ne nécessite pas de connaitre un langage, cela permet de rendre les équipes de testeurs autonome dans la création des tests et le rejeu des campagnes de tests.
Pour autant, nous ne permettons pas l’enregistrement des tests, ils sont construits action par action par les utilisateurs, c’est rapide, cela génère des tests robustes et permet la réutilisabilité des scripts et le DDT.
ATS est compatible TestNG et le déploiement se fait très facilement sur les systèmes CI/CD, il n’y a pas de licence d’exécution.
La licence porte donc uniquement sur l’éditeur Agilitest pour rejouer ou maintenir des tests, nous avons des tarifs dégressifs en fonction du nombre de licences et du nombre d’années d’engagement.
Désolé, ce n’est en général pas dans ma philosophie de pousser des billets un peu commerciaux, ceux qui sont intéressés pour en savoir plus peuvent me contacter en MP https://www.linkedin.com/in/christophe-cressend/ et je me ferai un plaisir de répondre à vos questions.
Bonjour
Quelle différence entre agilitest et roboframework ?
Les plus, les moins.
Merci pour ce très bon article et bravo à Agilitest qui vient de gagner encore un prix innovation.
Bonjour
Pour utiliser RobotFramework il faut écrire ses scripts alors que ce n’est pas le cas avec Agilitest.
RobotFramework est donc moins accessible (il faut être plus technique mais potentiellement plus flexible qu’Agilitest.
De même, la licence RobotFramework est gratuite.
Pour en savoir plus je vous invite à manipuler les 2 outils, il y a une version d’essai de 30 jours pour Agilitest