[Tutorial] Variabiliser un test de charges JMeter

Voici un nouveau tutorial sur JMeter. L’objectif de ce tutorial est montrer comment il est possible de variabliser les données saisies dans un formulaire HTML. C’est-à-dire de faire en sorte qu’à chaque exécution du scénario de tir de charges, les données saisies « changent ».

La variabilisation permet de faire par exemple des tirs de charges orientés « fonctionnels ». On peut ainsi imaginer un tir de charges qui serait plutôt l’exécution de cas de tests d’une application, permettant de vérifier que un traitement fonctionnel est correct. On peut même penser à des tests de non-régressions.

Pour découvrir ce tutorial sur la variabilisation, il faut voir cette page.

Bon courage dans vos aventures JMeter.

5 réflexions au sujet de « [Tutorial] Variabiliser un test de charges JMeter »

  1. Bonjour,
    Merci pour votre travail sur JMeter qui m’est très utile.
    J’attends la suite avec impatience ….
    Je suis en train de faire une doc sur JMeter (descriptifs, différents tests possibles, ….) si cela vous intéresse ?
    Cordialement et bonne continuation.
    Delphine

  2. Salut,

    Je suis content de voir que cela aide. Je suis en train de préparer la suite qui devrait porter sur l’enregistrement des résultats d’un tir de charge et leur exploitation avec Excel ou Access avec une table pivot pour la génération de graphe facilement intégrable dans un rapport de tir.
    D’ici une semaine cela doit être en ligne…
    Oui je serais intéressé de consulter la doc, il y a une URL ?

    A bientôt,

  3. bonjour,
    Merci pour votre réponse. J’ai une question à vous poser : je n’arrive pas à faire fonctionner le listener moniteur de résultats (monitor results), avez vous une petite procédure à ce sujet ou des conseils ? vous pouvez me joindre sur mon adresse mail.
    Concernant la doc, je peux vous l’envoyer sur une adresse que vous voudrez bien me laisser.
    Cdlt
    Delphine

  4. Bonjour,

    J’ai lu avec un grand intérêt vos articles sur JMeter. Un grand merci pour la qualité de ceux-ci.

    Ayant découvert cet outil aujourd’hui, je me pose quelques questions auxquelles vous pourriez peut-être répondre, voire me donner quelques pistes :

    – Est-il possible de faire en sorte d’obtenir des valeurs aléatoires pour l’introduction de données ? Ces valeurs pourraient être récupérées d’un fichier csv ou d’une base de données, ou encore être générées complètement aléatoirement (exemple : une chaîne de caractères contenant entre x et y caractères, etc).

    – Concernant les tests de charge, est-il possible d’obtenir les résultats suivant :
    – le pourcentage de requêtes abouties (ok) et le pourcentage de requêtes échouées, et dans ce dernier cas les codes d’erreur correspondant (exemple : 404, 501, etc)
    – pourcentages de temps de réponse (par exemple : 50% des requêtes ont pris moins d’une seconde, 25% ont pris entre 1 et 3 secondes et 25% entre 3 et 10 secondes)

    Merci,

    David

  5. Hello,

    – Concernant l’injection de valeurs aléatoires pour l’introduction de données, c’est possible (je pense) en passant via l’utilisation de fonction comme javaScript http://jakarta.apache.org/jmeter/usermanual/functions.html#__javaScript ou BeanShell http://jakarta.apache.org/jmeter/usermanual/functions.html#__BeanShell
    Il faut soit utiliser le javascript pour faire appel de manière aléatoire aux données ou développer un BeanShell pour la récupération aléatoire de données
    Malheureusement, je n’ai jamais mis en oeuvre cela, mais cela pourrait être un exercice très intéressant. Je garde l’idée pour un prochain article (si cela dérange pas)

    – Concernant les résultats :
    1- Oui la aussi je pense que c’est possible, mais avec de la gymnastique avec Excel, car dans les données brutes, on a la possibilité d’avoir le résultat (TRUE/FALSE) et le code HTTP de retour (200, 304, 404, 50x, etc). Il faut soit utiliser Access/Excel avec des tableaux croisés dynamiques ou bien via des commandes de shell unix comme grep ou wc pour extraire manuellement les informations pour calculer le pourcentage (genre  » grep TRUE FICHIER_RESULTAT.csv | wc -l  » qui donne le nombre de lignes OK, puis faire la même chose avec FALSE au lieu de TRUE.
    Et ensuite un petit produit en croix pour le pourcentage
    Le même principe peut être appliqué pour les codes HTTP

    2- pour les pourcentages de temps de réponses, on peut continuer sur ces principes (Excel/Access ou commandes Unix/Linux/Cygwin), mais au lieu de faire des filtres de type « égale à » on fera des filtres successifs de type « inférieur ou égal » et « supérieur » sur le champ temps de réponses.
    Pour Unix c’est plus complexe car il faut faire un grep sur le temps de réponse, puis extraire le champs temps de réponse, puis l’évaluer mathématiquement en shell sur la borne inférieur, puis sur la borne supérieur, et si ok (genre résultat compris entre 1 et 3 secondes) le comptabiliser pour les statistiques.
    La encore un très bon exercice de programmation shell (je vais essayer de le faire ce weekend)
    Avec Excel / Access c’est plus facile à faire mais plus difficile à expliquer dans un commentaire.

    Voilà c’est un début de réponse, ne pas hésiter à me demander des compléments, sachant que je vais essayer de mettre en oeuvre ces points (sans engagement de résultats et de délais ;-)) (je suis un peu full en ce moment)

    A bientôt

Les commentaires sont fermés.