Aller au contenu
tests-performanceRechercherCtrl K
Partager sur LinkedInJMeter6 min de lecture

Feather Wand 4.0 pour JMeter : « Make it pass » valide la rejouabilité d'un script, la charge reste à préparer

Feather Wand 4.0.0, l'agent IA libre pour JMeter, enchaîne enregistrement, réparation du script, conception de la charge et contrôle préalable. La chaîne rend service. Reste qu'un script qui « passe » à 2 utilisateurs ne tient pas forcément la charge, et la démonstration de l'auteur le montre elle-même.

L’essentiel

  • Make it pass rejoue à 1 puis 2 utilisateurs : il contrôle la rejouabilité d'un script, sans test de charge.
  • Le Workload Designer produit des propriétés ${__P()} et des commandes CLI, mais part d'un temps de réponse supposé.
  • Preflight contrôle le plan localement, sans tir ni appel à l'IA, et rattrape les écouteurs lourds.
Sommaire
  1. Feather Wand 4.0 et la préparation des tirs
  2. La chaîne de bout en bout
  3. Une démo sans corrélation à faire
  4. Workload Designer, des valeurs à mesurer
  5. Preflight, un contrôle local avant le tir
  6. Fournisseurs, installation et confidentialité
  7. Make it pass dans la préparation

Feather Wand 4.0 et la préparation des tirs

Feather Wand est un plugin libre et gratuit qui ajoute un agent IA à l'interface de JMeter. Son auteur, NaveenKumar Namachivayam, a présenté la version 4.0.0 le 6 novembre 2026 sur son blog QAInsights, en la décrivant comme la plus grosse version de l'outil. Elle succède au chat dans JMeter (1.0), à l'ouverture aux CLI d'IA comme Claude Code (2.0), puis à un mode Agent qui agit sur le plan de test (3.0).

Deux briques nouvelles concernent directement la préparation d'un test de charge. Make it pass est une boucle encadrée qui rejoue le plan, le corrige et le confirme. Le Workload Designer transforme une charge cible en configuration de tir et s'accompagne d'un contrôle préalable, Workload Preflight.

L'auteur parle d'aller de l'enregistrement à un « validated JMeter test plan ». Ce que l'outil valide en réalité, c'est un script rejouable ; son propre article le montre, limites comprises, et c'est ce qui nous a fait le lire de près.

La chaîne de bout en bout

Enregistrer en langage naturel

Le Browser Recording pilote un vrai navigateur via Playwright MCP, pendant que le proxy de JMeter capture le trafic. Vous décrivez le parcours en anglais courant. La fonction est désactivée par défaut et s'active dans user.properties :

properties
jmeter.ai.record.enabled=true

Sur la démo de l'auteur, une démo bancaire publique de Google où l'argent est fictif, l'enregistrement a produit 10 requêtes réparties en 5 étapes, de la connexion à la déconnexion. L'agent y a joint des remarques utiles : paramétrer les montants et le numéro de compte avant toute charge, et un chargement de page en trop sur l'étape de dépôt, point que nous vérifierions à chaque enregistrement.

La boucle Make it pass

On le lance avec @fix dans le chat ou par un bouton en fin d'enregistrement. Le déroulé décrit par l'auteur :

  1. confirmation de l'hôte cible avant tout envoi de trafic ;
  2. rejeu à 1 utilisateur, 1 itération ;
  3. corrections par tours, avec un diff du plan à chaque tour ;
  4. ajout d'écouteurs et d'assertions de page déterministes ;
  5. contrôle à 2 utilisateurs × 2 itérations, pour attraper sessions partagées et valeurs codées en dur ;
  6. rapport affiché dans JMeter et enregistré sous ~/.jmeter-ai/fix-reports/.

La confirmation d'hôte est une bonne idée : un agent qui envoie du trafic doit demander où il l'envoie. Le bouton Stop arrête la boucle immédiatement, et chaque modification laisse une trace dans un diff et dans le rapport.

Une démo sans corrélation à faire

Sur la démo, l'enregistrement était déjà propre : 0 échec sur 60 requêtes, donc aucun tour de réparation. Make it pass a ajouté 10 assertions de réponse et deux écouteurs, et il a relevé un mot de passe en clair dans une requête de login, à déplacer vers des variables ou un CSV. Le contrôle à 2 × 2 est passé sans erreur.

L'auteur écrit pourtant lui-même : « A clean recording is not a load-ready script ». Make it pass n'a pas vu l'identifiant de transaction codé en dur dans les requêtes de dépôt et de paiement, que l'auteur remplacerait par ${__UUID()} avant une vraie charge. Il précise dans ses limites que l'outil n'a pas touché à la corrélation, faute d'échec à réparer.

La boucle répare ce qui casse. Un identifiant figé qui ne fait échouer aucun rejeu à 2 utilisateurs, comme sur la démo, lui échappe : la revue des valeurs dynamiques reste votre travail. Quant aux assertions ajoutées, elles vérifient la présence d'un libellé sur la page, un minimum qui ne remplace en rien une validation métier.

Workload Designer, des valeurs à mesurer

Le designer s'ouvre par le menu Run, une icône ou @load, sans appel à l'IA. Il propose six formes : Load, Endurance, Step, Spike, Stress et Custom. Ce qui nous plaît :

  • les valeurs deviennent des propriétés ${__P()}, donc surchargeables par la CI sans toucher au JMX ;
  • il génère les lignes de commande pour Bash, cmd et PowerShell, avec la taille de heap calculée ;
  • il vérifie si les injecteurs déclarés (hôtes, vCPU, RAM) peuvent tenir la charge ;
  • il explique ses hypothèses en clair.

Une de ces hypothèses demande de la vigilance. Sur la démo, le designer a supposé un temps de réponse moyen de 500 ms, tout en recommandant de le mesurer avec un rejeu à 1 utilisateur. Faites cette mesure avant d'appliquer quoi que ce soit.

Sur le plan de la démo, le designer a aussi précisé que chaque arrivée de l'Open Model Thread Group exécute une itération ; les débits saisis sont des itérations par seconde par injecteur, ce qu'il faut garder en tête à la lecture des résultats. Selon sa note, chaque injecteur doit tourner sous JMeter 5.5 ou plus récent ; l'auteur a testé sous 5.6.3.

Pour l'intégration en pipeline, notre article sur les tests de performance dans la CI/CD détaille seuils et cadence.

Preflight, un contrôle local avant le tir

Preflight vérifie les éléments actifs et les réglages hérités du plan, sans lancer de tir ni appeler d'IA. Il signale les écouteurs lourds, les noms de fichiers CSV vides pour les tirs distribués et les valeurs hors bornes.

Sur la démo, il a levé un seul avertissement, sur le View Results Tree que Make it pass venait d'ajouter : un outil pose un écouteur pour déboguer, l'autre rappelle de le couper avant la charge. Instantané et local, c'est le genre de vérification qu'on aimerait voir systématique avant chaque tir.

Fournisseurs, installation et confidentialité

Sujet Ce qu'il faut savoir
Fournisseurs Anthropic, OpenAI, Gemini, DeepSeek, Grok, Meta Muse, OpenRouter, OpenCode, Ollama
Configuration Dialogue « Connect a provider », sans redémarrage ; Bedrock et passerelles d'entreprise restent dans user.properties
Sans clé payante Modèles gratuits via OpenCode, ou modèles locaux via Ollama
Jar allégé Le runtime ONNX est téléchargé à la demande et vérifié par hash
Télémétrie Anonyme, élargie dans cette version, désactivable

Si votre politique interne l'exige, la télémétrie se coupe ainsi :

properties
jmeter.ai.telemetry.enabled=false

Le téléchargement du runtime à la demande pose question sur un poste sans accès internet, et la source ne dit pas comment le fournir hors ligne. Dernier détail : « Ask AI » est désactivé pendant un tir, pour éviter de modifier un plan en cours d'exécution.

Make it pass dans la préparation

Feather Wand 4.0 automatise bien les parties répétitives : enregistrer, rejouer, poser des assertions, préparer les commandes de tir. Preflight et la confirmation d'hôte relèvent d'une conception prudente, et l'auteur reconnaît que la qualité de l'agent dépend du modèle choisi.

Rien dans la source, en revanche, ne montre l'outil face à une application où une vraie corrélation est à reconstruire. La valeur des tours de réparation quand le script casse réellement reste donc à établir. D'ici là, traitez Make it pass comme un contrôle de rejouabilité, pas comme une validation pour la charge. Gardez votre revue des valeurs dynamiques et des jeux de données, mesurez le temps de réponse au lieu d'accepter l'hypothèse par défaut, et suivez le conseil de l'auteur : ne lancez pas de charge sur le site de démo d'un autre.

Pour situer cet outil parmi les autres usages de l'IA, voir ce que les éditeurs documentent. L'approche voisine côté Gatling est décrite dans transformer un parcours Playwright en test de charge.

Publié par Philippe Naveau

Sources

Dans la même catégorie.

↑ ↓ choisirEntrée ouvrirÉchap fermer