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.
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.
Le résultat du nettoyage donne ceci :
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é.
Et on termine avec un élément Récepteurs > Arbre de résultats.
On a donc pour finir, deux éléments récepteurs différents pour notre scénario de tir.
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.
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.
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.
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.
On refait la même opération pour le test 02
On modifie le test d’assertion pour le test 02.
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.
On modifie le test d’assertion pour le test 05.
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.
Et voilà le test du test de charge est concluant.
Passons à l’étape suivante : le test de charge.
Ce tutoriel est excellent. Merci encore !!