Gatling est très facile d’utilisation et son langage est très intuitif. Une simple connaissance de Java suffit pour s'en servir.
Gatling permet de réaliser des scénarios (appels de différentes fonctions dans un ordre et avec des données précises). Ainsi, il est possible de simuler le parcours d’un utilisateur qui va envoyer différentes requêtes dans un certain ordre. C’est une fonctionnalité basique pour un tel outil (SoapUI et Postman le font également), bien qu' importante.
A mon sens, le point le plus fort de Gatling tient en deux choses : la randomization des appels (dont nous venons de voir l’importance) et l’usage de données extraites d’un fichier en paramètre.
En une seule ligne de code, vous pouvez extraire les données d’un fichier type csv (Excel) et piocher aléatoirement une ligne de données qui sera utilisée pour votre requête.
Ainsi, si vous fournissez à Gatling plusieurs fichiers différents (cinq par exemple) et que l’un d’eux possède un nombre suffisant de données, vous allez pouvoir construire facilement 10 000 requêtes différentes qui appelleront pourtant la même fonction (endpoint).
Dernier point à noter : Gatling permet de jouer plusieurs scénarios en parallèle. En effet, il est peu probable que tous les utilisateurs fassent en même temps le même type de « parcours ». Pour mieux coller à la réalité, il est donc important de pouvoir simuler plusieurs utilisateurs faisant des choses totalement différentes les uns des autres.
D’un point de vue un peu plus « DevOps » et un peu moins « écriture de tests » voici ce que l’on peut retenir de Gatling :
Gatling est facile à installer sur un serveur. Il existe même des versions de Gatling FrontLine en achat direct depuis le MarketPlace AWS sans contrainte d'installation. En outre, il permet de réaliser des ouvertures/fermetures de connexions, ce qui n’est pas souvent le cas de ces outils qui cachent la partie réseau.
Nous avons parlé de tout le processus permettant de mettre en place les tests, alors, que ce passe-t-il une fois que nous avons finalement lancé les tests ?
Vous obtenez un tableau de bord fort sympathique avec tout un tas de graphiques que vous allez pouvoir analyser :