Affinage du scénario de tests

Affinage du scénario de tests

JMeter avec sa fonction de proxy nous a permis de faire automatiquement un gros travail d’écriture du scénario de tir. Cependant il reste un travail de vérification et d’affinage à faire.

Ajout des identifiants des Requêtes HTTP

Afin de mieux retrouver les différents éléments testés dans les récepteurs de résultats, nous allons ajouter un identifiant dans le nom des éléments Requêtes HTTP. Ainsi avant le champ Nom correspondait à l’URI de la page, maintenant ce sera un identifiant +l’URI de la page. Par exemple, avant le nom était : « /examples/servlets/index.html », ensuite le nom deviends : « 03 /examples/servlets/index.html ». Le 03 pour la troisième requête.

Ajout des ID item HTTP Request

Voici un petit nettoyage à faire : dans le deuxième appel à la servlet SessionExample, il y a eu le jssessionid qui a été ajouté à l’URI, on va le supprimer du champ Chemin.

Nettoyage jssessionid

Le résultat du nettoyage donne ceci :

Résultat nettoyage jssessionid

Ajout d’élément de type Récepteur

Maintenant nous allons ajouter à notre scénario de tir des nouveaux éléments afin de pourvoir « voir » les résultats d’un test de charge. Pour cela, on se place sur l’item Groupe d’unités, et avec un clic droit avec la souris on ajoute un Rapport Consolidé.

Ajout d'un Summary Report

Et on termine avec un élément Récepteurs > Arbre de résultats.

Ajout d'un item View Results Tree

On a donc pour finir, deux éléments récepteurs différents pour notre scénario de tir.

Résultat ajout des trois items listener

Premier test de tir de charge

Maintenant nous sommes prêts pour faire un premier test de tir, qui nous permettra de vérifier la validité du tir. L’élément Groupe d’unités indique les valeurs suivantes :

  • Nombre d’unités (utilisateurs), valeur : 1
    Il s’agit du nombre de thread (au sens java) que JMeter va lancer pour exécuter le scénario de tir. En d’autres termes, il s’agit du nombre d’utilisateurs virtuels qui vont exécuter le scénario. Pour ce premier tir, on laisse la valeur 1 pour le nombre d’unités, puisqu’il s’agit de vérifier la validité du tir.
  • Durée de montée en charge (en secondes), valeur : 1
    Il s’agit de la période de montée en charge des utilisateurs virtuels, ici on est à 1 seconde. Imaginons avoir une période de montée en charge de 20 secondes avec 10 utilisateurs virtuels, cela signifierait que un nouvel utilisateur commence son scénario de tir chaque deux secondes.
  • Nombre d’itérations, valeur : 1
    Ce paramètre permet d’indiquer le nombre de fois qu’un utilisateur virtuel va exécuter le scénario de tir à la suite.

Item Thread group avant le lancement du premier tir

Pour lancer le tir, on peut utilise le raccourci clavier Ctrl + R ou bien le menu Lancer > Démarrer. Une fois terminé, on se place sur le récepteur Rapport consolidé pour consulter les résultats.

Nouveau résultat du deuxième tir de charges

Ici tous les résultats sont Ok (pas d’erreur dans la colonne % Erreur). Cependant ce n’est pas totalement vrai. En effet, les tests d’assertion effectués sur les tests sont vides. On ne vérifie pas réellement la réponse reçue. Il faut donc aller personnaliser les tests d’assertion de chaque page demandée pour préciser le résultat attendu.

Personnalisation du test d’assertion TEST01

On commence en allant dans le récepteur Arbre de résultats, onglet Données de réponse. Cet écran nous donne le code HTML reçu en réponse de la requête. Nous allons sélectionner une partie de code HTML, cette partie doit être représentative d’une bonne exécution de la page, c’est-à-dire que si la page retournée n’est pas celle attendue, la partie de code HTML n’est pas présente dans les données de réponse d’erreur.

Selection du texte représentatif d'une bonne exécution du Test 01

Ensuite on va dans l’élément Assertion Réponse du test 01, et on modifie le champ Motifs à tester en ajoutant le texte représentatif d’une bonne exécution.

Ajout du texte représentatif d'une bonne exécution du Test 01 dans le test d'assertion

On refait la même opération pour le test 02

Selection du texte représentatif d'une bonne exécution du Test 02

On modifie le test d’assertion pour le test 02.

Ajout du texte représentatif d'une bonne exécution du Test 02 dans le test d'assertion

On continu avec le test 03 et le test 04.

On finit pas le test 05. La particularité de ce test est qu’il s’agit d’un test de résultat de l’exécution d’un formulaire dynamique. Il faut donc choisi un texte représentatif en relation avec le résultat attendu.

Selection du texte représentatif d'une bonne exécution du Test 05

On modifie le test d’assertion pour le test 05.

Ajout du texte représentatif d'une bonne exécution du Test 05 dans le test d'assertion

Il nous reste donc à tester si tout se passe bien au niveau des tests d’assertion lors d’un nouveau tir de charge de vérification. On fait donc un Ctrl + E, suivi d’un Ctrl + R.

Resultats JMeter

Et voilà le test du test de charge est concluant.

Passons à l’étape suivante : le test de charge.

Flattr this!

Un commentaire

  1. Yolanda dit :

    Ce tutoriel est excellent. Merci encore !!