Lors de la création d’une tâche d’application Web pour le test de charge, on peut fournir des données variables qui seront utilisées dans les tâches de l’appareil. Par exemple, cela nous permet de simuler les différents utilisateurs qui se connectent, les visiteurs à la recherche de différents produits, ou les tests d’URL dynamiques en spécifier des variables dynamiques.
À titre d’illustration, envisagez de tester la page de connexion où plusieurs utilisateurs doivent se connecter sous différents noms d’utilisateur. Tout d’abord, le script pour un seul utilisateur se connectant doit être créé, puis paramètres contextaux pour la connexion utilisateur et l’entrée de mot de passe dans le script doit être configuré. Pour configurer et gérer les paramètres context contextaux dans l’outil de script EveryStep, consultez les paramètres de contexte d’ajout à un article script.
Lorsque le script est enregistré et que l’appareil est configuré, la liste des variables dynamiques (l’ensemble des identifiants et mots de passe pour la simulation des utilisateurs dynamiques) peut être spécifiée dans le scénario de test. Voir Télécharger des variables dynamiques dans le scénario de test pour plus de détails. Découvrez l’ensemble du processus en action dans le didacticiel vidéo Advanced LoadView.
-
Quand utiliser des variables dynamiques et comment générer un ensemble de données de test
Le test de charge d’une application Web inclut l’enregistrement d’un script de test. En règle générale, un script de test reproduit les interactions utilisateur final avec une application Web telles que la connexion à l’application, la recherche, le remplissage et la soumission de formulaires Web, ou la navigation simple dans une fenêtre de navigateur réel. Ainsi, à l’aide d’un scénario de cas d’utilisation réel, la majorité des cas de test comprendront certaines étapes d’entrée de données.
Tester votre application Web avec les mêmes données d’entrée reproduit à peine un cas d’utilisation réel lorsque plusieurs utilisateurs exécutent l’étape de connexion ou remplissent une boîte de recherche avec des données différentes à la fois. En outre, dans certains cas, une application Web cible peut ne pas prendre en charge la connexion simultanée et vous ne serez pas en mesure d’exécuter plusieurs utilisateurs virtuels simultanés avec les mêmes valeurs de connexion et de mot de passe.
Mais est-il possible de rendre chaque session de test de charge unique ? La réponse est oui, tout ce dont vous avez besoin pour rendre vos scénarios de test de charge d’application Web plus réalistes, est de paramètre le script du scénario de test. En d’autres termes, introduisez des variables dynamiques pour les données d’entrée dans votre script de test et utilisez des valeurs uniques pour ces variables dans chaque session de test tout en exécutant le test de charge.
Variables dynamiques est une excellente option pour émuler les transactions web comme:
- Connexion avec différentes informations d’identification utilisateur.
- Remplir une boîte de recherche avec le texte différent d’une demande de recherche.
- Soumettez un formulaire Web avec des données d’entrée uniques (adresse téléphonique ou e-mail unique lors de l’inscription).
LoadView prend en charge l’importation de valeurs dynamiques des fichiers CSV externes vers un scénario de test de charge. Si vous savez à l’avance comment paramtriser votre scénario de test de charge, vous pouvez créer un fichier CSV avec un ensemble de valeurs dynamiques pour les paramètres correspondants dans le script de l’outil de script EveryStep. LoadView lira les lignes du fichier CSV et transmettra dynamiquement des valeurs uniques aux variables dynamiques correspondantes du script de test de charge pendant l’exécution du test de charge.
Examinons maintenant quelques particularités du processus dynamique de génération de données de test.
Il n’existe pas d’approche universelle pour générer des données de test. En règle générale, la première chose à faire est d’analyser les fonctionnalités d’une application Web. À ce stade, le type de données de test et leur structure doivent être discutés avec les développeurs d’applications. Le processus de génération de données peut être effectué à la fois par un ingénieur QA et une équipe de développement.
Avant de commencer un test de charge, il est important de s’assurer que la quantité de données de test que vous avez génère est suffisante pour l’exécution correcte du test. Par exemple, dans le cas d’une connexion simultanée dans chaque utilisateur virtuel simultané doit avoir une paire utilisateur-mot de passe unique. Dans le cas contraire, après la première connexion, toutes les tentatives ultérieures avec les mêmes informations d’identification d’accès entraîneront des erreurs d’exécution de script. Par conséquent, il est important de s’assurer que le nombre de valeurs variables dynamiques générées est égal ou supérieur au nombre maximum d’utilisateurs virtuels simultanés.
Lorsque vous générez des informations d’identification utilisateur pour un test de charge, il est important de s’assurer que les noms d’utilisateur et mots de passe de test sont uniques et répondent aux exigences de sécurité de l’application. Il est recommandé d’utiliser des modèles prédéfinis pour générer des comptes d’utilisateurs.
Vous pouvez générer des comptes d’utilisateurs via l’interface d’application Web ou créer des scripts automatisés pour générer des demandes d’API pour créer des comptes (pour un grand nombre d’utilisateurs), ou vous pouvez créer des comptes directement dans la base de données de l’application cible.
Un autre exemple où vous devrez peut-être générer des valeurs de test pour les variables dynamiques est un formulaire Web soumettre la transaction. Lors de l’exécution du script, le système utilisera les données du fichier CSV fourni pour remplir les champs de formulaires. Pour soumettre avec succès le formulaire, le format des valeurs variables dynamiques doit correspondre au format spécifié des champs de formulaire web. Par conséquent, il est nécessaire de prédéfinis un format de valeurs pris en charge pour toutes les variables dynamiques (par exemple, les numéros de téléphone).