Archive for the ‘Test fonctionnel’ Category.

Apache JMeter 3.0 est sortie

Logo JMeterAprès de longs mois de gestation, Apache JMeter 3.0 est sortie de sa coquille. Cela n’a pas été facile, il a fallut pas moins de 5 release candidate ! (En général c’est plutôt autour de 2.)

Oh là! 3.0 c’est un saut de version majeure, coté changement c’est énorme :

  • Plus d’une centaine de nouvelles fonctionnalités
  • Un site web relifté, un nouveau logo
  • De nouveaux icônes pour l’arbre JMeter
  • Une soixantaine d’anomalies corrigées
  • Le tout avec plus d’une vingtaine de contributeurs (hors commiters ASF)

Le site web relifté c’est ici

La longue liste des changements c’est ici

Le téléchargement c’est ici

Bons tests à tous !

Flattr this!

Et bien voilà, un livre sur Apache JMeter en français !

[Je démarre le mode « promo ».]

Ça y est, et après plus de deux années, l’équipe FR de JMeter, a sorti son livre sur Apache JMeter pour réaliser des tests de charges et bien plus encore. Antonio Gomes Rodrigues et moi-même avons commencé ce livre en 2013 après nous être aperçus que nous avions une même idée : « faire un livre sur JMeter », puis, Philippe Mouawad nous a rejoint dans l’aventure et nous a aidé à le finaliser.

Le résultat : un livre qui couvre quasiment toutes les possibilités de Apache JMeter tant bien entendu, sur les tests de charge d’un site web et la démarche de tir, que sur les tirs de charge vers des cibles plus exotiques comme les bases de données et les messageries orientées messages mais aussi l’intégration de JMeter dans la démarche DevOps visant à raccourcir les délais d’itérations des livraisons de ses applications.

Pour ceux qui ont déjà lancé JMeter, on peut dire que sa prise en main n’est pas toujours aisée, qu’à première vue, on se pose la question : on commence par où ? Et bien, une réponse aujourd’hui est : par ce livre !

Pour ce fameux (je l’espère) livre, nous avons choisi un mode de distribution « 2.0 » (voir 3.0?) en utilisant le service de publication LeanPub.com. Ce dernier nous permet d’une part de travailler à plusieurs sur un même livre (via un dépôt GIT et un fichier texte par chapitre) ainsi que (et surtout) de travailler par « version » du livre. Et oui, c’est un livre vivant ! Nous allons continuer à le faire vivre en fonction de vos remarques et des évolutions de JMeter afin de vous faire bénéficier du meilleur d’Apache JMeter !

Cerise sur le gâteau, le chapitre du livre sur l’écosystème JMeter est disponible gratuitement chez LeanPub !

Si l’aventure vous tente, vous pouvez visiter la page du livre ici.
[/Fin du mode « promo ».]

Flattr this!

Apache JMeter 2.12 est sortie

Eh bien voilà, Apache JMeter 2.12 est sortie. Au menu, quelques nouveautés et des corrections d’anomalies.

Tout d’abord, il y a le support de Java 8, vous pouvez maintenant utiliser JMeter sur cette version de Java.

Ensuite il y a les nouveautés :

Le Contrôleur Section critique qui permet d’avoir une section de son scénario qui s’exécute sans parallélisme (une seule instance de cette section à la fois).

Contrôleur Section critique

Le Gestionnaire de cache DNS qui permet de tester des services de type CDN (Content Delivery Network) ou des DNS configurés en round robin. Continue reading ‘Apache JMeter 2.12 est sortie’ »

Flattr this!

Apache JMeter 2.7 est sortie

Une nouvelle version de JMeter vient tout juste d’être publiée. A peine quatre mois après la version 2.6 datant du 1er février 2012, voici déjà la version 2.7 !

Cette nouvelle version corrige des anomalies bien entendu, mais également apporte quelques nouveautés et améliorations.

Un nouvel échantillon Appel de Processus Système fait son apparition. Il permet de demander à JMeter de lancer et exécuter un programme situé sur la machine, tout en permettant l’ajout de paramètres et de variables d’environnement à ce programme. Continue reading ‘Apache JMeter 2.7 est sortie’ »

Flattr this!

Apache JMeter 2.6 est sorti

Voici la première version de JMeter depuis la promotion du projet en tant que Top Level Domain (TLP) chez Apache. Pour rappel, JMeter était un sous projet de Jakarta, et était également le dernier de ses sous projets, les autres étant déjà devenu TLP.

La version 2.6 est une version qui apporte de jolies améliorations tout en amenant son lot de corrections d’anomalies.

Voici quelques captures de quelques nouveautés importantes : Continue reading ‘Apache JMeter 2.6 est sorti’ »

Flattr this!

JMeter : Déterminer automatiquement le chemin d’un fichier Source de données CSV en fonction de son système d’exploitation

Ce billet est inspiré ce commentaire de Vincent D. Merci à lui pour son commentaire et son autorisation d’utilisation dans ce billet.

Imaginez que vous devez faire un test de charge distribué avec un poste contrôleur et deux postes injecteurs. Malheureusement, vos injecteurs n’ont pas le même système d’exploitation que votre poste contrôleur. Ce dernier est sous Windows, et les injecteurs sont sous Linux.

Dans votre script JMeter, il y a un élément Source de données CSV qui vous permet (par exemple) d’avoir une liste d’identifiants/mot de passe de connexion.

Lors de la mise au point de votre script JMeter, vous utilisez seulement votre poste contrôleur, et la valeur du champ Nom de fichier dans votre Source de données CSV est :

c:/Temp/liste_login.csv

Ce chemin est valable sous Windows, mais bien entendu, ne sera pas valable sur vos injecteurs lorsque vous allez lancer le test distribué.

Juste avant ce test, il faut modifier le script JMeter pour changer la valeur du Nom de fichier par :

/tmp/liste_login.csv

Facile à faire, mais aussi facile à oublier de faire…

Voici un moyen de le faire automatiquement. Continue reading ‘JMeter : Déterminer automatiquement le chemin d’un fichier Source de données CSV en fonction de son système d’exploitation’ »

Flattr this!

Envoyer un email avec JMeter via son élément Requête SMTP

Ce billet est un petit « howto » pour vous montrer comment utiliser JMeter pour envoyer un email (courriel), ici en utilisant le serveur de messagerie SMTP de Google Mail.

Pour rappel, le SMTP (Simple Message Transfer Protocol) est le protocole normalisé d’échange de message électronique (email). Dans JMeter depuis la version 2.4, un nouvel échantillon appelé Requête SMTP a été ajouté pour avoir un client SMTP qui envoi donc un email.

Bien entendu, JMeter étant un outil de test de charge, avec cet échantillon, on peut faire un test de charge sur un serveur de messagerie franchement installé pour vérifier sa tenue de charge et robustesse (ce qui est mon cas), on peut aussi utiliser cet échantillon SMTP pour par exemple s’envoyer un email de rapport à la fin d’un test de charge « long » (qui dure plusieurs heures ou jours), ou tout simplement dans le cadre de la mise en place d’un système d’alerte en cas de temps de réponse dégradé d’un site web (par exemple) avec un script qui s’exécute toutes les x minutes ou heures.

Revenons à notre sujet, voici notre arbre JMeter tout simple pour ce test :

Continue reading ‘Envoyer un email avec JMeter via son élément Requête SMTP’ »

Flattr this!

Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance

Hudson est une plate-forme d’intégration continue, JMeter est un outil de test de charge et aussi de tests fonctionnels (on a tendance à l’oublier, mais pour faire du test de charge, il faut savoir faire du test fonctionnel). Que diriez vous d’intégrer dans Hudson l’exécution d’un test (de charge) JMeter, et d’avoir un beau graphique pour voir l’évolution des temps de réponses de votre application en fonction des ‘builds’ Hudson / versions de votre application ?

La réponse à cette question est l’objet de ce tutoriel. Continue reading ‘Intégration d’un test JMeter dans Hudson avec le plugin Hudson Performance’ »

Flattr this!

JMeter : le testeur d’expression régulière

Depuis la version 2.4 de JMeter, un nouvel sous-élément du récepteur Arbre de résultats est apparu, il s’agit du Testeur de RegExp.

Avant de vous montrer comment le trouver et l’utiliser, parlons-en un peu.

Comme vous le savez peut-être, JMeter dispose d’un élément Extracteur Expression régulière dans la catégorie Post-processeurs. La vocation de cet élément Extracteur Expression régulière est d’extraire à partir d’une expression régulière une ou plusieurs chaînes de caractères depuis la réponse reçue d’un échantillon de test. La puissance en termes d’extraction de données de cet élément est très forte, cependant, il est parfois peu aisée de trouver du premier coup la bonne expression régulière qui fera ce que vous voulez. En effet, vous devez jouer et rejouer le scénario pour tester votre expression régulière tant qu’elle n’est pas au point.

C’est là qu’intervient le Testeur de RegExp. Continue reading ‘JMeter : le testeur d’expression régulière’ »

Flattr this!

JMeter : Sauvegarder dans un fichier votre session de navigation lors de l’enregistrement de vos scénarios fonctionnels

Imaginez- vous en mission pour effectuer un test de charge avec votre logiciel favori JMeter. Vous allez suivre le processus habituel :

  1. Identifier le scénario fonctionnel qui sera rejoué par les utilisateurs virtuels
  2. Enregistrer ce scénario dans JMeter au travers d’un session de navigation avec votre navigateur
  3. Affiner le scénario (variabiliser ce qui doit l’être, ajouter des assertions réponses, etc.)
  4. Lancer votre tir

Le problème, c’est que vous avez accès à l’application cible pendant une période limitée, genre 15 min, ou bien que vous n’avez pas accès directement à l’application, vous devez passer un poste de travail pour accéder à l’application, ce poste étant bien entendu moins bien que votre ordinateur (genre c’est pas Linux ;-))

Que diriez-vous d’enregistrer votre session de navigation complète, c’est-à-dire les requêtes avec leurs paramètres mais surtout les réponses reçues par le navigateur, afin de pouvoir affiner votre scénario « à froid », sans connexion avec l’application cible, ou carrément tranquillement à la maison ?

Voici le mode d’emploi. Continue reading ‘JMeter : Sauvegarder dans un fichier votre session de navigation lors de l’enregistrement de vos scénarios fonctionnels’ »

Flattr this!