• Terry Pitz

Selenium & Neoload - L'expérience utilisateur au premier plan


Selenium est un outil d’enregistrement de scripts et un IDE permettant d’effectuer des tests unitaires et de régression. Il est aujourd’hui un standard de l’industrie lorsqu’il s’agit d’automatisation fonctionnelle.


Depuis 3 ans, Neoload dispose d’un plugin d’intégration avec la solution OpenSource Selenium.


Neotys a mis en place un wrapper comparable à un driver Selenium, permettant de convertir les scénarios de test Selenium en scénario Neoload. Ceci permet une automatisation de la maintenance des scénario de performance avant le lancement de tests de charge.


Ce driver a été conçu pour être compatible avec la conception de scénario Selenium au format Junit, et son atout est qu’il n’impacte pas l’exécution des scénarios de régression. Un testeur fonctionnel pourra dérouler ses tests de non-régression sans avoir à se soucier de Neoload.


Selenium étant développé en JavaScript, il permet d’interagir avec le DOM, et offre la possibilité de mesurer l’expérience utilisateur d’un scénario de type Web. Cette mesure de l’UX se fait au travers de la librairie fournie par W3C : navigation timing.


Quel est l’intérêt pour un outil de test de charge d’intégrer un tel produit ?


Etant donné que de plus en plus d’applications sur le marché ont des interfaces graphiques très riches permettant de déporter une partie de la logique métier, il devient difficile de mesurer l’exactitude du temps de téléchargement des requêtes client / serveur.

Il est donc nécessaire de prendre en compte le temps de traitement du javascript côté navigateur, pour fournir des temps de réponses précis.


Selenium étant un outil gourmand en terme de consommation de ressources, il n’est pas envisageable de générer 100% de la charge avec celui-ci.

La démarche préconisée est donc de générer 99% de la charge avec Neoload, et de laisser 1% des utilisateurs à Selenium, pour de meilleures mesures de l’expérience utilisateur.


On tire, on compare…


Lorsque l’on tire sur une application e-commerce, les pages sont générées et envoyées en ~400ms, alors que l’expérience utilisateurs peut monter jusqu’à 7 secondes. La cause de cette perte d’efficacité sont très souvent due aux appels réalisé par les javascript qui font des requêtes vers des Tiers.


La plupart du temps ces Tiers sont des outils de Statistiques et de marketing en ligne ainsi que des systèmes de publicité avec profiling. L’utilisateur est donc en attente de données qui lui sont rarement destinées ou même qu’il n’a pas désirée.


Une DSI peut consommer quelques centaines de jours / hommes pour optimiser son code et ainsi réduire de quelques millisecondes les temps de génération des pages tout en étant mal perçues par ses utilisateurs.


La méthode que combine Neoload et sélénium permet d’aider à identifier ce type de baisse de qualité. Il sera probablement généralisé à l’avenir.




46 vues

Posts récents

Voir tout