L’outil Gauge pour l’automatisation de tests

Jeremie Fleurant
3 min readJul 29, 2020

--

Gauge est un outil pour mettre en place des tests automatisés de manière simple et rapide. Il est gratuit, open-source et léger. Il peut être utilisé dans plusieurs langages de programmation.

L’écriture des scénarios de tests est dans un langage personnel qui va pouvoir être compréhensible par l’équipe de test (et au-delà). Le travail technique de développement se fait dans la traduction de ce langage personnel en un langage informatique (Python, Java, etc.).

Des scénarios de tests clairs

Un scénario de test n’est pas une page de code. C’est simplement un titre, et une suite de phrases qui sont des étapes de tests. Il est possible d’écrire ses étapes comme on pourrait le faire dans un outil de test management, en français :

## demo Google
* Accéder à Google
* Faire une recherche pour : "getgauge/gauge-python example"
* Aller sur le 1er lien de la recherche
* Vérifier qu'on est sur le site du projet github

L’intérêt se trouve alors sur l’écriture des tests : Il est beaucoup plus facile d’écrire un test avec des mots, qui forment des phrases compréhensibles, que d’écrire des lignes de codes, qui forment des méthodes, ou des classes.

L’intérêt se trouve aussi sur la lecture des tests, et par là la maintenance de ces derniers : il sera plus facile et rapide de comprendre le déroulé du test si les étapes sont des phrases compréhensibles, on voit le but du test, on peut le rejouer, ou le faire évoluer. On n’a surtout pas besoin des mêmes compétences pour ce travail s’il n’y a pas de “code” dans les tests.

Une utilisation sur différents type de projets d’automatisation

Gauge peut être utilisé sur des projets d’automatisation de tests fonctionnels d’applications web où on va vouloir utiliser Selenium pour reproduire des actions utilisateurs. Il peut être aussi choisi pour d’autres projets d’automatisation, comme des tests plus techniques d’échanges entre Web Services ou API :

## Echange API
* Charger le json de la requête
* Modifier la valeur de "num_tel" par "0602030405"
* Envoyer la requête
* Vérifier le code retour "200"
* Vérifier dans la réponse json que la valeur de "code" est "200"

On a ainsi besoin de connaître moins d’outils pour les différents projets (tel que Selenium, SOAPUI p. ex.) ; et on est déjà familiarisé avec l’outil, son fonctionnement et la lecture de ses résultats.

Adapté à l’agilité

Les tests sont écrits clairement, ils sont aussi facilement maintenables. On peut ainsi agir rapidement en s’adaptant aux évolutions sur le produit à tester, en proposant toujours des résultats.

Un avantage d’avoir des tests qui s’écrivent avec des phrases et non des lignes de codes, c’est les personnes qui peuvent intervenir sur le projet. Dès lors que les scénarios de tests ne demandent plus de compétences techniques pour les comprendre ou écrire, on peut faire intervenir différents profils sur le projet.

S’il faut toujours un profil technique pour l’interprétation des phrases en code, un profil fonctionnel peut suffire pour écrire les tests, et suivre les résultats d’exécution, ce qui est un point fort dans les plus petites équipes.

De plus, l’outil se porte bien à une automatisation des exécutions et du reporting par un orchestrateur (p. ex. Jenkins) notamment pour du DevOps. Les résultats d’exécutions peuvent être liés à l’outil de Test Management de l’équipe pour une intégration complète.

--

--

Jeremie Fleurant

QA Engineer. Writing about test automation, mostly. Exaprint.fr. All opinions are my own.