créer et exécuter vos tâches automatiques avec Extensive automation

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.

Client lourd
Client lourd
Rapport coté serveur

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:

Un grand merci à Emmanuel pour ce retour d’expérience très intéressant.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Agilité

Vous avez dit DevOps ?

Les DevOps tel qu’il est (souvent) mal perçu On parle régulièrement de DevOps. Ce mot est devenu un mot « valise » derrière lequel on met beaucoup de choses toutes plus merveilleuses les unes que les autres. Le plus souvent ce qui est « sous-entendu » par DevOps est une chaîne d’intégration continue, une

Lire la suite »
Agilité

Comment reconnaitre une équipe agile ?

Je suis de plus en plus contacté pour des conseils sur l’agilité et plus particulièrement sur les tests et l’agilité. J’ai donc décidé de vous proposer cet article sur comment reconnaitre une équipe agile. Commençons par casser quelques stéréotypes : Une équipe est-elle forcément agile si testeur et développeur sont co-localisés ?

Lire la suite »