Extensive automation EN BREF
Extensive automation est un outil français (cocorico) créé par un de mes anciens collègues, Denis Machard.
La documentation étant très complète en français comme en anglais, je vous donne uniquement un extract de ce que fait l’outil puis je vous propose le retour d’un utilisateur.
L’objectif de la solution est de fournir un environnement de création et d’exécution de tâches automatiques. L’outil est développé en Python et vous pourrez ajouter vos propres scripts à la solution.
Le projet a plusieurs objectifs depuis sa création:
- Unifier les différents outils de test dans un seul environnement
- Simplifier l’écriture, l’exécution et l’analyse des tâches automatiques
- Partager les tests automatiques et permettre l’exécution depuis n’importe où
- Fournir un environnement de travail agréable
- Fournir un tableau de bord
La solution couvre plusieurs usages et peut être utilisée pour les cas suivants:
- automatiser les tests dans les environnements d’intégration
- automatiser les tests de non-régression et fonctionnels
- automatiser les tests de bout-en-bout
- automatiser le déploiement de serveurs
- automatiser le déploiement d’applications
Quoi de mieux que de vous parler de cet outil au travers d’un témoignage. Emmanuel Monsoro, collègue de Denis chez Orange et aussi un de mes anciens collègues, nous livre ses usages, les points forts de l’outils ainsi que les axes d’amélioration.
Retour d’expérience d’Emmanuel Monsoro
Extensive Automation est un outil d’écriture et d’exécution de tests automatiques que j’utilise au quotidien depuis maintenant 5 ans.
C’est un outil très versatile permettant d’automatiser un très grand nombre de types de tests allant du test bas niveau protocolaire, au test d’IHM en passant par les tests systèmes et autres tests d’API.
Il est ainsi très adapté au travail d’intégrateur que j’effectue au quotidien, mais convient tout à fait au travail de qualification que j’ai eu l’occasion de pratiquer un grand nombre de fois au cours de ma carrière.
Il est également possible de s’en servir pour faire du déploiement automatisé de plateforme, même si on ne peut pas considérer qu’il puisse venir en remplacement d’un outil comme Ansible.
Plus que ce qu’il est capable de faire, on peut simplement citer ce qu’il ne sait pas faire, à savoir les tests de performances.
Il offre plusieurs modes d’écriture des tests, dont l’utilisation de tests réutilisables pour lesquels il suffit de changer certains paramètres afin d’en réaliser de nouveau.
Cela est très utile dans le cadre de tests systèmes basés sur SSH ou dans le cadre de tests d’API basés sur HTTP/HTTPS.
Il est en outre doté de plusieurs plugins, dont un plugin HP ALM permettant d’exporter les tests vers ce gestionnaire de tests.
Enfin, le fait qu’il expose une API lui permet de parfaitement s’intégrer au sein d’un processus automatisé tel qu’une chaîne CI/CD, ce que j’ai pu faire sur mon dernier projet.
Et puis, dernier point fort: il existe plusieurs modes d’installation du serveur Extensive Automation dont l’installation via PyPi ou via une image docker, ce qui en fait un outil portable.
L’image docker permet notamment un déploiement à la volée du serveur qui n’existe que le temps des tests. Très utile dans les chaînes CI/CD, pour effectuer des tests de recette dans des environnements de production sécurisés.
Côté points faibles, on peut citer le fait que les tests ne soient facilement éditables que depuis le client lourd dédié. Ils sont en effet écrits nativement au format XML, ce qui rend ardues (mais pas impossibles) les modifications en dehors de ce client.
Points forts:
- opensource
- mature et éprouvé
- versatile
- facilité d’écriture de certains tests très répandus (SSH et HTTP/HTTPS)
- plugins
- facilité d’installation
- modèle client-serveur permettant la mutualisation des tests au sein d’une équipe
Axes d’amélioration:
- format XML des fichiers de test, difficiles à éditer en dehors du client lourd
Conclusion
Extensive Automation est clairement un outil à découvrir si vous ne le connaissez pas.
Pour cela, vous pouvez suivre l’outil sur divers canaux:
- depuis twitter https://twitter.com/Extensive_Auto
- depuis le forum google https://groups.google.com/forum/#!forum/extensive-automation-users
- depuis github https://github.com//ExtensiveAutomation
Un grand merci à Emmanuel pour ce retour d’expérience très intéressant.