Nous pensons toujours à la conception logicielle, aux tests fonctionnels, au CI/CD mais savons-nous comment notre application se comportera si nous voyons une hausse soudaine de la charge de trafic ? Ou que se passera-t-il s’il y a un trafic extrême sur notre application pendant la saison de pointe des vacances, pourrons-nous éviter une panne ? Pour nous protéger de ces conditions imprévues menant à un arrêt, seuls des tests de performance agressifs et appropriés peuvent aider. L’objectif du test de performance est de mesurer la vitesse, la stabilité, la fiabilité et la scalabilité d’une application logicielle.

  • Vitesse. Déterminer la rapidité avec laquelle l’application répond.
  • Stabilité. Déterminer si l’application est stable sous des conditions de charge variables.
  • Fiabilité. Déterminer si l’application peut gérer la tolérance aux pannes et la récupération.
  • Scalabilité. Déterminer le nombre maximum d’utilisateurs simultanés que l’application peut gérer.
Tests de charge JMeter avec LoadView

De la configuration à l’exécution du test en quelques minutes seulement.

Test de performance : mettre votre application à l’épreuve

Pour nous assurer que notre application est performante et fiable face à une augmentation brutale du trafic, nous devons mettre en place un environnement proche du temps réel où notre application est soumise à une charge agressive de utilisateurs concurrents. Pour aller de l’avant, nous avons besoin d’un outil de performance capable d’exécuter les scénarios de test avec le nombre d’utilisateurs désiré et de nous aider à trouver les goulets d’étranglement dans l’infrastructure derrière l’application.

Une fois que nous avons défini nos besoins en test de performance, l’étape suivante est de trouver la bonne solution pouvant supporter nos exigences. Il existe de nombreuses solutions et outils de test de charge, allant des outils gratuits et open-source, aux options commerciales très complexes nécessitant des ressources importantes pour être mises en œuvre et utilisées. Il est toujours préférable de faire vos propres recherches pour trouver ce qui vous convient le mieux, mais trouver une solution facile d’utilisation/lancement, capable de réaliser plusieurs types de tests de charge, intégrée/supportant des technologies populaires, et fournissant tous les rapports et métriques nécessaires, sont des facteurs critiques.

Pour cet article, nous allons examiner les différences générales et basiques entre Gatling et LoadView.

 

Outils de test de performance : Gatling

Gatling est un outil de test de performance open-source. Le framework Gatling est basé sur Scala, Akka et Netty. L’outil permet aux développeurs de créer et d’exécuter des tests, et de gérer facilement leurs tests localement ou dans le cloud. Pour écrire un test avec Gatling, il faut utiliser DSL (Domain Specific Language), qui est plus ou moins équivalent à ce que proposent JMeter et Tsung. Cependant, tandis que JMeter et Tsung utilisent XML avec des balises spécifiques pour implémenter des opérations comme les boucles, Gatling permet aux utilisateurs de définir des classes Scala qui offrent une fonctionnalité similaire, mais beaucoup plus lisible.

 

Avantages de Gatling

  • Compatibilité. Il fonctionne avec presque tous les systèmes d’exploitation et navigateurs.
  • Open-source. Comme Gatling est open-source et utilise Scala avec DSL lisible par les humains, il permet aux développeurs de créer et exécuter des tests de charge plus facilement.
  • Suivi du code. La gestion de version avec Gatling permet aux équipes de suivre et réutiliser le code pour une meilleure collaboration.
  • Multithreading. La fonction multithreading, utilisant Netty et la boîte à outils Akka, garantit qu’un nouveau thread n’est pas attribué à chaque utilisateur. À la place, un seul thread simule une série de parcours utilisateur.
  • API Assertions. Permet aux développeurs d’exécuter plusieurs types de contrôles fonctionnels en parallèle avec le test.
  • Intégration avec les outils CI/CD. Une des fonctionnalités standards de Gatling est qu’il peut être intégré aux outils CI/CD, tels que Jenkins.
  • Rapports. Gatling supporte des rapports graphiques colorés et instructifs contenant des informations précieuses pour l’analyse.

 

Inconvénients de Gatling

  • Soutien de protocoles limité. Il supporte très peu de protocoles comme HTTP, WebSockets, server-sent events, et Java Message Service (JMS).
  • Intégrations. Il n’a pas ses propres intégrations de surveillance d’hôte, nous utilisons généralement des applications tierces pour le suivi.
  • Exigences matérielles. En utilisant la version gratuite, il faut disposer d’un serveur capable de générer la charge souhaitée issue des tests.

 

Outils de test de performance : LoadView

LoadView est une solution de test de performance cloud qui permet aux développeurs et ingénieurs d’exécuter des tests de charge sur leurs sites web, applications web, serveurs web, services web, etc. En utilisant EveryStep Web Recorder, les utilisateurs peuvent rapidement script des scénarios à travers nos sites et applications. Nous pouvons ensuite exécuter des tests depuis plusieurs emplacements géographiques sans matériel ou ressources supplémentaires nécessaires. Les tests de performance LoadView s’exécutent dans un cloud géré par LoadView, il suffit de déclencher ou démarrer le test en créant des scénarios test sur le site LoadView. Lorsqu’un test est lancé, des serveurs AWS géodistribués sont activés pour générer le nombre d’utilisateurs simultanés nécessaires au test de charge. Nous pouvons aussi intégrer notre scénario de test de performance LoadView avec nos outils CI/CD comme Jenkins.

 

Avantages de LoadView

  • Facilité d’utilisation. La création d’un scénario de test sur LoadView nécessite peu de détails à renseigner via le navigateur, toutes les complications internes d’exécution d’un script de test, la création des serveurs et l’hébergement des tests sont prises en charge par LoadView.
  • EveryStep Web Recorder. Le recorder web offre la fonctionnalité d’enregistrement de scénarios utilisateur dans les applications web et sites. Le recorder supporte de nombreux navigateurs de bureau et mobiles ainsi que des technologies utilisées pour créer des applications dynamiques.
  • Injecteurs de charge virtuels. Il utilise des serveurs Amazon Web Services situés dans plus de 15 zones dans le monde.
  • Distribution de la charge utilisateur. La plateforme permet de distribuer la charge en fonction de la provenance majoritaire des visiteurs.
  • Rapports. Il fournit un aperçu détaillé de plans d’exécution, transactions par minute, temps moyen de réponse et découverte des erreurs. Il permet de consulter l’historique et les détails des tests à tout moment.
  • Intégration CI/CD. Supporte l’intégration avec Jenkins.
  • Configuration proxy facile. Testez des applications internes situées derrière un pare-feu.
  • Support 24/7. Les équipes d’assistance sont disponibles 24/7 pour vos questions ou problèmes.

 

Inconvénients de LoadView

  • Non open-source. Comme LoadView est un outil commercial, des frais sont nécessaires pour exécuter des tests dans le cloud. De plus, toute modification des outils doit être faite via les canaux de support appropriés.

 

Comparaison : Gatling et LoadView

Examinons quelques-unes des principales différences entre Gatling et LoadView.

 

Aspects Gatling LoadView
Support des applications de test de charge Gatling supporte HTTP, WebSockets, et JMS. LoadView supporte des applications complexes telles que Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight, et plus.
Script d’actions utilisateur Une connaissance basique de Scala et du langage DSL est requise. Un enregistreur convivial qui aide à enregistrer des scénarios adaptés à vos besoins spécifiques.
Exécution des tests Exécutez les tests depuis votre machine ou un groupe de serveurs dédiés. Serveurs cloud entièrement gérés.
Test de charge géodistribué Nécessite la mise en place de serveurs injecteurs de charge à l’emplacement dédié pour les tests. Distribution aisée du trafic depuis les régions où se situent vos utilisateurs.
Documentation et support Gatling fournit un guide de démarrage rapide et un guide utilisateur. LoadView dispose d’une base de connaissances complète d’articles d’assistance et documentation, ainsi qu’un support 24/7 par téléphone.
Tarification Gratuit car open-source. LoadView offre plusieurs options tarifaires adaptées à vos besoins.
Intégration avec les outils CI/CD Supporte les plugins Jenkins. Supporte les plugins Jenkins.
Surveillance post-production Nécessite d’intégrer des applications tierces, Gatling ne propose pas de surveillance en temps réel. Dotcom-Monitor fournit des solutions de surveillance post-production pour les sites et applications, aidant à vérifier l’état de santé.

 

Conclusion : Outils de test de performance Gatling vs LoadView

Voici une vue d’ensemble des outils de test de performance LoadView et Gatling. Bien sûr, à mesure que nous progressons dans notre parcours pour simuler au mieux des scénarios réels, nous rencontrerons sans doute de nombreux défis et nouvelles perspectives. Gatling et LoadView remplissent chacun leur rôle en fonction des exigences et scénarios de test. Nous avons regardé brièvement chaque outil, leurs avantages et inconvénients, couvert les intégrations avec Jenkins, et ce qui distingue chaque outil de l’autre. Beaucoup d’organisations et développeurs utilisent des outils de test de charge open-source comme Gatling, mais les avantages que LoadView offre sont considérablement plus puissants et mieux adaptés aux besoins des développeurs et ingénieurs de performance.

Essayez LoadView par vous-même. Vous recevrez des tests de charge gratuits pour commencer. Ou inscrivez-vous à une démonstration en direct gratuite avec l’un de nos ingénieurs performance. Ils vous guideront à travers le processus de configuration et d’exécution des tests de charge.