Jmeter

Jmeter

JMeter

JMeter
Jmeter.jpg
Développeur Apache Software Foundation
Dernière version 2.3.4 [+/−]
Environnement Multi-plateforme
Type Outil de test de charge
Licence licence Apache
Site Web Site officiel

JMeter est un projet libre de Jakarta permettant d'effectuer des tests de performance d'applications et de serveurs selon différents protocoles ainsi que des tests fonctionnels.

JMeter est entièrement écrit en Java, ce qui lui permet d'être utilisé sur tout système d'exploitation supportant une machine virtuelle Java (JVM).

Il permet de simuler le comportement de plusieurs utilisateurs agissant de manière simultanée sur une application Web. Au fur et à mesure de ses développements, il a été étendu et permet de tester d'autres types d'applications : serveurs ftp, serveurs de services Web, bases de données accessible via jdbc, serveurs TCP/IP, etc.

Il mesure le temps de réponse de chaque requête et produit des statistiques de ces temps de réponse.

Il contient les principales fonctionnalités de ce type d'outil : Utilisation d'un jeu de données externalisées, enregistrement de scénarios web, scénarios "dynamiques", s'adaptant aux réponses des serveurs, détection d'erreurs, extensibilité, gestion des cookies et des réécritures d'URL, lancement des tests à partir de plusieurs postes, etc. Néanmoins il ne propose pas la notion d'"IP spoofing" (simulation de plusieurs adresses IP à partir du même poste de test).

Des pré/post processeurs de tests sont disponibles permettant par exemple de modifier dynamiquement une requête avant son exécution ou d'extraire des données de résultats de test. Les résultats des tests peuvent être visualisés de différentes manières et peuvent également être enregistrés sous fichier au format XML ou CSV.

JMeter peut également faire des tests fonctionnels d'une application, permettant ainsi de valider les fonctionnalités d'une application de manière automatisée.

Sommaire

Points intéressants

Le spectre des tests de performances réalisables est assez large. Il y a moyen de tester les performances de scripts SQL, de requêtes HTTP/SOAP/EJB, d'appels à des classes Java et autres encore. L'interface graphique de JMeter offre des possibilités de faire des tests multi-thread, de créer des boucles et contrôleurs de tests plus spécifiques.

Ses principales fonctionnalités sont :

  • Test de performance
  • Test de robustesse : Simulation de trafic pour vérifier la robustesse selon le niveau de trafic
  • Test de rupture
  • Test de Charge : répartition sur plusieurs injecteurs de la charge de test, piloté par un contrôleur
  • Réalisation de résultats statistiques sous plusieurs formes graphiques et textuelles
  • etc.

JMeter est un outil générique de tests, il n'est pas limité à une seule nature de types de tests, c'est le métrologue qui en créant son scénario de tests définit le type de tests. Par ailleurs, JMeter est extensible, c'est à dire qu'il est possible de créer de nouveaux types d'échantillons (requêtes) implémentant d'autres protocoles.

Composants de base de Apache JMeter

  • Plan de test : Emplacement à partir duquel on définit ce que l'on test
  • Groupe d'unités : Emplacement à partir duquel on définit les paramètres de la simulation :
  • Nombre d'unités : nombre d'utilisateurs qui se connectent.
    • Durée de montée en charge : intervalle de temps où ces utilisateurs se connectent progressivement.
    • Nombre d'itérations : nombre d'itérations que fera chaque unité (utilisateur).
      • L'option Infini : spécifie que les unités itèrent indéfiniment.
  • Plan de travail : Emplacement permettant de garder les composants de test non utilisés.
  • Gestionnaire SSL : Composant permettant de gérer des clés SSL pour s'authentifier via SSL.

Apache JMeter contient les éléments suivants :

  • Echantillons : requêtes que l'on peut envoyer à un serveur ou une application Web pour tester ses ressources. Apache JMeter inclut les requêtes FTP, les requêtes HTTP, les requêtes JDBC, les requêtes JMS, les requêtes objet Java, les requêtes LDAP, les requêtes SOAP/XML-RPC et les requêtes WebService (SOAP).
  • Contrôleurs : permet la spécification des paramètres de test à effectuer. Apache JMeter inclut plusieurs types de contrôleurs :
    • Contrôleur interleave et Contrôleurs aléatoire : composants permettant d'envoyer des requêtes dans un ordre aléatoire.
    • Contrôleur boucle : composant permettant d'envoyer plusieurs fois les requêtes spécifiées.
    • Contrôleur d'exécution unique : composant permettant de lancer une seule fois les requêtes spécifiées quel que soit le nombre d'itérations prévue.
    • Contrôleur transaction : composant permettant de consolider les résultats (temps de réponse) d'un ensemble de requête.
    • Contrôleur enregistreur : composant destinée à capter les requêtes HTTP interceptées par le composant Proxy HTTP.

Apache JMeter permet de gérer les paramètres de certains sites ou serveurs (cookies, sites sécurisés). Les composants disponibles pour gérer ces paramètres sont les suivants :

  • HTTP, FTP, LDAP, JDBC et Java Request Defaults : Composants permettant de définir des paramètres par défaut, ils seront utilisés pour toutes requêtes.
  • Gestionnnaire d'autorisation HTTP : Composant fournissant un identifiant et un mot de passe pour les sites où l'accès est restreint.
  • Gestionnaire de cookies HTTP : Composant permettant de stocker, d'envoyer et de spécifier des cookies à envoyer au serveur.
  • Gestionnaire d'entêtes HTTP : Composant permettant de définir l'entête HTTP des requête envoyées.

Apache JMeter donne la possibilité d'insérer une pause entre chaque requête envoyées à travers les éléments Compteurs de temps. Les différents Compteurs disponibles sont :

  • Compteur de temps fixe : Composant permettant d'insérer un temps constant entre chaque requête envoyée.
  • Compteur de temps aléatoire gaussien : Composant permettant d'insérer un temps aléatoire selon la logique Gaussienne entre chaque requête envoyée.
  • Compteur de débit constant : Composant permettant de contrôler la fréquence d'exécution d'une requête.
  • Compteur de synchronisation : Composant permettant d'attendre un certain nombre d'unités pour exécuter la prochaine requête en même temps.

L'analyse des réponses des serveurs se fait par des assertions, il en existe plusieurs types :

  • Assertion réponse : Vérifie si une ou plusieurs chaînes de caractères se trouvent dans la réponse reçue.
  • Assertion durée : Vérifie si la réponse a été reçue avant ou après un temps prédéfini
  • Assertion taille : Vérifie si la taille de réponse (en octets) est supérieure, inférieure, égale, ... à une taille prédéfinie
  • Assertion XML : Vérifie que la page de réponse est un document XML valide.
  • Assertion MD5 : Vérifie si l'empreinte MD5 de la réponse (entête et corps) correspond à une empreinte MD5 prédéfinie

Pour l'acquisition et l'affichage des résultats des tests, Apache JMeter inclut des récepteurs. Plusieurs récepteurs sont disponibles :

  • Graphique de résultats : Composant fournissant un graphique présentant les temps de réponse, la moyenne, la médiane, l'écart-type des différentes requêtes effectuées.
  • Moniteur de courbe (spline) : Composant fournissant un graphique du temps de réponse des différentes requêtes effectuées selon la logique Spline.
  • Résultats d'assertion : Composant fournissant les résultats des assertions sous forme textuelle de toutes les requêtes effectuées.
  • Visualiseur de courrier : Composant permettant l'envoi d'un mél à l'administrateur en cas de trop nombreux échec aux requêtes effectuées.
  • Arbre de résultats : Composant affichant la liste des requêtes effectuées, leur type et leur données de réponses.
  • Tableau de résultats : Composant créant une table de l'ensemble des requêtes effectuées, leur type, leur temps de réponse et leur validité.
  • Rapport agrégé : Composant créant une table de l'ensemble des statistiques des test effectuées.
  • Enregistreur de données simple : Composant qui enregistre les résultats des tests vers un fichier donné.

JMeter propose un élément hors-test appelé Serveur Proxy HTTP qui permet l'enregistrement d'une session d'utilisation d'une application Web effectuée depuis son navigateur. Les requêtes sont interceptées par le proxy, et créées en sous éléments d'un contrôleur Enregistreur, prêtes à être re-exécutées. Ceci accélère la réalisation d'un scénario de test de charges.

Livres de référence

Liens externes

  • Portail des logiciels libres Portail des logiciels libres
Ce document provient de « JMeter ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Jmeter de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • JMeter — Développeur Apache Software Foundation Dernière version 2.5.1 [ …   Wikipédia en Français

  • JMeter — Aktuelle Version: 2.3.2 Betriebssystem: plattformunabhängig Kategorie: Lasttests Werkzeug Lizenz: Apache Lizenz …   Deutsch Wikipedia

  • JMeter — es un proyecto de Apache Jakarta que puede ser utilizado como una herramienta de prueba de carga para analizar y medir el desempeño de una variedad de servicios, con énfasis en aplicaciones web. JMeter puede ser usado como una herramienta de… …   Wikipedia Español

  • JMeter — Infobox Software name = Jakarta JMeter caption = developer = Apache Software Foundation latest release version = 2.3 latest release date = release date|2007|09|24 latest preview version = latest preview date = operating system = Cross platform… …   Wikipedia

  • JMeter — Apache JMeter Тип Средство для нагрузочного тестирования Разработчик …   Википедия

  • Apache JMeter — Maintainer Apache Software Foundation Aktuelle Version 2.5.1 (3. Oktober 2011) Betriebssystem plattformunabhängig Kategorie Lasttests Werkzeug …   Deutsch Wikipedia

  • Load Testing — Unter einem Lasttest (Lehnübersetzung von Performancetest) versteht man einen Softwaretest, mit dem eine zu erwartende, auch extreme Last auf dem laufenden System erzeugt und das Verhalten desselbigen beobachtet und untersucht wird. Dazu kann… …   Deutsch Wikipedia

  • Testautomation — Unter Testautomatisierung (auch Testautomation) ist die Automatisierung von Aktivitäten im Test zu verstehen, sowohl beim Softwaretest als auch beim automatisierten Test von Hardware, dem Hardwaretest. Inhaltsverzeichnis 1 Motivation 2… …   Deutsch Wikipedia

  • Java Et Logiciel Libre — Java est libre et open source (depuis le 13 novembre 2006 voir plus loin), et sa licence à permis l éclosion d un grand nombre d outils libres dans les domaines les plus variés. Sommaire 1 Discussion sur la licence de Java 2 Licence… …   Wikipédia en Français

  • Java et logiciel libre — Java est libre et open source (depuis le 13 novembre 2006 voir plus loin), et sa licence à permis l éclosion d un grand nombre d outils libres dans les domaines les plus variés. Sommaire 1 Discussion sur la licence de Java 2 Licence… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”