Soit vous avez un nouveau site web, soit vous avez développé des fonctionnalités que vos utilisateurs requièrent, comment vous assurer que votre site web fonctionne bien lorsqu’un grand nombre d’utilisateurs commencent à interagir avec lui ? La réponse est le test de charge. Le test de charge est une partie vitale des tests de performance utilisés pour déterminer le comportement d’un site web, d’une application ou d’un logiciel dans des conditions normales et de pointe. Le test de charge fournit des données utiles qui peuvent améliorer la performance de votre site web et augmenter la stabilité pour les conditions de charge prévues. Jusqu’à récemment, les tests de charge basés sur les protocoles étaient la seule méthode pour tester un site web selon les conditions de charge prévues. Alors que la technologie et l’expérience utilisateur évoluent, l’utilisation d’un vrai navigateur Chrome permet aux testeurs d’utiliser un environnement plus réaliste nécessaire pour simuler de vrais utilisateurs, et d’obtenir des résultats de test de charge plus précis. Les applications modernes reposent fortement sur le contenu dynamique et le rendu côté client, rendant les tests basés sur les navigateurs réels critiques pour mesurer avec précision l’expérience utilisateur sous charge.

Dans cet article, nous allons parler des trois approches de test de charge les plus utilisées :

  1. Test de charge basé sur navigateur (utilisation d’un navigateur Chrome régulier)
  2. Test de charge basé sur navigateur sans tête
  3. Test de charge basé sur protocole

 

Test de charge basé sur navigateur Chrome

Le test de charge basé sur navigateur simule de vrais utilisateurs en créant des instances régulières de navigateur Chrome via des générateurs de charge, et le site web testé est navigué à l’aide de scripts simples. Cela crée un environnement presque identique à celui des vrais utilisateurs dans le monde réel. Les utilisateurs virtuels dans les tests basés sur navigateur sont appelés Utilisateurs au niveau navigateur (BLU). Les scripts de test de charge basés sur navigateur contiennent des instructions relatives à la navigation et aux interactions réelles sur le site web. Par exemple, quel bouton cliquer, où naviguer, quelles informations saisir dans les champs, comment interagir avec un élément, quand interagir avec un élément, etc. Cela permet aux testeurs de simuler le parcours utilisateur le plus identique possible à un scénario réel.

 

Avantages du test de charge basé sur navigateur réel

 

Perspective utilisateur

Les utilisateurs finaux du monde réel interagissent avec le site web à l’aide de navigateurs, par exemple via un vrai navigateur Chrome. Le test de charge basé sur navigateur vous permet de tester la charge de votre site web avec un navigateur Chrome régulier et de comprendre le comportement réel des utilisateurs. Cette approche capture le comportement de rendu réel, les délais réseau, et la performance front-end que les tests basés sur protocole ne peuvent mesurer.

 

Scripts simples

Pour créer des scripts de test de charge basés sur navigateur, vous n’avez pas besoin d’une connaissance approfondie des protocoles sous-jacents. Par exemple, si vous voulez créer une action de connexion, il vous suffit d’avoir le nom d’utilisateur et le mot de passe à remplir, et quel bouton cliquer pour continuer ; vous n’avez pas besoin de connaître les détails techniques des protocoles d’authentification et autres.

 

Complexités de test réduites

Contrairement à d’autres méthodes traditionnelles de test de charge où vous devez passer des paramètres et des valeurs, les tests de charge basés sur navigateur sont faciles à créer et à lancer avec des scripts simplifiés.

 

Optimisation du front-end

Le test de charge basé sur navigateur vous permet de collecter les données réelles les plus précises, telles que les délais réseau et des requêtes, puisque vos utilisateurs interagissent également avec votre site via un navigateur régulier. Cela aide à optimiser votre front-end.

 

Maintenance faible

Des scripts simples et des tests moins complexes signifient une maintenance plus facile et plus d’agilité pour les tests de charge. Par exemple, dans notre exemple de connexion, si nous changeons le protocole d’authentification, le test de charge de connexion n’a pas besoin d’être modifié puisqu’il n’est pas affecté par cela.

 

Inconvénients du test de charge basé sur navigateur réel

 

Utilisation plus importante du CPU et de la mémoire

Le test de charge basé sur navigateur utilisant un navigateur Chrome régulier, par exemple, nécessite plus de CPU et de mémoire pour créer des instances face à une charge prévue. Cependant, cela ne devrait pas poser problème si vous utilisez une plateforme de test de charge basée sur le cloud.

 

Durée d’exécution parfois plus longue

Le test de charge basé sur navigateur implique le rendu complet de l’interface utilisateur du site dans une instance de navigateur, plutôt que l’enregistrement simple des requêtes-réponses d’API. Cela peut prendre plus de temps que d’autres approches de test de charge. Toutefois, cela est souvent compensé par la simplicité d’exécution des tests basés sur navigateur et un excellent outil de test de charge basé sur le cloud.

 

Test de charge basé sur navigateur sans tête

Le test de charge basé sur navigateur sans tête consiste à exécuter les tests de charge dans un environnement navigateur sans créer de « tête » ou interface utilisateur. Cela signifie que les tests de charge sont exécutés en créant des instances invisibles de navigateur sans interface graphique (GUI). Le test de charge basé sur navigateur sans tête évite les opérations de rendu ou de dessin car personne ne regarde les navigateurs simulés. Il vous permet de rapidement exécuter vos tests de charge dans un environnement navigateur avec moins de ressources comparé au test de charge basé sur navigateur réel. Exemples de navigateurs sans tête :

 

Headless Chrome

Le navigateur Chrome peut être lancé en mode sans tête avec la version 59 ou ultérieure. Il est léger et moins gourmand en ressources, pouvant être utilisé pour la navigation, la collecte d’informations sur les pages, la génération de PDF et la capture d’écrans.

 

Headless Firefox

Firefox propose également un mode navigateur sans tête avec la version 56 ou ultérieure. Il peut être utilisé pour des tests basiques avec des outils de test comme Selenium pour les tests sans tête et l’automatisation.

 

PhantomJS

PhantomJS est un Webkit sans tête flexible qui prend en charge de nombreuses normes web. Une API JavaScript est utilisée pour écrire les scripts de test lors de l’utilisation de PhantomJS. Il est surtout utilisé pour la navigation et les tests d’assertion.

 

Avantages du test de charge basé sur navigateur sans tête

 

Moins gourmand en ressources

Comme aucune GUI n’est rendue dans l’environnement du navigateur, le test de charge basé sur navigateur sans tête vous permet de générer plus de charge avec moins de ressources.

 

Test plus rapide dans l’environnement navigateur

Avec le test de charge basé sur navigateur sans tête, les tests s’exécutent plus rapidement et obtiennent plus vite des résultats pour corriger rapidement les problèmes potentiels.

 

Inconvénients du test basé sur navigateur

Capacités limitées de l’environnement navigateur

Bien que vous puissiez tester beaucoup de scénarios basés sur navigateur dans les tests sans tête, ce n’est pas suffisant pour avoir une image complète des utilisateurs réels qui utilisent des navigateurs réguliers comme Chrome.

 

Manque de surveillance du navigateur

Quelques scénarios de test nécessitent de voir vos tests basés sur navigateur, tels que les animations, les transitions SPA, etc., pour analyser en profondeur vos tests de charge. Les tests de charge sans tête ne disposent pas de cette capacité.

 

Test de charge basé sur protocole

Le test de charge basé sur protocole est la méthode la plus traditionnelle de test de charge en simulant le trafic au niveau HTTP/S sur les serveurs de charge. Il est principalement utilisé pour évaluer et mesurer les échanges requête-réponse pour la charge attendue sur le serveur. Le test de charge basé sur protocole est une forme minimale de test de charge, qui seul n’est pas adapté aux applications web complexes centrées sur l’expérience utilisateur.

 

Avantages du test de charge basé sur protocole

Moins gourmand en ressources

Le test de charge basé sur protocole consiste uniquement à générer du trafic requête-réponse HTTP/S, ce qui permet de générer une charge très élevée avec des ressources minimales.

 

Exécution plus rapide

Puisqu’il s’agit uniquement de trafic HTTP/S à analyser pour les mesures au niveau protocole les tests basés sur protocole offrent une exécution plus rapide pour des charges prévues importantes.

 

Inconvénients du test de charge basé sur protocole

 

Tests complexes

Le scripting basé sur protocole nécessite une compréhension approfondie des différents protocoles utilisés au niveau HTTP/S, comme le protocole Oauth pour la connexion. Cela rend la création de scripts de test complexe et chronophage.

 

Environnement le moins réaliste

Contrairement aux environnements réels où les utilisateurs accèdent à votre site via un navigateur classique comme Chrome, le test de charge basé sur protocole n’offre pas de telles capacités. Ce n’est pas le choix adapté aux sites web axés sur la perspective utilisateur.

 

Manque de capacités pour les sites modernes

Les sites modernes ont des architectures plus complexes avec un usage intensif de JavaScript côté navigateur et d’appels AJAX, par exemple, ce qui rend le test de charge basé sur protocole limité dans de nombreux scénarios de test.

 

LoadView pour le test de charge basé sur navigateur

Sur la base de ce que nous avons discuté jusqu’ici, il est évident que le test de charge basé sur navigateur est la prochaine évolution des approches de test de charge. Les sites web et technologies actuels se concentrent sur des expériences utilisateur riches et reposent fortement sur l’interprétation et le rendu côté navigateur plutôt que côté serveur. Les applications monopage (SPAs) sont maintenant largement utilisées avec des frameworks populaires qui utilisent des frameworks JavaScript côté client et des appels AJAX, avec peu ou pas de rafraîchissement de page pour mettre à jour l’interface.

LoadView propose un test de charge basé sur le cloud en utilisant de vrais navigateurs comme Chrome pour créer l’environnement le plus réaliste pour vos scénarios de test de charge. Avec LoadView, vous pouvez créer facilement des scripts pour différentes actions et comportements utilisateurs et lancer vos tests en quelques clics.

 

Ce que vous pouvez tester avec LoadView

  1. Sites web
  2. Applications monopage (SPAs)
  3. Services/API tiers
  4. Sites riches en médias tels que les services de streaming

 

Avantages et bénéfices de LoadView pour un test de charge basé sur navigateur réel

  1. Créez facilement des scripts de test sans écrire une seule ligne de code grâce à EveryStep Web Recorder pour tester la charge de toutes vos pages.
  2. Plus de 40 navigateurs desktop/mobile réels vous permettant de tester vos pages web sur presque n’importe quel appareil.
  3. Le test de charge géodistribué vous permet de tester des utilisateurs depuis plusieurs emplacements pour des résultats plus précis dans des scénarios réels.
  4. LoadView est compatible DevOps et offre plusieurs courbes de test pour mesurer la performance et optimiser l’application web.

 

Conclusion : Avantages du test de charge basé sur navigateur réel

Le test de charge basé sur navigateur est une nécessité pour les sites web construits sur des frameworks modernes et avec du contenu riche en médias. Le test de charge en utilisant de vrais navigateurs comme Chrome, qui détient plus de 65% de part de marché, vous fournit de nombreux résultats de performance pour optimiser rapidement votre site. Cependant, vous ne devriez pas vous limiter à Chrome pour les tests de charge ou à un seul appareil. Avoir la capacité de tester votre site sur presque tous les navigateurs ou appareils depuis plusieurs régions géographiques vous offrira une vision complète de vos tests pour analyser et optimiser votre site selon la charge attendue.

Essayez LoadView dès aujourd’hui. Recevez des tests de charge gratuits pour commencer vos tests basés sur navigateur Chrome.