test de montee en charge avec jmeter lauthentification

Test de montée en charge avec Jmeter : l'authentification

Dans le cadre des divers projets de test de montée en charge des applications web que l’on mène, l’une des problématiques à prendre en compte est le mécanisme d’authentification de l’application.

Dans Jmeter, l’élaboration des scénarios consiste à décrire très précisément les actions des utilisateurs sur l’application que l’on va ensuite faire exécuter N fois par Jmeter pour générer la quantité d’accès concurrents que l’on veut tester.

test montée en charge jmeter logo

Test de montée en charge : ex. d’un scénario simplifié

  • Action 1 : Dans le navigateur, saisir l’url de connexion
  • Action 2 : Cliquer sur « Accès client »
  • Action 3 : Saisir le nom d’utilisateur et le mot de passe, puis cliquer sur le bouton « connexion »
  • Action 4 : Depuis le dashboard de l’utilisateur, cliquer sur l’onglet « Mes commandes » et prendre connaissance de l’état d’avancement du traitement des commandes
  • Action 5 : Cliquer sur l’onglet « Se déconnecter »

Ceci implique qu’il va falloir étudier en détail la méthode d’authentification et traiter le séquencement des interactions entre Jmeter et l’application pour que nos utilisateurs « virtuels » soient reconnus comme de vrais utilisateurs.

Prendre rendez-vous avec un expert linux

Aujourd’hui, il existe de nombreuse techniques d’authentifications et de méthodes de sécurisation utilisées par la large palette des frameworks, langages et outils de création d’application.

Les techniques les plus courantes sont :

  • Authentification HTTP Méthode Basic
  • Authentification HTTP Méthode Digest
  • Token JSON Web (Authorization: Bearer)
  • Token CSRF (Cross-Site Request Forgery)
  • Token OAuth 2 (Open standard for authorization)
  • Token Kerberos Cookie
  • Basic Authentication with Token
  • Séquencement des requêtes

test de montée en charge : authentification

Pour mettre au point le scénario, la bonne pratique est d’utiliser le proxy d’enregistrement des scénarios fourni par Jmeter afin d’avoir la totalité des requêtes/réponses du dialogue client/serveur.

Mais, nous n’aurons qu’un enregistrement statique de cette phase d’authentification qui par définition ne sera plus ré-utilisable. La sécurisation par jeton permet justement l’anti-rejeu des données.

Tout l’art de la création d’un scénario pleinement fonctionnel est maintenant de variabiliser et calculer le séquencement dynamique des données en les ré-injectant dans les bons paramètres transmis au serveur.

gestion des pics d'activités d'un site e-commerce - Syloé

Comment procéder pour capturer un token CSRF nécéssaire à une authentification ?

1. On identifie le token créé par le serveur pour cette session et on le capture.

Syloe_TMC_Jmeter_CSRF_Token_Capture
Test de charge Authentification des scénarios Capture

2. Puis, on l’insère dans chaque requête de la session, pour valider toutes les requêtes du scénario Jmeter en cous d’execution pour cet utilisateur

Syloe_TMC_Jmeter_CSRF_Token_Submit
Test de charge Authentification des scénarios Submit

test de montée en charge

Réalisez des test de montée en charge en faisant appel à Syloé

Notre offre de service autour des tests de charge 
Notre offre de formation test de montée en charge avec Jmeter

Partage
Laisser un commentaire

Inscrivez-vous à la newsletter Syloé !

Recevez gratuitement les analyses de nos experts