SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Brooks Elliott
Mesurer la
performance des
applications
avec JMeter
Géraud Dugé de Bernonville
Claude Falguière
Mars 2010
Brooks Elliott
Cours du soir JMeter - Valtech 2
Copyright notice
● Vous êtes libre de :
● Reproduire, distribuer et communiquer cette création au public
● Modifier cette création
● Selon les conditions suivantes :
● Paternité. Vous devez citer le nom de l'auteur original de la
manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits
qui vous confère cette autorisation (mais pas d'une manière qui
suggérerait qu'ils vous soutiennent ou approuvent votre
utilisation de l'oeuvre).
● Rien dans ce contrat ne diminue ou ne restreint le droit moral de
l'auteur ou des auteurs.
http://creativecommons.org/licenses/by/3.0/
Cours du soir JMeter - Valtech 3
Contact information
Vous pouvez modifier cette
présentation mais vous devez
citer les sources (auteur et
traducteur) quelque part dans
votre présentation.
Par exemple incorporez cette
diapositive au début pour
dire que votre présentation
provient de ces sources.
Merci de faire pour le mieux.
Présentation de
Géraud Dugé de Bernonville
&
Claude Falguière
geraud.dugedebernonville@valtech.fr
claude.falguiere@valtech.fr
http://fr.linkedin.com/in/claudefalguiere
http:www.valtech.fr
Présentation de
Géraud Dugé de Bernonville
&
Claude Falguière
geraud.dugedebernonville@valtech.fr
claude.falguiere@valtech.fr
http://fr.linkedin.com/in/claudefalguiere
http:www.valtech.fr
JMeter
Restituer
Spécifier
Cours du soir JMeter - Valtech 5
Les objectifs possibles
Comparer des
solutions
(Benchmark)
Cours du soir JMeter - Valtech 6
que vont faire les utilisateurs en
production ?
quelles sont les volumétries,
les dimensionnements ?
quels sont les risques à vérifier,
les critères à mesurer ?
des conditions de production
des utilisateurs
des attentes
Simuler des utilisateurs en condition de production dans le but de
vérifier que l'application correspond aux attentes
Les tests en charge
Cours du soir JMeter - Valtech 7
Les facteurs de risque
Criticité
En cas de non-fonctionnement, l’entreprise
peut être mise en danger et une solution
dégradée doit être possible
Ergonomie L’application est nouvelle pour les utilisateurs
ou complexe à utiliser
Technique Technologie nouvelle ou connue comme étant
problématique
Fonctionnel L’application met en œuvre des traitements
lourds ou longs, les volumes sont importants
Cible Le nombre d’utilisateurs est élevé, les
utilisateurs cible sont peu patients
Quels sont les facteurs de risque pour les performance ?
Quels sont les facteurs aggravant ?
Cours du soir JMeter - Valtech 8
Comment ça se passe ?
Application à
tester
Charge
 Usage de l’application
 Plate-forme utilisées
 Types de test à faire
 Joue les scripts en charge
 Collecte les temps de réponse
 Fournit un rapport
 Analyse des résultats
Spécifications
Scripts
Logiciel de test
en charge
(JMeter)
Cours du soir JMeter - Valtech 9
Définir ce que vont faire les utilisateurs
500 utilisateurs, certes, mais ...
Simuler beaucoup d’actions
représente beaucoup
d’efforts.
MAIS
Limiter la couverture peut
laisser de côté une action qui
dégraderait les performances
de l’ensemble.
Trop d’utilisateurs sur une
fonction rarement utilisée ne
donne pas une vue réaliste.
Utiliser une popup de recherche
ou taper le code directement
n’est pas équivalent.
Représentativité
Quelles actions de
l'utilisateur seront
reproduites ?
Combien d'utilisateurs
font chaque action ?
Comment font ils ces
actions ?
Cours du soir JMeter - Valtech 10
Un exemple de banc de test
Application à
testerLogiciel de test de
charge (JMeter)
Représentativité du
banc de test
Avoir un environnement le plus proche possible de la production
Au minimum être conscient des écarts que
l’on aura forcément avec la production
Cours du soir JMeter - Valtech 11
Les contraintes et les difficultés
Chaque tir dure plusieurs heures pour monter en
charge et obtenir des moyennes significatives
Demande une plate-forme dédiée souvent
construite pour les tests → retards fréquents
Demande des développements spécifiques
(scripts d’injection, jeu de données en masse)
Cette
activité est
toujours
sur le
chemin
critique
Cette activité est implique des équipes qui
ne travaillent pas souvent ensemble
Un tir de test de charge ne peut
pas se faire partiellement
Cours du soir JMeter - Valtech 12
Les 3 checklists des tests de charge (1)
Après
✔
Collecte des résultats et données de
monitoring
✔
Vérification du nombre de requêtes
effectuées
✔
Bon fonctionnement de l'application
✔
Tracer les résultats ou problèmes
rencontrés
Pendant
✔
Vérification du déroulement des tests
✔
✔
Bon fonctionnement de l'application
✔
✔
Monitorer les injecteurs
✔
Avant
✔ Disponibilité exclusive de
l'environnement
✔ Outils de monitoring prêts
✔ Scripts JMeter installés
✔ Injecteurs démarrés
✔ Scripts fonctionnels à partir des
injecteurs
✔ Journal de test alimenté
Cours du soir JMeter - Valtech 13
Les 3 checklists des tests de charge (2)
Après
✔
Collecte des résultats et données de
monitoring
✔
Vérification du nombre de requêtes
effectuées
✔
Bon fonctionnement de l'application
✔
Tracer les résultats ou problèmes
rencontrés
Avant
Disponibilité exclusive de l'environnement
Outils de monitoring prêts
Scripts JMeter installés
Injecteurs démarrés
Scripts fonctionnels à partir des
injecteurs
Journal de test alimenté
Pendant
✔ Vérification du déroulement des tests
✔ Bon fonctionnement de l'application en
utilisation réelle
✔ Monitorer les injecteurs
Cours du soir JMeter - Valtech 14
Les 3 checklists des tests de charge (3)
Pendant
✔
Vérification du déroulement des tests
✔
✔
Bon fonctionnement de l'application
✔
✔
Monitorer les injecteurs
✔
Avant
Disponibilité exclusive de l'environnement
Outils de monitoring prêts
Scripts JMeter installés
Injecteurs démarrés
Scripts fonctionnels à partir des
injecteurs
Journal de test alimenté
Après
✔ Collecte des résultats et données de
monitoring
✔ Vérification du nombre de requêtes
effectuées
✔ Bon fonctionnement de l'application
après la fin du test
✔ Tracer les résultats ou problèmes
rencontrés dans le journal de test
Cours du soir JMeter - Valtech 15
Elaborer une stratégie
Elaborer un plan de test
réaliste par rapport au budget
et aux délais
Se concentrer sur les
risques probables et qui ont
un impact
Le développement
des scripts
Le délai avant la mise
en production
La mise en place d’une
plate-forme dédiée
La réalisation des tests
Les coûts de correction
augmentent avec le temps
et le volume de code
Eviter des pertes de
revenu ou des
dégradations d’image
Eviter l’affectation de
ressources imprévues
dans l’urgence
L’analyse des résultats
Coût Gain
JMeter
Restituer
✔ Spécifier
Cours du soir JMeter - Valtech 17
JMeter
Projet Apache Jakarta
http://jakarta.apache.org/jmeter/Open Source
100% Java
Outils d'enregistrement de scénario Web
Injecteur et collecte des résultats
Visualisation des résultats
IHM
Scripts en XML
Fonctions
Extensible
MultiProtocole
Web - HTTP, HTTPS
SOAP
Database via JDBC
LDAP
JMS
Mail - POP3(S) and IMAP(S)
Tout code Java ou JUnit
Paramétrage et jeu de données
Gestion du cache Web et des cookies
Cours du soir JMeter - Valtech 18
Premier aperçu de JMeter
Cours du soir JMeter - Valtech 19
L'enregistrement des scripts HTTP
Cours du soir JMeter - Valtech 20
L'organisation du plan de travail
Eléments exécutés lorsque l'on lance le plan de test
Attention c'est la seule partie qui est sauvée par Save
Zone de dépôt des éléments utilisés temporairement
(le proxy HTTP d'enregistrement par exemple)
Test Plan
Workbench
Thread Group Nombre d'utilisateurs et
d'itérations, ramp up
Cours du soir JMeter - Valtech 21
Les concepts
Logic Controller
Configuration
Pre-Processor
Timers Temps d'attente
Sampler Emission
des requêtes
Post Processor Extraire des
données du
résultat
Assertions Vérifier le
résultat
Listeners Visualise le
résultat
Cours du soir JMeter - Valtech 22
Comment simuler la réalité ?
On ne peut pas
jouer la réalité
dans toute sa
complexité
On construit une expérience de
laboratoire qui simule certains
aspects de cette réalité
On construit une expérience de
laboratoire qui simule certains
aspects de cette réalitéRéalité
Evaluation
des risques
Point à
évaluer
Expérience
Evaluation
des résultats
Restitution
Cours du soir JMeter - Valtech 23
Comment faire un test juste ?
Et de ne plus
le faire !
Le résultat du test dépend totalement
des scénarios définis et de leur
implémentation
Le meilleur moyen de ne pas biaiser
inconsciemment est d'apprendre
comment biaiser volontairement ...
BiaisBiais
Cours du soir JMeter - Valtech 24
Atelier scénario
Groupe 1
Mauvaise foi
positive
Groupe 2
Mauvaise foi
négative
Définissez des
scénarios de test
qui rendront le
résultat meilleur
Définissez des
scénarios de test
qui rendront le
résultat pire
Cours du soir JMeter - Valtech 25
Les biais affectant les scénarios
Ambivalent
Groupe 1
Mauvaise foi
positive
Groupe 2
Mauvaise foi
négative
Utiliser toujours
les mêmes valeurs
en cache
Volumes
trop faibles
Déloguer les
utilisateurs
Utiliser des raccourcis
d'IHM que les utilisateurs
ne connaissent pas
Utiliser des mots
clés exacts
Ne pas vérifier
les réponses
Utiliser des mots clés
trop génériques (*)
Oublier les attentes
entre les actions
Monter en
charge trop vite
Définir un scénario
utilisateur trop court
V olumes
surévalués
Ignorer les limitations de
ressources externes
(injecteurs, réseau)
Jouer un test
trop court
Cours du soir JMeter - Valtech 26
Réalisation du scénario JMeter
Enregistrement du scénario
Finalisation du script
Tir de rodage
Application PetClinic de Spring :
●Serveur Tomcat
●Base de données Hsqldb sur filesystem
Exemple de scénario simple : recherche d'un propriétaire
Cours du soir JMeter - Valtech 27
Comment lire le résultat ?
Jmeter produit un log en XML
Rechargement du log .jtl dans JMeter
Ajout des listeners qui permettent
de calculer les stats et grapher
Les listeners sont assez
rudimentaires et il faut souvent
compléter avec Excel ou du script
Restituer
✔ Spécifier
✔ JMeter
Cours du soir JMeter - Valtech 29
Exploiter les résultats
Analyser et ValiderAnalyser et Valider
ComprendreComprendre
SynthétiserSynthétiser
RestituerRestituer
Des milliers de relevés
Quelques chiffres
et graphes
Biais
d'interprétation
Biais de
perception
La
simplification
est inévitable.
Il faut
s'assurer
qu'elle ne
dénature pas
Cours du soir JMeter - Valtech 30
Les biais d'agrégation
Peut masquer des temps de réponse très long
La moyenne
Préférer les quantiles
Ignorer les erreurs
Les erreurs sont parfois reportées avec un temps égal à 0
La
moyenne
est 3
Le temps le
plus élevé
est 25
95% des
relevés sont
au dessous
de 13
Les relevés de temps de réponse
ont souvent des traines
3
13 25
Cours du soir JMeter - Valtech 31
La répartition des données
Histogram of ts
Duration
Frequency
2 3 4 5 6
05101520
Cumulative histogram of ts
DurationFrequency
2 3 4 5 6
020406080100
> summary(data)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.779 3.203 3.834 3.840 4.483 5.966
> quantile(data,0.95)
95%
5.408672
> data <- rnorm(100,2)+2 100 valeurs
Loi normale centrée sur 2 + 2
Cours du soir JMeter - Valtech 32
Les biais de représentation : l'origine
Quel test à les temps de réponse les plus élevés ?
Time
Duration
0 20 40 60 80 100
0123456
Time
Duration
0 20 40 60 80 100
23456
Cours du soir JMeter - Valtech 33
Les biais de représentation : le lissage
Time
Duration
0 20 40 60 80 100
0123456
Time
Duration
0 20 40 60 80 100
0123456
Quel serveur a le comportement le plus stable ?
Cours du soir JMeter - Valtech 34
Les biais de représentation : la couleur
OK
KO
K0
OK
Quel test a le plus faible taux d'erreur ?
Cours du soir JMeter - Valtech 35
C'est fini
“Les statistiques sont la forme
la plus élaborée du mensonge”.
Winston Churchill
… mais c'est aussi un formidable outil
Restez attentifs !
Cours du soir JMeter - Valtech 36
Bibliographie et crédits
Crédits photos et cliparts
Brooks Elliott http://www.flickr.com/photos/8011986@N02/
Mohamed Ibrahim, http://www.clker.com/profile-9.html
Francesco Marino
http://www.freedigitalphotos.net/images/view_photog.php?photogid=809
Martineric http://www.flickr.com/photos/36665622@N00/
Sarflondondunc http://www.flickr.com/photos/sarflondondunc/
Krispeac http://www.flickr.com/photos/krispeac/
Bibliographie
JMeter : http://jakarta.apache.org/jmeter/
JMeter HTTP Recording :
http://jakarta.apache.org/jmeter/usermanual/jmeter_proxy_step_by_step.pdf

Contenu connexe

Tendances

Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests typemadspock
 
Introduction à la validation de logiciel
Introduction à la validation de logicielIntroduction à la validation de logiciel
Introduction à la validation de logicielJean-Paul CARMONA
 
Intro sur les tests unitaires
Intro sur les tests unitairesIntro sur les tests unitaires
Intro sur les tests unitairesPHPPRO
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnelscvcby
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonEmeline Simon
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeHenri Tremblay
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testingjubehr
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...Cyrille Grandval
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de testsSabrine MASTOURA
 
Keynote Retmo2018 : le test QA et UAT en méthode agile
Keynote Retmo2018 : le test QA et UAT en méthode agileKeynote Retmo2018 : le test QA et UAT en méthode agile
Keynote Retmo2018 : le test QA et UAT en méthode agileStardustTesting
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Gilles Brieux
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifkemenaran
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 

Tendances (20)

Stratégie de tests type
Stratégie de tests typeStratégie de tests type
Stratégie de tests type
 
Introduction à la validation de logiciel
Introduction à la validation de logicielIntroduction à la validation de logiciel
Introduction à la validation de logiciel
 
Intro sur les tests unitaires
Intro sur les tests unitairesIntro sur les tests unitaires
Intro sur les tests unitaires
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
 
Test unitaires
Test unitairesTest unitaires
Test unitaires
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
Confoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de chargeConfoo 2016: Initiation aux tests de charge
Confoo 2016: Initiation aux tests de charge
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testing
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de tests
 
Keynote Retmo2018 : le test QA et UAT en méthode agile
Keynote Retmo2018 : le test QA et UAT en méthode agileKeynote Retmo2018 : le test QA et UAT en méthode agile
Keynote Retmo2018 : le test QA et UAT en méthode agile
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?
 
Formation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratifFormation Extreme Programming, Tests unitaires, travail collaboratif
Formation Extreme Programming, Tests unitaires, travail collaboratif
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
AMDEC
AMDECAMDEC
AMDEC
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 

En vedette

Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Claude Falguiere
 
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016Claude Falguiere
 
Présentation Green Code Lab - Olivier Philippot
Présentation Green Code Lab - Olivier PhilippotPrésentation Green Code Lab - Olivier Philippot
Présentation Green Code Lab - Olivier PhilippotMartin Neys
 
Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoringKranthi Paidi
 
IT et Environnement - Green IT
IT et Environnement - Green ITIT et Environnement - Green IT
IT et Environnement - Green ITMartin Neys
 
UCM - Préparez-vous aux consom'acteurs Partie 1
UCM - Préparez-vous aux consom'acteurs Partie 1UCM - Préparez-vous aux consom'acteurs Partie 1
UCM - Préparez-vous aux consom'acteurs Partie 1Martin Neys
 
UCM - Préparez-vous aux consom'acteurs Partie 2
UCM - Préparez-vous aux consom'acteurs Partie 2UCM - Préparez-vous aux consom'acteurs Partie 2
UCM - Préparez-vous aux consom'acteurs Partie 2Martin Neys
 
Clustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and HazelcastClustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and Hazelcastb0ris_1
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge Cellenza
 
Performance serveur et apache
Performance serveur et apachePerformance serveur et apache
Performance serveur et apacheafup Paris
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionDave Olsen
 
Afnor certification-afaq-26000-guide[1]
Afnor certification-afaq-26000-guide[1]Afnor certification-afaq-26000-guide[1]
Afnor certification-afaq-26000-guide[1]Philippe Porta
 
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Search Foresight
 
Mesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaMesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaAntonio Gomes Rodrigues
 
Soutenance - Création d'un audit des systèmes d'informations dans un environn...
Soutenance - Création d'un audit des systèmes d'informations dans un environn...Soutenance - Création d'un audit des systèmes d'informations dans un environn...
Soutenance - Création d'un audit des systèmes d'informations dans un environn...Raphaël Pougnard
 
Test de performance Datwendo
Test de performance DatwendoTest de performance Datwendo
Test de performance DatwendoChristian Surieux
 
Isabelle tostivint
Isabelle tostivintIsabelle tostivint
Isabelle tostivintlifeiseasy
 
Introduction à la performance web
Introduction à la performance webIntroduction à la performance web
Introduction à la performance webRaphaël Goetter
 

En vedette (20)

Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012Performance test - YaJUG Octobre 2012
Performance test - YaJUG Octobre 2012
 
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016H2O , Le machine learning sans coder ou presque - Devoxx france 2016
H2O , Le machine learning sans coder ou presque - Devoxx france 2016
 
Présentation Green Code Lab - Olivier Philippot
Présentation Green Code Lab - Olivier PhilippotPrésentation Green Code Lab - Olivier Philippot
Présentation Green Code Lab - Olivier Philippot
 
Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoring
 
IT et Environnement - Green IT
IT et Environnement - Green ITIT et Environnement - Green IT
IT et Environnement - Green IT
 
UCM - Préparez-vous aux consom'acteurs Partie 1
UCM - Préparez-vous aux consom'acteurs Partie 1UCM - Préparez-vous aux consom'acteurs Partie 1
UCM - Préparez-vous aux consom'acteurs Partie 1
 
UCM - Préparez-vous aux consom'acteurs Partie 2
UCM - Préparez-vous aux consom'acteurs Partie 2UCM - Préparez-vous aux consom'acteurs Partie 2
UCM - Préparez-vous aux consom'acteurs Partie 2
 
Clustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and HazelcastClustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and Hazelcast
 
[Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge [Agile Testing Day] Tests de charge
[Agile Testing Day] Tests de charge
 
Performance serveur et apache
Performance serveur et apachePerformance serveur et apache
Performance serveur et apache
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
Afnor certification-afaq-26000-guide[1]
Afnor certification-afaq-26000-guide[1]Afnor certification-afaq-26000-guide[1]
Afnor certification-afaq-26000-guide[1]
 
Green web
Green webGreen web
Green web
 
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
Synodiance > Stratégie de synchronisation SEO SEA - EBG - 23/10/2015
 
Mesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement JavaMesurer la performance dans le milieu hostile du développement Java
Mesurer la performance dans le milieu hostile du développement Java
 
Soutenance - Création d'un audit des systèmes d'informations dans un environn...
Soutenance - Création d'un audit des systèmes d'informations dans un environn...Soutenance - Création d'un audit des systèmes d'informations dans un environn...
Soutenance - Création d'un audit des systèmes d'informations dans un environn...
 
Test de performance Datwendo
Test de performance DatwendoTest de performance Datwendo
Test de performance Datwendo
 
Isabelle tostivint
Isabelle tostivintIsabelle tostivint
Isabelle tostivint
 
Introduction à la performance web
Introduction à la performance webIntroduction à la performance web
Introduction à la performance web
 
Tsung GIS
Tsung GISTsung GIS
Tsung GIS
 

Similaire à Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010

[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & MétiersCellenza
 
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...CERTyou Formation
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1Marc Bojoly
 
Les tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsLes tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsL_Demontiers
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxssuserec8501
 
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de SquashLeClubQualiteLogicielle
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-endClément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endFrançois Petitit
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterGuillaume Deshayes
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionDEFO KUATE Landry
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx FranceMarc Bojoly
 
DevOps : Retour d'expérience sur les Tests
DevOps : Retour d'expérience sur les TestsDevOps : Retour d'expérience sur les Tests
DevOps : Retour d'expérience sur les TestsMicrosoft
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-frEmanBali
 

Similaire à Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010 (20)

[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers[Agile Testing Day] Test & Métiers
[Agile Testing Day] Test & Métiers
 
chap6_GL.pptx
chap6_GL.pptxchap6_GL.pptx
chap6_GL.pptx
 
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...
Cyjtest formation-tests-java-methode-de-plans-de-tests-et-jeux-d-essais-avec-...
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1
 
Anatomie du test
Anatomie du testAnatomie du test
Anatomie du test
 
Les tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgetsLes tests utilisateurs pour les petits budgets
Les tests utilisateurs pour les petits budgets
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
 
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
20120124 04 - Retour d'expérience sur la mise en oeuvre de Squash
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de production
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 
Perf university
Perf universityPerf university
Perf university
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
DevOps : Retour d'expérience sur les Tests
DevOps : Retour d'expérience sur les TestsDevOps : Retour d'expérience sur les Tests
DevOps : Retour d'expérience sur les Tests
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
 
Conformiq
ConformiqConformiq
Conformiq
 

Plus de Claude Falguiere

Pres perf human talks mars 2015
Pres perf human talks mars 2015Pres perf human talks mars 2015
Pres perf human talks mars 2015Claude Falguiere
 
Presentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agilePresentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agileClaude Falguiere
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataClaude Falguiere
 
Présentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesPrésentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesClaude Falguiere
 
Présentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesPrésentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesClaude Falguiere
 
Présentation Performances Montpellier
Présentation Performances Montpellier Présentation Performances Montpellier
Présentation Performances Montpellier Claude Falguiere
 
Pres android nuit de l'info v3
Pres android nuit de l'info v3Pres android nuit de l'info v3
Pres android nuit de l'info v3Claude Falguiere
 
La marmite Intro session NoSQL
La marmite Intro session NoSQLLa marmite Intro session NoSQL
La marmite Intro session NoSQLClaude Falguiere
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec IncanterClaude Falguiere
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec IncanterClaude Falguiere
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Claude Falguiere
 
Deploiement continu breizh camp
Deploiement continu breizh campDeploiement continu breizh camp
Deploiement continu breizh campClaude Falguiere
 
Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Claude Falguiere
 
No sql pour valtech tech days
No sql pour valtech tech daysNo sql pour valtech tech days
No sql pour valtech tech daysClaude Falguiere
 

Plus de Claude Falguiere (20)

Pres perf human talks mars 2015
Pres perf human talks mars 2015Pres perf human talks mars 2015
Pres perf human talks mars 2015
 
Devoxx 2014 monitoring
Devoxx 2014 monitoringDevoxx 2014 monitoring
Devoxx 2014 monitoring
 
Devoxx 2014 Monitoring
Devoxx 2014 Monitoring Devoxx 2014 Monitoring
Devoxx 2014 Monitoring
 
Presentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agilePresentation devoxx4kids à iut-agile
Presentation devoxx4kids à iut-agile
 
Le monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big DataLe monitoring à l'heure de DevOps et Big Data
Le monitoring à l'heure de DevOps et Big Data
 
Présentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de NantesPrésentation du user group Duchess France au GDG de Nantes
Présentation du user group Duchess France au GDG de Nantes
 
Présentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de NantesPrésentation de Page Speed au GDG de Nantes
Présentation de Page Speed au GDG de Nantes
 
Présentation Performances Montpellier
Présentation Performances Montpellier Présentation Performances Montpellier
Présentation Performances Montpellier
 
Pres android nuit de l'info v3
Pres android nuit de l'info v3Pres android nuit de l'info v3
Pres android nuit de l'info v3
 
La marmite Intro session NoSQL
La marmite Intro session NoSQLLa marmite Intro session NoSQL
La marmite Intro session NoSQL
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec Incanter
 
Analyse de données avec Incanter
Analyse de données avec IncanterAnalyse de données avec Incanter
Analyse de données avec Incanter
 
Incanter bigdata jsc2012
Incanter bigdata jsc2012Incanter bigdata jsc2012
Incanter bigdata jsc2012
 
Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012Quickie Incanter/Clojure à Devoxx France 2012
Quickie Incanter/Clojure à Devoxx France 2012
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 
Usine logicielle ios
Usine logicielle iosUsine logicielle ios
Usine logicielle ios
 
Deploiement continu breizh camp
Deploiement continu breizh campDeploiement continu breizh camp
Deploiement continu breizh camp
 
Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011Deploiement continu AgileFfrance 2011
Deploiement continu AgileFfrance 2011
 
No sql pour valtech tech days
No sql pour valtech tech daysNo sql pour valtech tech days
No sql pour valtech tech days
 

Mesurer Les Performances Avec JMeter Cours Du Soir Valtech 25 Mars 2010

  • 1. Brooks Elliott Mesurer la performance des applications avec JMeter Géraud Dugé de Bernonville Claude Falguière Mars 2010 Brooks Elliott
  • 2. Cours du soir JMeter - Valtech 2 Copyright notice ● Vous êtes libre de : ● Reproduire, distribuer et communiquer cette création au public ● Modifier cette création ● Selon les conditions suivantes : ● Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre). ● Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs. http://creativecommons.org/licenses/by/3.0/
  • 3. Cours du soir JMeter - Valtech 3 Contact information Vous pouvez modifier cette présentation mais vous devez citer les sources (auteur et traducteur) quelque part dans votre présentation. Par exemple incorporez cette diapositive au début pour dire que votre présentation provient de ces sources. Merci de faire pour le mieux. Présentation de Géraud Dugé de Bernonville & Claude Falguière geraud.dugedebernonville@valtech.fr claude.falguiere@valtech.fr http://fr.linkedin.com/in/claudefalguiere http:www.valtech.fr Présentation de Géraud Dugé de Bernonville & Claude Falguière geraud.dugedebernonville@valtech.fr claude.falguiere@valtech.fr http://fr.linkedin.com/in/claudefalguiere http:www.valtech.fr
  • 5. Cours du soir JMeter - Valtech 5 Les objectifs possibles Comparer des solutions (Benchmark)
  • 6. Cours du soir JMeter - Valtech 6 que vont faire les utilisateurs en production ? quelles sont les volumétries, les dimensionnements ? quels sont les risques à vérifier, les critères à mesurer ? des conditions de production des utilisateurs des attentes Simuler des utilisateurs en condition de production dans le but de vérifier que l'application correspond aux attentes Les tests en charge
  • 7. Cours du soir JMeter - Valtech 7 Les facteurs de risque Criticité En cas de non-fonctionnement, l’entreprise peut être mise en danger et une solution dégradée doit être possible Ergonomie L’application est nouvelle pour les utilisateurs ou complexe à utiliser Technique Technologie nouvelle ou connue comme étant problématique Fonctionnel L’application met en œuvre des traitements lourds ou longs, les volumes sont importants Cible Le nombre d’utilisateurs est élevé, les utilisateurs cible sont peu patients Quels sont les facteurs de risque pour les performance ? Quels sont les facteurs aggravant ?
  • 8. Cours du soir JMeter - Valtech 8 Comment ça se passe ? Application à tester Charge  Usage de l’application  Plate-forme utilisées  Types de test à faire  Joue les scripts en charge  Collecte les temps de réponse  Fournit un rapport  Analyse des résultats Spécifications Scripts Logiciel de test en charge (JMeter)
  • 9. Cours du soir JMeter - Valtech 9 Définir ce que vont faire les utilisateurs 500 utilisateurs, certes, mais ... Simuler beaucoup d’actions représente beaucoup d’efforts. MAIS Limiter la couverture peut laisser de côté une action qui dégraderait les performances de l’ensemble. Trop d’utilisateurs sur une fonction rarement utilisée ne donne pas une vue réaliste. Utiliser une popup de recherche ou taper le code directement n’est pas équivalent. Représentativité Quelles actions de l'utilisateur seront reproduites ? Combien d'utilisateurs font chaque action ? Comment font ils ces actions ?
  • 10. Cours du soir JMeter - Valtech 10 Un exemple de banc de test Application à testerLogiciel de test de charge (JMeter) Représentativité du banc de test Avoir un environnement le plus proche possible de la production Au minimum être conscient des écarts que l’on aura forcément avec la production
  • 11. Cours du soir JMeter - Valtech 11 Les contraintes et les difficultés Chaque tir dure plusieurs heures pour monter en charge et obtenir des moyennes significatives Demande une plate-forme dédiée souvent construite pour les tests → retards fréquents Demande des développements spécifiques (scripts d’injection, jeu de données en masse) Cette activité est toujours sur le chemin critique Cette activité est implique des équipes qui ne travaillent pas souvent ensemble Un tir de test de charge ne peut pas se faire partiellement
  • 12. Cours du soir JMeter - Valtech 12 Les 3 checklists des tests de charge (1) Après ✔ Collecte des résultats et données de monitoring ✔ Vérification du nombre de requêtes effectuées ✔ Bon fonctionnement de l'application ✔ Tracer les résultats ou problèmes rencontrés Pendant ✔ Vérification du déroulement des tests ✔ ✔ Bon fonctionnement de l'application ✔ ✔ Monitorer les injecteurs ✔ Avant ✔ Disponibilité exclusive de l'environnement ✔ Outils de monitoring prêts ✔ Scripts JMeter installés ✔ Injecteurs démarrés ✔ Scripts fonctionnels à partir des injecteurs ✔ Journal de test alimenté
  • 13. Cours du soir JMeter - Valtech 13 Les 3 checklists des tests de charge (2) Après ✔ Collecte des résultats et données de monitoring ✔ Vérification du nombre de requêtes effectuées ✔ Bon fonctionnement de l'application ✔ Tracer les résultats ou problèmes rencontrés Avant Disponibilité exclusive de l'environnement Outils de monitoring prêts Scripts JMeter installés Injecteurs démarrés Scripts fonctionnels à partir des injecteurs Journal de test alimenté Pendant ✔ Vérification du déroulement des tests ✔ Bon fonctionnement de l'application en utilisation réelle ✔ Monitorer les injecteurs
  • 14. Cours du soir JMeter - Valtech 14 Les 3 checklists des tests de charge (3) Pendant ✔ Vérification du déroulement des tests ✔ ✔ Bon fonctionnement de l'application ✔ ✔ Monitorer les injecteurs ✔ Avant Disponibilité exclusive de l'environnement Outils de monitoring prêts Scripts JMeter installés Injecteurs démarrés Scripts fonctionnels à partir des injecteurs Journal de test alimenté Après ✔ Collecte des résultats et données de monitoring ✔ Vérification du nombre de requêtes effectuées ✔ Bon fonctionnement de l'application après la fin du test ✔ Tracer les résultats ou problèmes rencontrés dans le journal de test
  • 15. Cours du soir JMeter - Valtech 15 Elaborer une stratégie Elaborer un plan de test réaliste par rapport au budget et aux délais Se concentrer sur les risques probables et qui ont un impact Le développement des scripts Le délai avant la mise en production La mise en place d’une plate-forme dédiée La réalisation des tests Les coûts de correction augmentent avec le temps et le volume de code Eviter des pertes de revenu ou des dégradations d’image Eviter l’affectation de ressources imprévues dans l’urgence L’analyse des résultats Coût Gain
  • 17. Cours du soir JMeter - Valtech 17 JMeter Projet Apache Jakarta http://jakarta.apache.org/jmeter/Open Source 100% Java Outils d'enregistrement de scénario Web Injecteur et collecte des résultats Visualisation des résultats IHM Scripts en XML Fonctions Extensible MultiProtocole Web - HTTP, HTTPS SOAP Database via JDBC LDAP JMS Mail - POP3(S) and IMAP(S) Tout code Java ou JUnit Paramétrage et jeu de données Gestion du cache Web et des cookies
  • 18. Cours du soir JMeter - Valtech 18 Premier aperçu de JMeter
  • 19. Cours du soir JMeter - Valtech 19 L'enregistrement des scripts HTTP
  • 20. Cours du soir JMeter - Valtech 20 L'organisation du plan de travail Eléments exécutés lorsque l'on lance le plan de test Attention c'est la seule partie qui est sauvée par Save Zone de dépôt des éléments utilisés temporairement (le proxy HTTP d'enregistrement par exemple) Test Plan Workbench Thread Group Nombre d'utilisateurs et d'itérations, ramp up
  • 21. Cours du soir JMeter - Valtech 21 Les concepts Logic Controller Configuration Pre-Processor Timers Temps d'attente Sampler Emission des requêtes Post Processor Extraire des données du résultat Assertions Vérifier le résultat Listeners Visualise le résultat
  • 22. Cours du soir JMeter - Valtech 22 Comment simuler la réalité ? On ne peut pas jouer la réalité dans toute sa complexité On construit une expérience de laboratoire qui simule certains aspects de cette réalité On construit une expérience de laboratoire qui simule certains aspects de cette réalitéRéalité Evaluation des risques Point à évaluer Expérience Evaluation des résultats Restitution
  • 23. Cours du soir JMeter - Valtech 23 Comment faire un test juste ? Et de ne plus le faire ! Le résultat du test dépend totalement des scénarios définis et de leur implémentation Le meilleur moyen de ne pas biaiser inconsciemment est d'apprendre comment biaiser volontairement ... BiaisBiais
  • 24. Cours du soir JMeter - Valtech 24 Atelier scénario Groupe 1 Mauvaise foi positive Groupe 2 Mauvaise foi négative Définissez des scénarios de test qui rendront le résultat meilleur Définissez des scénarios de test qui rendront le résultat pire
  • 25. Cours du soir JMeter - Valtech 25 Les biais affectant les scénarios Ambivalent Groupe 1 Mauvaise foi positive Groupe 2 Mauvaise foi négative Utiliser toujours les mêmes valeurs en cache Volumes trop faibles Déloguer les utilisateurs Utiliser des raccourcis d'IHM que les utilisateurs ne connaissent pas Utiliser des mots clés exacts Ne pas vérifier les réponses Utiliser des mots clés trop génériques (*) Oublier les attentes entre les actions Monter en charge trop vite Définir un scénario utilisateur trop court V olumes surévalués Ignorer les limitations de ressources externes (injecteurs, réseau) Jouer un test trop court
  • 26. Cours du soir JMeter - Valtech 26 Réalisation du scénario JMeter Enregistrement du scénario Finalisation du script Tir de rodage Application PetClinic de Spring : ●Serveur Tomcat ●Base de données Hsqldb sur filesystem Exemple de scénario simple : recherche d'un propriétaire
  • 27. Cours du soir JMeter - Valtech 27 Comment lire le résultat ? Jmeter produit un log en XML Rechargement du log .jtl dans JMeter Ajout des listeners qui permettent de calculer les stats et grapher Les listeners sont assez rudimentaires et il faut souvent compléter avec Excel ou du script
  • 29. Cours du soir JMeter - Valtech 29 Exploiter les résultats Analyser et ValiderAnalyser et Valider ComprendreComprendre SynthétiserSynthétiser RestituerRestituer Des milliers de relevés Quelques chiffres et graphes Biais d'interprétation Biais de perception La simplification est inévitable. Il faut s'assurer qu'elle ne dénature pas
  • 30. Cours du soir JMeter - Valtech 30 Les biais d'agrégation Peut masquer des temps de réponse très long La moyenne Préférer les quantiles Ignorer les erreurs Les erreurs sont parfois reportées avec un temps égal à 0 La moyenne est 3 Le temps le plus élevé est 25 95% des relevés sont au dessous de 13 Les relevés de temps de réponse ont souvent des traines 3 13 25
  • 31. Cours du soir JMeter - Valtech 31 La répartition des données Histogram of ts Duration Frequency 2 3 4 5 6 05101520 Cumulative histogram of ts DurationFrequency 2 3 4 5 6 020406080100 > summary(data) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.779 3.203 3.834 3.840 4.483 5.966 > quantile(data,0.95) 95% 5.408672 > data <- rnorm(100,2)+2 100 valeurs Loi normale centrée sur 2 + 2
  • 32. Cours du soir JMeter - Valtech 32 Les biais de représentation : l'origine Quel test à les temps de réponse les plus élevés ? Time Duration 0 20 40 60 80 100 0123456 Time Duration 0 20 40 60 80 100 23456
  • 33. Cours du soir JMeter - Valtech 33 Les biais de représentation : le lissage Time Duration 0 20 40 60 80 100 0123456 Time Duration 0 20 40 60 80 100 0123456 Quel serveur a le comportement le plus stable ?
  • 34. Cours du soir JMeter - Valtech 34 Les biais de représentation : la couleur OK KO K0 OK Quel test a le plus faible taux d'erreur ?
  • 35. Cours du soir JMeter - Valtech 35 C'est fini “Les statistiques sont la forme la plus élaborée du mensonge”. Winston Churchill … mais c'est aussi un formidable outil Restez attentifs !
  • 36. Cours du soir JMeter - Valtech 36 Bibliographie et crédits Crédits photos et cliparts Brooks Elliott http://www.flickr.com/photos/8011986@N02/ Mohamed Ibrahim, http://www.clker.com/profile-9.html Francesco Marino http://www.freedigitalphotos.net/images/view_photog.php?photogid=809 Martineric http://www.flickr.com/photos/36665622@N00/ Sarflondondunc http://www.flickr.com/photos/sarflondondunc/ Krispeac http://www.flickr.com/photos/krispeac/ Bibliographie JMeter : http://jakarta.apache.org/jmeter/ JMeter HTTP Recording : http://jakarta.apache.org/jmeter/usermanual/jmeter_proxy_step_by_step.pdf