SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Développer un plan de test avec JMeter

             par Gomes Rodrigues (arodrigues.developpez.com)


                              Date de publication : 30 mars 2011

                                    Dernière mise à jour :




Suite à l'article sur comment créer un plan de tests réaliste, regardons comment mettre
en application ces conseils avec Apache JMeter.
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


1 - Introduction.............................................................................................................................................................3
2 - Présentation de JMeter..........................................................................................................................................3
3 - Fonctionnement de JMeter.................................................................................................................................... 3
    3-1 - Test plan........................................................................................................................................................ 4
    3-2 - Workbench.....................................................................................................................................................4
    3-3 - Description des éléments JMeter..................................................................................................................4
        3-3-1 - Thread group........................................................................................................................................ 4
        3-3-2 - Sampler................................................................................................................................................. 5
        3-3-3 - Listeners................................................................................................................................................6
        3-3-4 - Logic controller......................................................................................................................................7
        3-3-5 - Config Element..................................................................................................................................... 8
        3-3-6 - Post Processeurs..................................................................................................................................9
        3-3-7 - Préprocesseurs................................................................................................................................... 10
        3-3-8 - Assertions............................................................................................................................................10
        3-3-9 - Timers................................................................................................................................................. 10
        3-3-10 - Plugin JMeter.................................................................................................................................... 11
           3-3-10-1 - PerfMon.................................................................................................................................... 11
           3-3-10-2 - Stepping Thread Group............................................................................................................11
    3-4 - Ordre d'exécution des éléments................................................................................................................. 12
4 - Processus de création d'un plan de test............................................................................................................. 12
    4-1 - Création des scénarios................................................................................................................................12
        4-1-1 - Définition du scénario......................................................................................................................... 12
        4-1-2 - Enregistrer/scripter.............................................................................................................................. 12
        4-1-3 - Variabiliser...........................................................................................................................................13
        4-1-4 - Exécuter.............................................................................................................................................. 13
    4-2 - Création du plan de test............................................................................................................................. 13
5 - Conception d'un scénario de test........................................................................................................................ 13
    5-1 - Structure du scénario.................................................................................................................................. 13
        5-1-1 - Paramétrage des propriétés par défaut..............................................................................................14
           5-1-1-1 - Configuration du serveur cible................................................................................................... 14
           5-1-1-2 - Gestion des cookies...................................................................................................................15
           5-1-1-3 - Gestion du cache....................................................................................................................... 16
           5-1-1-4 - Gestion des en-têtes HTTP....................................................................................................... 17
        5-1-2 - Découper en action.............................................................................................................................21
        5-1-3 - Temps de réflexion..............................................................................................................................23
        5-1-4 - Pacing................................................................................................................................................. 26
    5-2 - Création du scénario................................................................................................................................... 27
        5-2-1 - Utilisation de l'enregistreur de requêtes............................................................................................. 27
    5-3 - Variabilisation des données.........................................................................................................................32
        5-3-1 - Variable d'un fichier CVS....................................................................................................................33
        5-3-2 - Expressions régulières........................................................................................................................35
    5-4 - Ajout des points de contrôle....................................................................................................................... 36
    5-5 - Test de fichiers téléchargés........................................................................................................................ 37
    5-6 - Débogage.................................................................................................................................................... 37
6 - Création du plan de test...................................................................................................................................... 40
7 - Exécution du test................................................................................................................................................. 41
    7-1 - Baseline....................................................................................................................................................... 41
    7-2 - Désactivation de l'IHM.................................................................................................................................41
    7-3 - Test de charge distribué..............................................................................................................................42
8 - Lire les résultats...................................................................................................................................................42
9 - Conclusion............................................................................................................................................................42
10 - Remerciements.................................................................................................................................................. 42
11 - Références......................................................................................................................................................... 42




                                                                     -2-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                                     http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



    1 - Introduction

Maintenant que nous savons comment créer des plans de tests de charge réalistes, regardons comment le faire
avec l'outil JMeter.

Nous allons nous concentrer sur le test d'une application web.

    2 - Présentation de JMeter

Apache JMeter est un outil gratuit de test de charges permettant :

•       de tester les performances d'une application en simulant des utilisateurs ;
•       d'enregistrer les temps de réponse.

Pour cela il peut utiliser différents protocoles (HTTP, SOAP, LDAP, FTP...) afin de tester différents types d'applications
(base de données, Webservice, application Web...).

Dans le cas des applications Web, JMeter possède un élément Proxy permettant d'enregistrer automatiquement le
scénario afin de gagner du temps et de permettre son utilisation à un large public.

Tout cela en fait un outil assez complet.

Pour ceux qui sont habitués à des outils commerciaux (HP Mercury LoadRunner, MicroFocus SilkPerformer ou Neotys
Neoload), JMeter demande un peu plus d'efforts et surtout le reporting et le monitoring y sont quasiment absents.

    3 - Fonctionnement de JMeter

Lorsqu'on lance JMeter, on se retrouve avec cet écran.




On remarque qu'on a deux espaces de travail : Test plan et Workbench. Sur chacun, on peut ajouter des éléments
afin de construire notre plan de test.




                                                                     -3-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Puis on ajoute des éléments/items qui vont composer nos scénarios.

 3-1 - Test plan

C'est l'espace de travail où on va mettre les éléments qui constituent notre plan de test.

 3-2 - Workbench

C'est un espace de travail temporaire.

Attention il n'est pas sauvegardé.

 3-3 - Description des éléments JMeter

Voilà une liste non exhaustive des éléments JMeter.

La  liste complète    des                éléments          se      trouve        sur      http://jakarta.apache.org/jmeter/usermanual/
component_reference.html

 3-3-1 - Thread group

C'est l'élément de base pour un scénario.




C'est ici qu'on configurera le nombre d'utilisateurs et d'itérations et la durée du ramp up (durée de montée en charge).




                                                                     -4-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 3-3-2 - Sampler

Permet de définir le type de requête échangé avec le serveur (HTTP, FTP, JDBC...) et de les émettre.




                                                                     -5-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 3-3-3 - Listeners

Permet de récupérer et d'afficher les résultats des tests (par exemple : fichiers, graphes).




                                                                     -6-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 3-3-4 - Logic controller

Permet de choisir l'ordre d'exécution des Samplers (par exemple : aléatoire, boucle, conditionnel).




                                                                     -7-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 3-3-5 - Config Element

Paramétrage des propriétés par défaut pour les requêtes HTTP, requêtes FTP, requêtes LDAP...

Il permet aussi de définir des variables et des jeux de données.




                                                                     -8-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 3-3-6 - Post Processeurs

Permet d'effectuer des traitements après l'exécution d'une requête (ou plusieurs).




En particulier on peut utiliser pour extraire des données des résultats, des expressions régulières avec le « Regular
Expression Extractor » qui utilise la syntaxe de Apache Jakarta ORO.


                                                                     -9-
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 3-3-7 - Préprocesseurs

Permet d'effectuer des prétraitements avant la requête, utile pour la préparation de données.




 3-3-8 - Assertions

Permet de contrôler les réponses du serveur (par exemple : temps de réponse, la réponse contient-elle une chaîne
de caractères, taille, XML valide).




 3-3-9 - Timers

Permet d'ajouter des temps de pause entre chaque action (par exemple : temps constant, temps aléatoire).

Il faut faire attention à :


                                                                     - 10 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


•      ils doivent être placés en tant qu'enfant d'une requête pour que la pause soit exécutée avant l'exécution de la
       requête ;
•      s'ils sont au niveau du Thread Group, ils s'appliqueront pour chaque requête.




Plus d'informations sur

http://blog.milamberspace.net/index.php/2009/02/08/jmeter-think-time-et-ordre-dexecution-les-bons-
plans-212.html

    3-3-10 - Plugin JMeter

Afin de ne pas être limité par l'installation de base de JMeter, nous pouvons utiliser les plugins qui se trouvent à
l'adresse http://code.google.com/p/jmeter-plugins/.

Cela permettra aussi à ceux qui sont habitués à HP Loadrunner de s'y retrouver plus facilement.

    3-3-10-1 - PerfMon

Il est important de superviser les serveurs cibles et les injecteurs. Pour cela on peut utiliser le plugin PerfMon.

Ce plugin permet de superviser :

•      l'utilisation du CPU ;
•      l'utilisation de la mémoire ;
•      l'utilisation du swap ;
•      le nombre d'accès disque ;
•      l'activité du réseau.

    3-3-10-2 - Stepping Thread Group

Permet d'affiner la configuration du ramp up à la manière de HP Loadrunner.

Plus d'informations sur http://code.google.com/p/jmeter-plugins/wiki/SteppingThreadGroup




                                                                     - 11 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 3-4 - Ordre d'exécution des éléments

Il faut faire attention à l'ordre d'exécution.

Plus d'informations sur http://jakarta.apache.org/jmeter/usermanual/test_plan.html#executionorder

 4 - Processus de création d'un plan de test

Le plus simple pour la création d'un test avec JMeter est la façon décrite ci-dessous.

 4-1 - Création des scénarios

Dans un premier temps, il faut créer les scénarios.

 4-1-1 - Définition du scénario

Pour plus d'informations ici.

 4-1-2 - Enregistrer/scripter

La méthode la plus simple pour obtenir un script est d'utiliser le proxy de JMeter pour enregistrer les requêtes
effectuées entre le navigateur et le serveur.




                                                                     - 12 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 4-1-3 - Variabiliser

Afin de rendre le scénario plus réaliste, ajouter des éléments non enregistrés par le proxy, éviter les effets de cache et
d'ajouter la corrélation entre chaque actions/écrans, il faut utiliser un certain nombre d'éléments de JMeter (Timers,
Pre processor...).

 4-1-4 - Exécuter

Une fois cela fait, il faut vérifier que le scénario est valide. Pour cela il suffit de l'exécuter une fois avec un seul
utilisateur.




 4-2 - Création du plan de test

Une fois tous les scénarios réalisés, il faut les regrouper dans un ou plusieurs plans de test.

 5 - Conception d'un scénario de test

Avant de commencer tête baissée à scripter les scénarios il est important de prendre son temps afin de bien les
choisir. En effet en fonction des scénarios de test, on peut obtenir de mauvaises performances avec n'importe quelle
application en simulant un usage irréaliste ou au contraire avoir des performances acceptables. De même on peut se
retrouver avec énormément de tests afin d'être le plus réaliste possible et donc afin de limiter ce problème, pensez
à la loi de Pareto afin de faire le tri.

Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/

 5-1 - Structure du scénario

Afin de faciliter la lecture des résultats et du scénario, il est conseillé de structurer ses scénarios.

                                                                     - 13 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


Voilà une des solutions possibles.

 5-1-1 - Paramétrage des propriétés par défaut

Dans un premier temps on va ajouter des éléments « Config Element » afin de définir un certain nombre de propriétés
par défaut.

 5-1-1-1 - Configuration du serveur cible

Pour variabiliser le nom du serveur web, son port... il suffit d'ajouter un élément « HTTP Request Default » et de
mettre les bonnes valeurs.

Le mettre en fils de « Test plan » ou « Thread Group » pour qu'il s'applique à l'ensemble des requêtes.

Cela permet de changer facilement le serveur qu'on teste (passage d'un serveur de développement à un serveur
de test).




                                                                     - 14 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




    5-1-1-2 - Gestion des cookies

De même en ajoutant l'élément « HTTP Cookie Manager », on activera la gestion des cookies.

Ne pas oublier de :

•      cocher « Nettoyer les cookies à chaque itération » afin d'effacer les cookies entre chaque itération ;
•      positionner Cookie Policy à compatibility pour la majorité des cas ;
•      le mettre en fils de « Test plan » ou « Thread Group » pour qu'il s'applique à l'ensemble des requêtes.




                                                                     - 15 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 5-1-1-3 - Gestion du cache

De même en ajoutant l'élément « HTTP Cache Manager », on activera la gestion du cache afin de simuler le
comportement d'un navigateur Web en matière de cache.




                                                                     - 16 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 5-1-1-4 - Gestion des en-têtes HTTP

Afin de paramétrer les en-têtes HTTP des requêtes envoyées, on peut ajouter un « HTTP Header Manager »




                                                                     - 17 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




                                                                     - 18 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Cela permet par exemple de simuler un navigateur particulier en paramétrant le User-Agent.

Par exemple pour IE.




                                                                     - 19 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Pour Firefox.




Afin d'aider à trouver les bons paramètres et leurs valeurs, on peut utiliser le proxy de la manière suivante.

Activer « capture HTTP header » dans le « HTTP Proxy Server ».




                                                                     - 20 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Lors de l'enregistrement, on se retrouvera avec les informations nécessaires.




 5-1-2 - Découper en action

Dans un premier temps nous allons découper le scénario en transactions/actions à l'aide de « Transaction controller »




                                                                     - 21 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Notre scénario ressemblera à :

Thread group

   Transaction controller 1

      HTTP Request 1

      HTTP Request 2

      ...

      HTTP Request N

   Transaction controller 2

      HTTP Request 1

      HTTP Request 2


                                                                     - 22 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


         ...

         HTTP Request N

   ...

   Transaction controller N

         HTTP Request 1

         HTTP Request 2

         ...

         HTTP Request N



Cela nous permettra d'avoir des KPI pour chaque transaction définie et ainsi faciliter la lecture des résultats.

 5-1-3 - Temps de réflexion

Afin d'être le plus réaliste possible, on va utiliser un temps variable.




                                                                     - 23 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/#LV-D

On peut capturer le temps de réflexion de l'utilisateur lors de l'enregistrement du script.

Pour cela il faut ajouter un élément « Uniform Random Timer » au « HTTP Proxy Server ».




                                                                     - 24 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Puis dans le champ « Constant Delay Offset » mettre ${T}.




A la fin de l'enregistrement, on peut voir que des éléments « Uniform Random Timer » ont été créés avec la bonne
valeur.




                                                                     - 25 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 5-1-4 - Pacing

Plus d'information sur comment fixer la durée de répétition d'une requête sur

                                                                     - 26 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


http://blog.milamberspace.net/index.php/2008/08/15/jmeter-fixer-la-duree-de-repetition-dune-
requete-87.html

 5-2 - Création du scénario

Maintenant que nous avons tous les éléments, on peut passer à l'utilisation de l'enregistreur de requêtes par le proxy
pour enregistrer le scénario.

Il faut faire attention au fait que le proxy va enregistrer toutes les communications sortantes/entrantes du navigateur
Web et que donc il est important de désactiver tous les plugins/... afin de ne pas enregistrer de requêtes parasites.

 5-2-1 - Utilisation de l'enregistreur de requêtes

Pour cela, il faut commencer par ajouter l'élément « HTTP Proxy Server »

Clic droit sur Workbench et Add -> Non Test Elements -> HTTP Proxy Server




                                                                     - 27 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


Sur cet écran il faut bien noter les paramètres du proxy car on les utilisera dans la suite pour configurer notre
navigateur Web pour l'enregistrement du scénario.
Cocher le paramètre Add Assertions si on veut générer un élément Asssertions automatiquement.




Maintenant on va créer pour chaque action du scénario un « Transaction Controller » (on va prendre comme exemple,
la recherche d'un mot-clé sur Google).



                                                                     - 28 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


Clic droit sur HTTP Proxy Server et Add -> Logic Controller -> Transaction Controller




Les renommer.




Modifier dans « HTTP Proxy Server » l'option « Target Controller » pour qu'elle pointe sur « Transaction Controller »
nommé Accueil.



                                                                     - 29 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Voila on est prêt à enregistrer le scénario, pour cela il faut :

•     démarrer le proxy (bouton start dans l'élément HTTP Proxy Server) ;
•     configurer votre navigateur web pour qu'il utilise ce proxy (on peut utiliser le plugin foxyproxy pour Firefox) ;
•     configurer votre navigateur web pour qu'il n'utilise pas son cache (pensez à le vider avant) ;
•     reproduire le scénario à l'aide du navigateur web ;
•     arrêter le proxy une fois la capture du scénario fini.

Ne pas oublier de faire pointer le navigateur sur le proxy.

Par exemple sous IE.




                                                                     - 30 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Comme on peut le voir dans JMeter, de nouveaux sous-items sont apparus.




                                                                     - 31 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




    5-3 - Variabilisation des données

Pour rendre le scénario plus réaliste et faire attention à la gestion du cache, il faut variabiliser un certain nombre
de choses comme :

•      l'identifiant et le mot de passe des utilisateurs ;
•      les entrées utilisateurs dans les formulaires ;
•      la sélection d'un lien ;
•      etc.

Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/
#LV-A, http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/#LV-B et http://
blog.milamberspace.net/index.php/jmeter-pages/jmeter-variabilisation-de-donnees




                                                                     - 32 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 5-3-1 - Variable d'un fichier CVS

Un choix simple et pertinent est d'utiliser un fichier CSV en entrée à l'aide de l'élément « Config Element->CSV Data
Set Config ».




Les variables récupérées pourront être utilisées dans le reste du plan de test en utilisant la syntaxe suivante ${nom
de la variable}




                                                                     - 33 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Par exemple pour une recherche Google.




                                                                     - 34 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Il est possible d'utiliser Benerator pour générer ce fichier CSV.

 5-3-2 - Expressions régulières

L'utilisation des expressions régulières nous permettra de corréler des actions/écran entre eux.

Par exemple pour récupérer la session id d'un utilisateur, choisir un objet dans une liste...

Plus d'informations sur http://blog.milamberspace.net/index.php/2009/12/31/quelques-cas-dutilisation-de-
lextracteur-dexpression-reguliere-dans-jmeter-554.html.




                                                                     - 35 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 5-4 - Ajout des points de contrôle

Afin de vérifier la réponse du serveur à la requête envoyée, il peut être utile d'ajouter des Assertions (au moins
pendant la phase de création des scénarios).

Afin d'avoir un élément Assertion automatiquement créé pour chaque action lors de l'enregistrement du scénario, on
peut cocher le paramètre « Add Assertions » dans l'élément « HTTP Proxy Server ».




Puis il suffit de compléter avec le test voulu.




                                                                     - 36 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 5-5 - Test de fichiers téléchargés

Il est possible de tester les fichiers téléchargés à l'aide d'API Java.

Pour les PDF il y a PDFBox : http://theworkaholic.blogspot.com/2010/03/asserting-pdfs.html

Pour les fichiers Microsoft Office il y a Apache POI : http://theworkaholic.blogspot.com/2010/03/asserting-ms-
office-formats.html

 5-6 - Débogage

Afin de faciliter le débogage du script, on peut utiliser un « View Results Tree ».


                                                                     - 37 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)


Pour cela, clic droit sur Workbench et Add -> Listener -> View Results Tree




Ce qui nous permettra d'avoir dans l'onglet « Sampler Result » et « Response data », la réponse du serveur.




                                                                     - 38 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




                                                                     - 39 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




 6 - Création du plan de test

Maintenant que nous avons un scénario de prêt, nous pouvons créer un plan de test.

Pour cela il faut ajouter dans « Test Plan », un « Thread Group ».

Clic droit sur Test Plan -> Add -> Thread Group


                                                                     - 40 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)




Puis il faut configurer le nombre d'utilisateurs et d'itérations et la durée du ramp up.

Faire de même avec les autres scénarios qui font partie du plan de test.

    7 - Exécution du test

Maintenant que nous avons un plan de test de prêt, on peut lancer les tests.

    7-1 - Baseline

Dans un premier temps il faut exécuter le test avec un seul utilisateur afin de :

•      tester que l'application n'a pas de problèmes de performance avec seulement un utilisateur car dans ce cas,
       lancer la campagne de test ne sert à rien ;
•      créer un baseline qui nous permettra d'avoir des KPI de référence.

    7-2 - Désactivation de l'IHM

Pour des gros tests il faut faire attention à :

•      désactiver les listeners coûteux et ne garder que Summary Listener, Graph Listener, et Spline Listener ;
•      limiter le nombre de listeners ;
•      désactiver le mode graphique avec l'option non-gui ;
•      générer un fichier CSV .jtl ou XML.

Plus d'informations sur http://blog.milamberspace.net/index.php/2009/02/01/jmeter-pourquoi-executer-
son-test-de-charges-en-mode-non-gui-sans-interface-graphique-192.html et http://blog.milamberspace.net/
index.php/2009/11/15/envoyer-en-ligne-de-commande-des-parametres-a-votre-scenario-jmeter-534.html et
http://blog.milamberspace.net/index.php/jmeter-pages/jmeter-test-de-charges-a-distance-distributed-
testing.

Pour suivre ce qui se passe lorsqu'on est en mode non-gui.

http://blog.milamberspace.net/index.php/2009/02/01/jmeter-suivre-un-tir-de-charge-en-mode-non-gui-avec-
le-resume-statistique-200.html


                                                                     - 41 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com)



 7-3 - Test de charge distribué

Si un seul injecteur ne suffit pas, faire un test de charge distribué (remote testing) sur plusieurs injecteurs afin de
répartir la charge de test.

Plus d'information sur http://jakarta.apache.org/jmeter/usermanual/remote-test.html

 8 - Lire les résultats

Comme vous pouvez le constater, la partie reporting de JMeter n'est pas ce qui se fait de mieux.

La méthode la plus simple est de sauvegarder les résultats en CSV afin de les traiter avec un autre outil (Excel, outils
de statistiques, outils BI...).

Par exemple avec OpenOffice.org, Access.

 9 - Conclusion

Comme on a pu le voir, JMeter permet d'appliquer les conseils donnés dans mon précédent article. Maintenant
que nous connaissons la théorie et la pratique avec JMeter, nous verrons dans un prochain article un cas concret
d'utilisation de JMeter.

 10 - Remerciements

Merci à Milamber pour sa relecture et son aide.
Merci à ClaudeLELOUP pour sa correction orthographique.

 11 - Références

http://groups.google.com/group/jmeter-fr/topics?hl=fr
http://blog.milamberspace.net/




                                                                     - 42 -
Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
                              http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/

Weitere ähnliche Inhalte

Was ist angesagt?

The Ring programming language version 1.10 book - Part 1 of 212
The Ring programming language version 1.10 book - Part 1 of 212The Ring programming language version 1.10 book - Part 1 of 212
The Ring programming language version 1.10 book - Part 1 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.6 book - Part 1 of 189
The Ring programming language version 1.6 book - Part 1 of 189The Ring programming language version 1.6 book - Part 1 of 189
The Ring programming language version 1.6 book - Part 1 of 189Mahmoud Samir Fayed
 
The Ring programming language version 1.7 book - Part 1 of 196
The Ring programming language version 1.7 book - Part 1 of 196The Ring programming language version 1.7 book - Part 1 of 196
The Ring programming language version 1.7 book - Part 1 of 196Mahmoud Samir Fayed
 
The Ring programming language version 1.8 book - Part 1 of 202
The Ring programming language version 1.8 book - Part 1 of 202The Ring programming language version 1.8 book - Part 1 of 202
The Ring programming language version 1.8 book - Part 1 of 202Mahmoud Samir Fayed
 
Support formation vidéo : Excel 2016 - Maîtrisez les bases
Support formation vidéo : Excel 2016 - Maîtrisez les basesSupport formation vidéo : Excel 2016 - Maîtrisez les bases
Support formation vidéo : Excel 2016 - Maîtrisez les basesSmartnSkilled
 
Mise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauMise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauRabeb Boumaiza
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données OracleAndrianaivo Lovatiana
 
Introduction à l'informatique
Introduction à l'informatiqueIntroduction à l'informatique
Introduction à l'informatiquelmodadam
 
Manuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEMManuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEMGrégoire Dupont
 
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdf
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdfTous les tests psychotechniques by Eckenschwiller (z-lib.org).pdf
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdfFélicien Kadima
 
Ing ordre generique_tpv_serveur 0.8
Ing ordre generique_tpv_serveur 0.8Ing ordre generique_tpv_serveur 0.8
Ing ordre generique_tpv_serveur 0.8Lokesh Kumar
 
initiation-au-langage-c-et-exercices-corriges
initiation-au-langage-c-et-exercices-corrigesinitiation-au-langage-c-et-exercices-corriges
initiation-au-langage-c-et-exercices-corrigesjojo sekkat
 
Les bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlLes bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlZineb Meryem
 
Support formation vidéo: Tout savoir sur Windows 10
Support  formation vidéo: Tout savoir sur Windows 10Support  formation vidéo: Tout savoir sur Windows 10
Support formation vidéo: Tout savoir sur Windows 10SmartnSkilled
 
The Ring programming language version 1.4 book - Part 1 of 30
The Ring programming language version 1.4 book - Part 1 of 30The Ring programming language version 1.4 book - Part 1 of 30
The Ring programming language version 1.4 book - Part 1 of 30Mahmoud Samir Fayed
 
The Ring programming language version 1.5.2 book - Part 1 of 181
The Ring programming language version 1.5.2 book - Part 1 of 181The Ring programming language version 1.5.2 book - Part 1 of 181
The Ring programming language version 1.5.2 book - Part 1 of 181Mahmoud Samir Fayed
 

Was ist angesagt? (18)

The Ring programming language version 1.10 book - Part 1 of 212
The Ring programming language version 1.10 book - Part 1 of 212The Ring programming language version 1.10 book - Part 1 of 212
The Ring programming language version 1.10 book - Part 1 of 212
 
The Ring programming language version 1.6 book - Part 1 of 189
The Ring programming language version 1.6 book - Part 1 of 189The Ring programming language version 1.6 book - Part 1 of 189
The Ring programming language version 1.6 book - Part 1 of 189
 
The Ring programming language version 1.7 book - Part 1 of 196
The Ring programming language version 1.7 book - Part 1 of 196The Ring programming language version 1.7 book - Part 1 of 196
The Ring programming language version 1.7 book - Part 1 of 196
 
The Ring programming language version 1.8 book - Part 1 of 202
The Ring programming language version 1.8 book - Part 1 of 202The Ring programming language version 1.8 book - Part 1 of 202
The Ring programming language version 1.8 book - Part 1 of 202
 
Support formation vidéo : Excel 2016 - Maîtrisez les bases
Support formation vidéo : Excel 2016 - Maîtrisez les basesSupport formation vidéo : Excel 2016 - Maîtrisez les bases
Support formation vidéo : Excel 2016 - Maîtrisez les bases
 
Mise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseauMise en place d'une solution du supérvision réseau
Mise en place d'une solution du supérvision réseau
 
Administration Base de données Oracle
Administration Base de données OracleAdministration Base de données Oracle
Administration Base de données Oracle
 
Introduction à l'informatique
Introduction à l'informatiqueIntroduction à l'informatique
Introduction à l'informatique
 
Manuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEMManuel du module additionnel RF-LAMINATE pour RFEM
Manuel du module additionnel RF-LAMINATE pour RFEM
 
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdf
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdfTous les tests psychotechniques by Eckenschwiller (z-lib.org).pdf
Tous les tests psychotechniques by Eckenschwiller (z-lib.org).pdf
 
Ing ordre generique_tpv_serveur 0.8
Ing ordre generique_tpv_serveur 0.8Ing ordre generique_tpv_serveur 0.8
Ing ordre generique_tpv_serveur 0.8
 
initiation-au-langage-c-et-exercices-corriges
initiation-au-langage-c-et-exercices-corrigesinitiation-au-langage-c-et-exercices-corriges
initiation-au-langage-c-et-exercices-corriges
 
D link routeur gigatbit dsl-2770 l-a1_manual_v1.00(fr)
D link routeur gigatbit dsl-2770 l-a1_manual_v1.00(fr)D link routeur gigatbit dsl-2770 l-a1_manual_v1.00(fr)
D link routeur gigatbit dsl-2770 l-a1_manual_v1.00(fr)
 
Les bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlLes bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sql
 
004129686
004129686004129686
004129686
 
Support formation vidéo: Tout savoir sur Windows 10
Support  formation vidéo: Tout savoir sur Windows 10Support  formation vidéo: Tout savoir sur Windows 10
Support formation vidéo: Tout savoir sur Windows 10
 
The Ring programming language version 1.4 book - Part 1 of 30
The Ring programming language version 1.4 book - Part 1 of 30The Ring programming language version 1.4 book - Part 1 of 30
The Ring programming language version 1.4 book - Part 1 of 30
 
The Ring programming language version 1.5.2 book - Part 1 of 181
The Ring programming language version 1.5.2 book - Part 1 of 181The Ring programming language version 1.5.2 book - Part 1 of 181
The Ring programming language version 1.5.2 book - Part 1 of 181
 

Ähnlich wie Jmetertest

INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE HINDOUSSATI
 
oecoil condens-2-notice-utilisation
oecoil condens-2-notice-utilisationoecoil condens-2-notice-utilisation
oecoil condens-2-notice-utilisationClothildeBenares
 
gestion de notariat avec openerp
gestion de notariat avec openerpgestion de notariat avec openerp
gestion de notariat avec openerpHORIYASOFT
 
Base-de-données.pdf
Base-de-données.pdfBase-de-données.pdf
Base-de-données.pdfdjallel2
 
Extrait ouvrage 65_outils_du_changement_arnaud_tonnele
Extrait ouvrage 65_outils_du_changement_arnaud_tonneleExtrait ouvrage 65_outils_du_changement_arnaud_tonnele
Extrait ouvrage 65_outils_du_changement_arnaud_tonneleSandra Santana
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.commorin moli
 
Introduction aux systèmes automatisés
Introduction aux systèmes automatisésIntroduction aux systèmes automatisés
Introduction aux systèmes automatisésmorin moli
 
Mémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMohamed Arar
 
Documentation cms e-sidocv1.1
Documentation cms e-sidocv1.1Documentation cms e-sidocv1.1
Documentation cms e-sidocv1.1cdisf
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
Le Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesLe Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesGenève Lab
 
dede
dededede
dedezaiim
 
vcbn
vcbnvcbn
vcbnzaiim
 
ututu
ututuututu
ututuzaiim
 
The Ring programming language version 1.5.4 book - Part 1 of 185
The Ring programming language version 1.5.4 book - Part 1 of 185The Ring programming language version 1.5.4 book - Part 1 of 185
The Ring programming language version 1.5.4 book - Part 1 of 185Mahmoud Samir Fayed
 

Ähnlich wie Jmetertest (20)

INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE INFORMATIQUE DES GESTION : MERISE
INFORMATIQUE DES GESTION : MERISE
 
oecoil condens-2-notice-utilisation
oecoil condens-2-notice-utilisationoecoil condens-2-notice-utilisation
oecoil condens-2-notice-utilisation
 
gestion de notariat avec openerp
gestion de notariat avec openerpgestion de notariat avec openerp
gestion de notariat avec openerp
 
Base-de-données.pdf
Base-de-données.pdfBase-de-données.pdf
Base-de-données.pdf
 
Bedhboperation r41 fr
Bedhboperation r41 frBedhboperation r41 fr
Bedhboperation r41 fr
 
Extrait ouvrage 65_outils_du_changement_arnaud_tonnele
Extrait ouvrage 65_outils_du_changement_arnaud_tonneleExtrait ouvrage 65_outils_du_changement_arnaud_tonnele
Extrait ouvrage 65_outils_du_changement_arnaud_tonnele
 
Deviens un Ninja avec Angular2
Deviens un Ninja avec Angular2Deviens un Ninja avec Angular2
Deviens un Ninja avec Angular2
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.com
 
Introduction aux systèmes automatisés
Introduction aux systèmes automatisésIntroduction aux systèmes automatisés
Introduction aux systèmes automatisés
 
Regulation analogique
Regulation analogiqueRegulation analogique
Regulation analogique
 
Mémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventions
 
Rapport pfev7
Rapport pfev7Rapport pfev7
Rapport pfev7
 
Documentation cms e-sidocv1.1
Documentation cms e-sidocv1.1Documentation cms e-sidocv1.1
Documentation cms e-sidocv1.1
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
Le Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes TechnologiquesLe Référentiel Nouvelles Plateformes Technologiques
Le Référentiel Nouvelles Plateformes Technologiques
 
dede
dededede
dede
 
vcbn
vcbnvcbn
vcbn
 
ututu
ututuututu
ututu
 
The Ring programming language version 1.5.4 book - Part 1 of 185
The Ring programming language version 1.5.4 book - Part 1 of 185The Ring programming language version 1.5.4 book - Part 1 of 185
The Ring programming language version 1.5.4 book - Part 1 of 185
 
Cbdsys 2
Cbdsys 2Cbdsys 2
Cbdsys 2
 

Jmetertest

  • 1. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Date de publication : 30 mars 2011 Dernière mise à jour : Suite à l'article sur comment créer un plan de tests réaliste, regardons comment mettre en application ces conseils avec Apache JMeter.
  • 2. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 1 - Introduction.............................................................................................................................................................3 2 - Présentation de JMeter..........................................................................................................................................3 3 - Fonctionnement de JMeter.................................................................................................................................... 3 3-1 - Test plan........................................................................................................................................................ 4 3-2 - Workbench.....................................................................................................................................................4 3-3 - Description des éléments JMeter..................................................................................................................4 3-3-1 - Thread group........................................................................................................................................ 4 3-3-2 - Sampler................................................................................................................................................. 5 3-3-3 - Listeners................................................................................................................................................6 3-3-4 - Logic controller......................................................................................................................................7 3-3-5 - Config Element..................................................................................................................................... 8 3-3-6 - Post Processeurs..................................................................................................................................9 3-3-7 - Préprocesseurs................................................................................................................................... 10 3-3-8 - Assertions............................................................................................................................................10 3-3-9 - Timers................................................................................................................................................. 10 3-3-10 - Plugin JMeter.................................................................................................................................... 11 3-3-10-1 - PerfMon.................................................................................................................................... 11 3-3-10-2 - Stepping Thread Group............................................................................................................11 3-4 - Ordre d'exécution des éléments................................................................................................................. 12 4 - Processus de création d'un plan de test............................................................................................................. 12 4-1 - Création des scénarios................................................................................................................................12 4-1-1 - Définition du scénario......................................................................................................................... 12 4-1-2 - Enregistrer/scripter.............................................................................................................................. 12 4-1-3 - Variabiliser...........................................................................................................................................13 4-1-4 - Exécuter.............................................................................................................................................. 13 4-2 - Création du plan de test............................................................................................................................. 13 5 - Conception d'un scénario de test........................................................................................................................ 13 5-1 - Structure du scénario.................................................................................................................................. 13 5-1-1 - Paramétrage des propriétés par défaut..............................................................................................14 5-1-1-1 - Configuration du serveur cible................................................................................................... 14 5-1-1-2 - Gestion des cookies...................................................................................................................15 5-1-1-3 - Gestion du cache....................................................................................................................... 16 5-1-1-4 - Gestion des en-têtes HTTP....................................................................................................... 17 5-1-2 - Découper en action.............................................................................................................................21 5-1-3 - Temps de réflexion..............................................................................................................................23 5-1-4 - Pacing................................................................................................................................................. 26 5-2 - Création du scénario................................................................................................................................... 27 5-2-1 - Utilisation de l'enregistreur de requêtes............................................................................................. 27 5-3 - Variabilisation des données.........................................................................................................................32 5-3-1 - Variable d'un fichier CVS....................................................................................................................33 5-3-2 - Expressions régulières........................................................................................................................35 5-4 - Ajout des points de contrôle....................................................................................................................... 36 5-5 - Test de fichiers téléchargés........................................................................................................................ 37 5-6 - Débogage.................................................................................................................................................... 37 6 - Création du plan de test...................................................................................................................................... 40 7 - Exécution du test................................................................................................................................................. 41 7-1 - Baseline....................................................................................................................................................... 41 7-2 - Désactivation de l'IHM.................................................................................................................................41 7-3 - Test de charge distribué..............................................................................................................................42 8 - Lire les résultats...................................................................................................................................................42 9 - Conclusion............................................................................................................................................................42 10 - Remerciements.................................................................................................................................................. 42 11 - Références......................................................................................................................................................... 42 -2- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 3. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 1 - Introduction Maintenant que nous savons comment créer des plans de tests de charge réalistes, regardons comment le faire avec l'outil JMeter. Nous allons nous concentrer sur le test d'une application web. 2 - Présentation de JMeter Apache JMeter est un outil gratuit de test de charges permettant : • de tester les performances d'une application en simulant des utilisateurs ; • d'enregistrer les temps de réponse. Pour cela il peut utiliser différents protocoles (HTTP, SOAP, LDAP, FTP...) afin de tester différents types d'applications (base de données, Webservice, application Web...). Dans le cas des applications Web, JMeter possède un élément Proxy permettant d'enregistrer automatiquement le scénario afin de gagner du temps et de permettre son utilisation à un large public. Tout cela en fait un outil assez complet. Pour ceux qui sont habitués à des outils commerciaux (HP Mercury LoadRunner, MicroFocus SilkPerformer ou Neotys Neoload), JMeter demande un peu plus d'efforts et surtout le reporting et le monitoring y sont quasiment absents. 3 - Fonctionnement de JMeter Lorsqu'on lance JMeter, on se retrouve avec cet écran. On remarque qu'on a deux espaces de travail : Test plan et Workbench. Sur chacun, on peut ajouter des éléments afin de construire notre plan de test. -3- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 4. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Puis on ajoute des éléments/items qui vont composer nos scénarios. 3-1 - Test plan C'est l'espace de travail où on va mettre les éléments qui constituent notre plan de test. 3-2 - Workbench C'est un espace de travail temporaire. Attention il n'est pas sauvegardé. 3-3 - Description des éléments JMeter Voilà une liste non exhaustive des éléments JMeter. La liste complète des éléments se trouve sur http://jakarta.apache.org/jmeter/usermanual/ component_reference.html 3-3-1 - Thread group C'est l'élément de base pour un scénario. C'est ici qu'on configurera le nombre d'utilisateurs et d'itérations et la durée du ramp up (durée de montée en charge). -4- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 5. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-2 - Sampler Permet de définir le type de requête échangé avec le serveur (HTTP, FTP, JDBC...) et de les émettre. -5- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 6. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-3 - Listeners Permet de récupérer et d'afficher les résultats des tests (par exemple : fichiers, graphes). -6- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 7. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-4 - Logic controller Permet de choisir l'ordre d'exécution des Samplers (par exemple : aléatoire, boucle, conditionnel). -7- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 8. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-5 - Config Element Paramétrage des propriétés par défaut pour les requêtes HTTP, requêtes FTP, requêtes LDAP... Il permet aussi de définir des variables et des jeux de données. -8- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 9. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-6 - Post Processeurs Permet d'effectuer des traitements après l'exécution d'une requête (ou plusieurs). En particulier on peut utiliser pour extraire des données des résultats, des expressions régulières avec le « Regular Expression Extractor » qui utilise la syntaxe de Apache Jakarta ORO. -9- Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 10. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-3-7 - Préprocesseurs Permet d'effectuer des prétraitements avant la requête, utile pour la préparation de données. 3-3-8 - Assertions Permet de contrôler les réponses du serveur (par exemple : temps de réponse, la réponse contient-elle une chaîne de caractères, taille, XML valide). 3-3-9 - Timers Permet d'ajouter des temps de pause entre chaque action (par exemple : temps constant, temps aléatoire). Il faut faire attention à : - 10 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 11. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) • ils doivent être placés en tant qu'enfant d'une requête pour que la pause soit exécutée avant l'exécution de la requête ; • s'ils sont au niveau du Thread Group, ils s'appliqueront pour chaque requête. Plus d'informations sur http://blog.milamberspace.net/index.php/2009/02/08/jmeter-think-time-et-ordre-dexecution-les-bons- plans-212.html 3-3-10 - Plugin JMeter Afin de ne pas être limité par l'installation de base de JMeter, nous pouvons utiliser les plugins qui se trouvent à l'adresse http://code.google.com/p/jmeter-plugins/. Cela permettra aussi à ceux qui sont habitués à HP Loadrunner de s'y retrouver plus facilement. 3-3-10-1 - PerfMon Il est important de superviser les serveurs cibles et les injecteurs. Pour cela on peut utiliser le plugin PerfMon. Ce plugin permet de superviser : • l'utilisation du CPU ; • l'utilisation de la mémoire ; • l'utilisation du swap ; • le nombre d'accès disque ; • l'activité du réseau. 3-3-10-2 - Stepping Thread Group Permet d'affiner la configuration du ramp up à la manière de HP Loadrunner. Plus d'informations sur http://code.google.com/p/jmeter-plugins/wiki/SteppingThreadGroup - 11 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 12. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 3-4 - Ordre d'exécution des éléments Il faut faire attention à l'ordre d'exécution. Plus d'informations sur http://jakarta.apache.org/jmeter/usermanual/test_plan.html#executionorder 4 - Processus de création d'un plan de test Le plus simple pour la création d'un test avec JMeter est la façon décrite ci-dessous. 4-1 - Création des scénarios Dans un premier temps, il faut créer les scénarios. 4-1-1 - Définition du scénario Pour plus d'informations ici. 4-1-2 - Enregistrer/scripter La méthode la plus simple pour obtenir un script est d'utiliser le proxy de JMeter pour enregistrer les requêtes effectuées entre le navigateur et le serveur. - 12 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 13. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 4-1-3 - Variabiliser Afin de rendre le scénario plus réaliste, ajouter des éléments non enregistrés par le proxy, éviter les effets de cache et d'ajouter la corrélation entre chaque actions/écrans, il faut utiliser un certain nombre d'éléments de JMeter (Timers, Pre processor...). 4-1-4 - Exécuter Une fois cela fait, il faut vérifier que le scénario est valide. Pour cela il suffit de l'exécuter une fois avec un seul utilisateur. 4-2 - Création du plan de test Une fois tous les scénarios réalisés, il faut les regrouper dans un ou plusieurs plans de test. 5 - Conception d'un scénario de test Avant de commencer tête baissée à scripter les scénarios il est important de prendre son temps afin de bien les choisir. En effet en fonction des scénarios de test, on peut obtenir de mauvaises performances avec n'importe quelle application en simulant un usage irréaliste ou au contraire avoir des performances acceptables. De même on peut se retrouver avec énormément de tests afin d'être le plus réaliste possible et donc afin de limiter ce problème, pensez à la loi de Pareto afin de faire le tri. Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/ 5-1 - Structure du scénario Afin de faciliter la lecture des résultats et du scénario, il est conseillé de structurer ses scénarios. - 13 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 14. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Voilà une des solutions possibles. 5-1-1 - Paramétrage des propriétés par défaut Dans un premier temps on va ajouter des éléments « Config Element » afin de définir un certain nombre de propriétés par défaut. 5-1-1-1 - Configuration du serveur cible Pour variabiliser le nom du serveur web, son port... il suffit d'ajouter un élément « HTTP Request Default » et de mettre les bonnes valeurs. Le mettre en fils de « Test plan » ou « Thread Group » pour qu'il s'applique à l'ensemble des requêtes. Cela permet de changer facilement le serveur qu'on teste (passage d'un serveur de développement à un serveur de test). - 14 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 15. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-1-1-2 - Gestion des cookies De même en ajoutant l'élément « HTTP Cookie Manager », on activera la gestion des cookies. Ne pas oublier de : • cocher « Nettoyer les cookies à chaque itération » afin d'effacer les cookies entre chaque itération ; • positionner Cookie Policy à compatibility pour la majorité des cas ; • le mettre en fils de « Test plan » ou « Thread Group » pour qu'il s'applique à l'ensemble des requêtes. - 15 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 16. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-1-1-3 - Gestion du cache De même en ajoutant l'élément « HTTP Cache Manager », on activera la gestion du cache afin de simuler le comportement d'un navigateur Web en matière de cache. - 16 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 17. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-1-1-4 - Gestion des en-têtes HTTP Afin de paramétrer les en-têtes HTTP des requêtes envoyées, on peut ajouter un « HTTP Header Manager » - 17 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 18. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) - 18 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 19. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Cela permet par exemple de simuler un navigateur particulier en paramétrant le User-Agent. Par exemple pour IE. - 19 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 20. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Pour Firefox. Afin d'aider à trouver les bons paramètres et leurs valeurs, on peut utiliser le proxy de la manière suivante. Activer « capture HTTP header » dans le « HTTP Proxy Server ». - 20 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 21. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Lors de l'enregistrement, on se retrouvera avec les informations nécessaires. 5-1-2 - Découper en action Dans un premier temps nous allons découper le scénario en transactions/actions à l'aide de « Transaction controller » - 21 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 22. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Notre scénario ressemblera à : Thread group Transaction controller 1 HTTP Request 1 HTTP Request 2 ... HTTP Request N Transaction controller 2 HTTP Request 1 HTTP Request 2 - 22 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 23. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) ... HTTP Request N ... Transaction controller N HTTP Request 1 HTTP Request 2 ... HTTP Request N Cela nous permettra d'avoir des KPI pour chaque transaction définie et ainsi faciliter la lecture des résultats. 5-1-3 - Temps de réflexion Afin d'être le plus réaliste possible, on va utiliser un temps variable. - 23 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 24. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/#LV-D On peut capturer le temps de réflexion de l'utilisateur lors de l'enregistrement du script. Pour cela il faut ajouter un élément « Uniform Random Timer » au « HTTP Proxy Server ». - 24 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 25. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Puis dans le champ « Constant Delay Offset » mettre ${T}. A la fin de l'enregistrement, on peut voir que des éléments « Uniform Random Timer » ont été créés avec la bonne valeur. - 25 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 26. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-1-4 - Pacing Plus d'information sur comment fixer la durée de répétition d'une requête sur - 26 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 27. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) http://blog.milamberspace.net/index.php/2008/08/15/jmeter-fixer-la-duree-de-repetition-dune- requete-87.html 5-2 - Création du scénario Maintenant que nous avons tous les éléments, on peut passer à l'utilisation de l'enregistreur de requêtes par le proxy pour enregistrer le scénario. Il faut faire attention au fait que le proxy va enregistrer toutes les communications sortantes/entrantes du navigateur Web et que donc il est important de désactiver tous les plugins/... afin de ne pas enregistrer de requêtes parasites. 5-2-1 - Utilisation de l'enregistreur de requêtes Pour cela, il faut commencer par ajouter l'élément « HTTP Proxy Server » Clic droit sur Workbench et Add -> Non Test Elements -> HTTP Proxy Server - 27 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 28. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Sur cet écran il faut bien noter les paramètres du proxy car on les utilisera dans la suite pour configurer notre navigateur Web pour l'enregistrement du scénario. Cocher le paramètre Add Assertions si on veut générer un élément Asssertions automatiquement. Maintenant on va créer pour chaque action du scénario un « Transaction Controller » (on va prendre comme exemple, la recherche d'un mot-clé sur Google). - 28 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 29. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Clic droit sur HTTP Proxy Server et Add -> Logic Controller -> Transaction Controller Les renommer. Modifier dans « HTTP Proxy Server » l'option « Target Controller » pour qu'elle pointe sur « Transaction Controller » nommé Accueil. - 29 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 30. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Voila on est prêt à enregistrer le scénario, pour cela il faut : • démarrer le proxy (bouton start dans l'élément HTTP Proxy Server) ; • configurer votre navigateur web pour qu'il utilise ce proxy (on peut utiliser le plugin foxyproxy pour Firefox) ; • configurer votre navigateur web pour qu'il n'utilise pas son cache (pensez à le vider avant) ; • reproduire le scénario à l'aide du navigateur web ; • arrêter le proxy une fois la capture du scénario fini. Ne pas oublier de faire pointer le navigateur sur le proxy. Par exemple sous IE. - 30 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 31. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Comme on peut le voir dans JMeter, de nouveaux sous-items sont apparus. - 31 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 32. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-3 - Variabilisation des données Pour rendre le scénario plus réaliste et faire attention à la gestion du cache, il faut variabiliser un certain nombre de choses comme : • l'identifiant et le mot de passe des utilisateurs ; • les entrées utilisateurs dans les formulaires ; • la sélection d'un lien ; • etc. Plus d'informations sur http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/ #LV-A, http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/#LV-B et http:// blog.milamberspace.net/index.php/jmeter-pages/jmeter-variabilisation-de-donnees - 32 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 33. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-3-1 - Variable d'un fichier CVS Un choix simple et pertinent est d'utiliser un fichier CSV en entrée à l'aide de l'élément « Config Element->CSV Data Set Config ». Les variables récupérées pourront être utilisées dans le reste du plan de test en utilisant la syntaxe suivante ${nom de la variable} - 33 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 34. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Par exemple pour une recherche Google. - 34 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 35. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Il est possible d'utiliser Benerator pour générer ce fichier CSV. 5-3-2 - Expressions régulières L'utilisation des expressions régulières nous permettra de corréler des actions/écran entre eux. Par exemple pour récupérer la session id d'un utilisateur, choisir un objet dans une liste... Plus d'informations sur http://blog.milamberspace.net/index.php/2009/12/31/quelques-cas-dutilisation-de- lextracteur-dexpression-reguliere-dans-jmeter-554.html. - 35 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 36. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-4 - Ajout des points de contrôle Afin de vérifier la réponse du serveur à la requête envoyée, il peut être utile d'ajouter des Assertions (au moins pendant la phase de création des scénarios). Afin d'avoir un élément Assertion automatiquement créé pour chaque action lors de l'enregistrement du scénario, on peut cocher le paramètre « Add Assertions » dans l'élément « HTTP Proxy Server ». Puis il suffit de compléter avec le test voulu. - 36 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 37. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 5-5 - Test de fichiers téléchargés Il est possible de tester les fichiers téléchargés à l'aide d'API Java. Pour les PDF il y a PDFBox : http://theworkaholic.blogspot.com/2010/03/asserting-pdfs.html Pour les fichiers Microsoft Office il y a Apache POI : http://theworkaholic.blogspot.com/2010/03/asserting-ms- office-formats.html 5-6 - Débogage Afin de faciliter le débogage du script, on peut utiliser un « View Results Tree ». - 37 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 38. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Pour cela, clic droit sur Workbench et Add -> Listener -> View Results Tree Ce qui nous permettra d'avoir dans l'onglet « Sampler Result » et « Response data », la réponse du serveur. - 38 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 39. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) - 39 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 40. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 6 - Création du plan de test Maintenant que nous avons un scénario de prêt, nous pouvons créer un plan de test. Pour cela il faut ajouter dans « Test Plan », un « Thread Group ». Clic droit sur Test Plan -> Add -> Thread Group - 40 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 41. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) Puis il faut configurer le nombre d'utilisateurs et d'itérations et la durée du ramp up. Faire de même avec les autres scénarios qui font partie du plan de test. 7 - Exécution du test Maintenant que nous avons un plan de test de prêt, on peut lancer les tests. 7-1 - Baseline Dans un premier temps il faut exécuter le test avec un seul utilisateur afin de : • tester que l'application n'a pas de problèmes de performance avec seulement un utilisateur car dans ce cas, lancer la campagne de test ne sert à rien ; • créer un baseline qui nous permettra d'avoir des KPI de référence. 7-2 - Désactivation de l'IHM Pour des gros tests il faut faire attention à : • désactiver les listeners coûteux et ne garder que Summary Listener, Graph Listener, et Spline Listener ; • limiter le nombre de listeners ; • désactiver le mode graphique avec l'option non-gui ; • générer un fichier CSV .jtl ou XML. Plus d'informations sur http://blog.milamberspace.net/index.php/2009/02/01/jmeter-pourquoi-executer- son-test-de-charges-en-mode-non-gui-sans-interface-graphique-192.html et http://blog.milamberspace.net/ index.php/2009/11/15/envoyer-en-ligne-de-commande-des-parametres-a-votre-scenario-jmeter-534.html et http://blog.milamberspace.net/index.php/jmeter-pages/jmeter-test-de-charges-a-distance-distributed- testing. Pour suivre ce qui se passe lorsqu'on est en mode non-gui. http://blog.milamberspace.net/index.php/2009/02/01/jmeter-suivre-un-tir-de-charge-en-mode-non-gui-avec- le-resume-statistique-200.html - 41 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/
  • 42. Développer un plan de test avec JMeter par Gomes Rodrigues (arodrigues.developpez.com) 7-3 - Test de charge distribué Si un seul injecteur ne suffit pas, faire un test de charge distribué (remote testing) sur plusieurs injecteurs afin de répartir la charge de test. Plus d'information sur http://jakarta.apache.org/jmeter/usermanual/remote-test.html 8 - Lire les résultats Comme vous pouvez le constater, la partie reporting de JMeter n'est pas ce qui se fait de mieux. La méthode la plus simple est de sauvegarder les résultats en CSV afin de les traiter avec un autre outil (Excel, outils de statistiques, outils BI...). Par exemple avec OpenOffice.org, Access. 9 - Conclusion Comme on a pu le voir, JMeter permet d'appliquer les conseils donnés dans mon précédent article. Maintenant que nous connaissons la théorie et la pratique avec JMeter, nous verrons dans un prochain article un cas concret d'utilisation de JMeter. 10 - Remerciements Merci à Milamber pour sa relecture et son aide. Merci à ClaudeLELOUP pour sa correction orthographique. 11 - Références http://groups.google.com/group/jmeter-fr/topics?hl=fr http://blog.milamberspace.net/ - 42 - Copyright © 2011 - Gomes Rodrigues. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. http://arodrigues.developpez.com/tutoriels/java/performance/developper-plan-test-avec-jmeter/