Ce tutoriel explique comment utiliser PTS pour créer et exécuter un scénario de test de charge en plusieurs étapes qui simule un workflow typique d'éducation en ligne.
Scénario
Un site web d'éducation en ligne doit tester la charge de son workflow de sélection de cours. Ce workflow comprend trois étapes, chacune ayant des exigences spécifiques :
-
Connexion au système d'éducation en ligne
Construisez les requêtes de connexion avec les informations utilisateur, telles que les noms d'utilisateur et les mots de passe.
Transmettez les informations de connexion de l'utilisateur (cookie) aux requêtes suivantes View course list et Submit course selection.
-
Affichage de la liste des cours
Transmettez l'ID du cours à la requête Submit course selection.
-
Soumission de la sélection de cours
Utilisez l'ID du cours de la requête précédente pour construire la requête de soumission du cours.
Vérifiez si la soumission du cours a réussi.
La configuration de base du scénario de test de charge est la suivante.
La session session1 est configurée avec trois API actives (3/3), toutes utilisant la méthode POST : Login, Query et Submit. Ces API correspondent aux étapes de connexion, de requête de la liste des cours et de soumission de la sélection de cours.
Prérequis
Vous avez activé le service PTS.
-
Préparez un fichier de paramètres au format
CSV. Pour plus d'informations sur les exigences relatives aux fichiers de paramètres, consultez Spécifications des fichiers de paramètres.username,password user1,Password1 user2,Password2 user3,Password3
Étape 1 : Configurer le scénario de test de charge
-
Connectez-vous à la console PTS, choisissez , puis cliquez sur PTS.
-
Ajoutez le fichier de paramètres à une source de données.
Cliquez sur Data Sources. Dans l'onglet Files, cliquez sur + Upload File et sélectionnez un fichier de paramètres local que vous souhaitez télécharger.
Sélectionnez Use First Row as Parameter Name. Après avoir sélectionné cette option, vous n'avez pas besoin de spécifier les noms des paramètres. Les données de la première ligne sont utilisées comme noms de paramètres. Lorsque PTS lit le fichier de paramètres, il ignore les données de la première ligne. Si les données de la première ligne du fichier de paramètres ne sont pas des noms de paramètres, vous devez spécifier un nom de paramètre pour chaque colonne en fonction de votre scénario métier.

-
Ajoutez un nœud de configuration de données.
Dans l'onglet Scenario Settings, ajoutez une API de test de charge, cliquez sur la flèche déroulante à côté de Add Instruction, puis sélectionnez Parameter.
-
Dans l'onglet Data Source Parameters, sélectionnez les noms de paramètres existants.
RemarqueSi vous souhaitez utiliser chaque ligne une seule fois pour assembler les requêtes, sélectionnez Use Once. Une fois que les données requises ont été parcourues une fois, le scénario de test de charge cesse de générer de nouvelles requêtes de test de charge, quel que soit le niveau de charge configuré.
Si vous souhaitez recycler les paramètres pendant un test de charge, ne sélectionnez pas Use Once.
Vous pouvez sélectionner Use Once ou Baseline Column, mais pas les deux pour les paramètres. Si vous sélectionnez Use Once, vous ne pouvez pas sélectionner Baseline Column.

-
Construire la séquence d'API
-
Configurer l'API de connexion
Stress Testing URL : saisissez l'URL à tester. Cet exemple utilise
http://web.example.com/login.Request Method : sélectionnez
POST.Body Definition : définissez
Content-Typesurx-www-form-urlencoded. Ensuite, cliquez sur Text Edit dans le coin supérieur droit de la zone d'édition et saisissez{"username":"${username}","password":"${password}"}.RemarqueLes cookies de la requête actuelle, qui contiennent les informations de connexion de l'utilisateur, sont automatiquement partagés avec les autres API de ce scénario de test de charge. Aucune configuration manuelle n'est nécessaire.
-
Configurer l'API d'affichage de la liste des cours
Cliquez sur Add API et sélectionnez HTTP pour ajouter un nouveau nœud API. Configurez ensuite les informations de base de la requête.
**Test URL** : saisissez l'URL à tester. Cet exemple utilise **
http://web.example.com/mocks/online/list.**Méthode de requête : sélectionnez
POST.**
Pour transmettre un ID de cours à la requête suivante, vous devez l'extraire de la réponse de l'API actuelle en tant que paramètre de sortie. Sélectionnez l'onglet Output Parameter Definition et configurez-le comme suit.
Pour Output Parameter Name, saisissez
ID. Pour Source, sélectionnez Body: JSON. Pour parsing expression, saisissezschedule_list[1].ID.Output Parameter Name : saisissez un nom de paramètre personnalisé.
Source : sélectionnez le format d'analyse du corps, tel que JSON.
-
Parsing Expression : saisissez une expression d'analyse basée sur les détails de la réponse.
Par exemple, pour extraire le deuxième ID de cours du corps de réponse d'exemple suivant, définissez l'expression d'analyse sur
schedule_list[1].ID.{ "schedule_list": [ { "Name": "math", "ID": "001" }, { "Name": "english", "ID": "002" }, { "Name": "science", "ID": "003" } ] }RemarquePour définir et valider l'expression d'analyse d'un paramètre de sortie, utilisez la fonctionnalité de débogage d'expression. Une fois l'expression vérifiée, vous pouvez l'appliquer ici. Pour plus d'informations, consultez Déboguer un scénario.
-
Configurer l'API de soumission de la sélection de cours
Cliquez sur Add API et sélectionnez HTTP pour ajouter un nouveau nœud API. Configurez ensuite les informations de base de la requête.
Test URL : saisissez l'URL à tester. Cet exemple utilise
http://web.example.com/mocks/online/submit.Méthode de requête : sélectionnez
POST.
Sélectionnez l'onglet Body Definition et utilisez l'ID du cours que vous avez extrait de l'API précédente dans le
Bodyde la requête.Content-Type : sélectionnez le format
x-www-form-urlencoded.Key : saisissez une clé personnalisée, par exemple
ID_from_last_api.Value : cliquez sur Parameters dans le coin inférieur gauche de la page pour afficher les paramètres de session, tels que « ID ». Cliquez sur l'icône de copie et collez la valeur dans la zone Value.
Sélectionnez l'onglet Output Parameter Definition et configurez les paramètres suivants.
Output Parameter Name : saisissez un nom de paramètre personnalisé, par exemple
result.-
Source : sélectionnez un format d'analyse pour le corps, par exemple Body: TEXT.
RemarquePour la source, définissez le format d'analyse du corps sur TEXT. De même, vous pouvez également utiliser la fonctionnalité de débogage d'expression dans le débogage de scénario pour déboguer votre expression d'analyse.
Parsing Expression : saisissez une expression d'analyse basée sur les détails de la réponse. Dans cet exemple, le corps de la réponse est
result:success, donc l'expression d'analyse estresult:(.+).
Dans l'onglet Check Point (Assertion), définissez un point de contrôle pour cette API afin de vérifier si la soumission du cours a réussi.
Check Point Type : sélectionnez output parameter.
Check Object : sélectionnez result.
Check Condition : sélectionnez Equal To.
Content to Check : saisissez
success.
-
Étape 2 : Stress Mode Configuration
Après avoir construit le scénario, sélectionnez un mode de stress et définissez le niveau de charge.
Pressure Source : sélectionnez Public Network. Si vous testez un service dans un réseau interne Alibaba Cloud, sélectionnez Alibaba Cloud VPC Network.
Pressure Mode : sélectionnez Virtual User Mode. Le test de charge en mode utilisateur virtuel est plus adapté aux scénarios initiés par le client. Le mode RPS Mode mesure le débit du système du point de vue du serveur.
Increment Mode : sélectionnez Manual Speed Control.
Maximum Virtual Users : en mode utilisateur virtuel, saisissez le nombre maximal d'utilisateurs virtuels, par exemple 10.
Total Stress Testing Duration : par exemple, 1 minute.
Vous pouvez conserver les valeurs par défaut pour les autres paramètres.
L'exécution d'un test de charge entraîne des frais. Sélectionnez un niveau de stress raisonnable. Pour plus d'informations, consultez Aperçu de la facturation et Mode de pression et configuration du volume.
Étape 3 : Déboguer et démarrer le scénario
Déboguer le scénario pour vérifier votre configuration et éviter les échecs de test. Nous vous recommandons de déboguer le scénario en premier.
Cliquez sur Save and Start. Dans la boîte de dialogue Note, sélectionnez Execute Now, cochez la case The test is permitted and complies with the applicable laws and regulations., puis cliquez sur Start Test.
Analyser les résultats du test de charge
Une fois le test de charge terminé, le système collecte automatiquement des données, telles que les métriques du scénario de test de charge, les détails métier, les données de surveillance et les journaux d'échantillonnage des API, pour générer un rapport de test de charge. Vous pouvez consulter le rapport sur la page Stress Test Report. Pour plus d'informations, consultez Afficher un rapport de test de charge PTS. Sur la page Stress Test Report, vous pouvez afficher la liste des rapports de test de charge, qui contient des métriques telles que Stress Test Time, Report ID, Report Name, Stress Testing Duration, Average TPS (Transaction Per Second), Average RT (ms), request success rate, Business Success Rate et VUM Consumed. Dans la colonne Actions, cliquez sur View pour afficher un rapport détaillé, sur Set as Baseline pour définir le rapport comme référence, ou sur Delete pour supprimer le rapport.