Outils de test

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 *

Bug

Priorité vs criticité

Ces 2 concepts sont souvent confondus. Il existe néanmoins des différences importantes entre ces 2 notions. Lorsque l’on découvre un bug et que l’on créé ce dernier il existe généralement 2 champs qui sont les champs Criticité et Priorité. La criticité propose 3 ou 4 champs. J’utilise généralement mineur, majeur

Lire la suite »
test

Le test : les idées reçues

Introduction : Comme beaucoup de métiers, le métier du test véhicule de nombreux clichés. Faisons un tour d’une partie de ceux-ci et analysons-les ensemble. Les idées reçues : 1.   Les tests ça coûte cher ·        OUI et NON. En effet mettre en place de process de test coûte de l’argent. Par contre ces process

Lire la suite »
Indicateurs

Les dérives des indicateurs… par l’exemple!

Lorsque j’anime des ateliers ou des conférences sur les indicateurs je reviens régulièrement sur la loi de Goodhart: « lorsqu’une mesure devient un objectif, elle cesse d’être une bonne mesure ». Cette loi très simple rappelle que les indicateurs ne sont qu’une mesure, qu’il faut être capable de les analyser mais également

Lire la suite »