Créer des scénarios de test de charge avec JMeter
Un test de montée en charge des applications WEB consiste à solliciter un site Internet en lui appliquant un certain nombre de requêtes automatisées appelés scénarios de test de charge .
Cela permet d’observer le comportement de l’application WEB au delà de l’audience normale.
Pour réaliser des tests de charge, il existe un outil Open Source et gratuit : JMeter.
Voici quelques astuces vous permettant de créer facilement des scénarios de test de charge avec JMeter.
Le proxy HTTP pour créer vos scénarios de test de charge
Un proxy HTTP est inclus dans l’outil JMeter et permet de simplifier l’écriture des scénarios de test de charge avec JMeter. En effet, c’est un proxy un peu spécial qui est capable d’enregistrer toutes les requêtes qui passent par lui et qui les ajoute au scénario en cours d’édition.
Le principe est très simple :
- configuration et lancement du proxy HTTP dans JMeter
- configuration du navigateur Web pour utiliser ce proxy HTTP
- déroulement d’une suite d’actions sur le site Web pour lequel on souhaite réaliser le test de charge
- récupération et utilisation des éléments qui ont été ajoutés au scénario en cours
Ce proxy écoute par défaut sur le port 8080 sur la machine locale et intercepte à la volée les URLs, les en-têtes HTTP, les paramètres POST et GET, etc.
Pour ajouter ce proxy à un scénario en cours d’élaboration, il faut réaliser les actions suivantes :
- Cliquer-droit sur Plan de travail > Ajouter > Eléments hors test > Enregistreur script de test HTTP(S)
- Configurer le port d’écoute (8080 par défaut)
- Ajouter des motifs d’URL à inclure (par défaut tout est capturé)
- Ajouter des motifs d’URL à exclure (par défaut rien n’est exclu)
- Cliquer sur Lancer
Les sources de données
Les sources de données permettent de disposer d’un jeu de données à utiliser dans les scénarios. Il peut s’agir d’un jeu de couples login/password qui serviront à se connecter à l’application pour simuler une utilisation multi-utilisateurs, de données brutes à injecter dans des formulaires, etc.
Ces données peuvent provenir de fichiers CSV ou d’une base de données.
Il est ensuite possible de d’utiliser ces données de manière itérative ou aléatoire.
Pour ajouter une source de données à un scénario, il faut réaliser les actions suivantes :
- Cliquer-droit sur Plan de test > Ajouter > Configurations > Source de données CSV
- Renseigner le nom de fichier CSV contenant les données à utiliser (ex.: LOGIN, PASSWORD)
- Définir un nom de variable correspondant à chaque colonne du fichier CSV
- Indiquer le délimiteur de colonnes du fichier CSV
- Utiliser les variables dans des échantillons (ex.: ${LOGIN} ou ${PASSWORD})
Les compteurs de temps
Les compteurs de temps permettent d’insérer des pauses entre deux échantillons d’un scénario. Cela permet de simuler au mieux le comportement réel d’un utilisateur et éviter de dérouler le scénario à tout allure.
Il en existe de plusieurs types, notamment des compteurs de temps fixe (durée prédéterminée) et des compteurs de temps aléatoire (durée aléatoire paramétrable).
Par exemple, pour mettre en place une pause de durée aléatoire, il faut réaliser les actions suivantes :
- Cliquer-droit sur Plan de test > Ajouter > Echantillons > Action test
- Cliquer-droit sur l’élément Action test que l’on vient de créer > Ajouter > Compteur de temps aléatoire uniforme
- Configurer le Délai de décalage constant (durée arbitraire)
- Configurer la Déviation aléatoire maximum (durée aléatoire maximum venant s’appliquer en plus ou en moins par rapport au délai constant paramétré au dessus)
Se perfectionner dans la créations de scénarios de tests de charge
- Notre offre de service autour des tests de charge
- Notre offre de formation Linux
- Notre offre de formation test de montée en charge avec JMeter
- Le site officiel de JMeter : http://jmeter.apache.org/
Risa Dicecco
Merci pour cet article.
Elsa Ba.
Les informations ici présentes sont relativement pertinentes et intéressantes. J’ai beaucoup aimé, cet article est vraiment bien ficelé et cela nous permet d’y comprendre un peu plus car le sujet est moins évident qu’il n’y semble.
Elsa Bastien
Johnk608
Some really quality content on this website , saved to fav.
Sophie Bureau
Bonjour, je recherche un candidat qui détient les compétences dans les plans scénairos de test. Où me conseillez-vous d’afficher mon poste?
Cas client : sécurisation et infogérance des serveurs web - Blog Syloé
[…] des applications web: par des tests de charge avec scénarios de navigations […]
Cas Client : Optimiser l'architecture technique de son SI - Blog Syloé
[…] résultats de cette intervention réalisée par Syloé ont été mesurés par un test de charge avec des scénarios de navigation sur mesure permettant d’évaluer les performances du couple […]