Exemple de script OneTest Performance pour commerce grand public (B2C) Emerald
HCL OneTest fournit des outils de test logiciel pour prendre en charge une approche DevOps : Test d'API, test fonctionnel, test d'interface utilisateur, test de performances et virtualisation de service. Cette approche aide à tester l'automatisation, pour la détection plus fréquente et antérieure des erreurs.
Before you begin
Un aspect clé du test de performances est la possibilité de simuler une charge utilisateur simultanée. L'exemple de script OneTest Performance pour le magasin Emerald (B2C) fournit un exemple de projet permettant de générer et simuler le trafic utilisateur par rapport au magasin Emerald (B2C). Le script inclut des scénarios de recherche, de navigation et de réservation courants. Les fonctionnalités ne sont pas toutes inclusives et doivent être adaptées pour correspondre aux personnalisations et aux modèles d'utilisation de votre magasin. Les exemples suivants illustrent comment importer, configurer et utiliser le script pour simuler le trafic utilisateur par rapport au magasin Emerald (B2C).
Configuration du script
- Document Word avec instructions de configuration du script.
- Fichier de script OneTest Performance.
Pour configurer le script OneTest Performance, vous devrez suivre trois étapes :
- Importez le script.
- Importez les bibliothèques.
- Nettoyez le projet.
- Importation du package
- Extrayez l'exemple de fichier de package (fichier zip) dans un répertoire de travail.
- Ouvrez OneTest et choisissez un nouvel espace de travail, puis choisissez un emplacement et un nom d'espace de travail approprié.
- Fermer l'onglet Bienvenue.
- Cliquez avec le bouton droit de la souris sur Navigateur de test et sélectionnez Importer.
- Sélectionnez Test > Actif de test avec dépendances et cliquez sur Suivant. Sélectionnez le fichier téléchargé à l'étape 1, puis cliquez sur Terminer.
- Importer les bibliothèques
- Si un x rouge apparaît dans le dossier SRC, suivez la procédure décrite ci-dessous (cette situation peut se produire si vous exécutez une version de OneTest inférieure à la version 10.1.x).
- Sélectionnez Propriétés dans le menu contextuel en cliquant avec le bouton droit de la souris sur le nom de projet.
- Dans la fenêtre Propriétés, sélectionnez Chemin de génération Java dans le volet de gauche et l'onglet Bibliothèques dans le volet de gauche.
- Cliquez sur le bouton Ajouter des fichiers JAR. Dans la fenêtre Sélection JAR, développez le projet et le dossier des bibliothèques. Sélectionnez les fichiers JAR et cliquez sur le bouton OK.
- Cliquez sur Appliquer et fermez la fenêtre.
- Nettoyer le projet
- Cliquez sur le menu Projet et sélectionnez la commande Nettoyer.
- Dans la fenêtre Nettoyer, assurez-vous que le projet est sélectionné, puis cliquez sur le bouton Nettoyer.
Mise à jour du script avant utilisation
Après avoir importé et configuré le script, vous devez le mettre à jour et appliquer des initialisations avant de pouvoir l'utiliser. Avant d'utiliser le script, assurez-vous qu'il est à jour.
- Mettez à jour les variables globales.
- Mettez à jour les pools de données.
- Mettez à jour les plannings.
Les détails de chacune de ces étapes se trouvent ci-dessous :
- Mettre à jour les variables globales
Le module Page d'accueil B2C héberge toutes les variables globales.
Pour afficher toutes les variables globales, allez à Vue Ressources, développez Modules B2C, ouvrez le module Page d'accueil B2C, puis développez Ressources de test et Variables de test.
Modifiez les valeurs des variables associées à vos environnements.
Table 1. Les variables qui doivent être mises à jour avant d'utiliser le script de performances sont les suivantes : Nom de variable Description hostname Nom d'hôte utilisé dans l'URL de la vitrine de commerce électronique. id_magasin ID du magasin.
Les ID de magasin par défaut sont 11 pour le magasin B2C Emerald et 12 pour le magasin B2B Sapphire.
L'administrateur du magasin peut fournir des ID de magasin.lang_id ID de langue par défaut du magasin.
-1 pour l'anglais.catalog_id ID de catalogue utilisé dans le magasin.
L'administrateur du magasin peut fournir des ID de catalogue.port_num Numéro de port utilisé dans l'URL de la vitrine. nom_magasin Nom du magasin.
L'URL complète de la vitrine est le nom d'hôte : port_num/store_namemax_items_in_cart Nombre maximal d'articles dans le panier. Pour chaque utilisateur, le nombre d'articles à ajouter au panier s'il est calculé de manière aléatoire pour être compris entre un et la valeur de max_items_in_cart. fixed_number_of_items_in_cart Cette variable indique si le nombre d'articles dans le panier est fixe tout au long de l'exécution ou est calculé de manière aléatoire pour chaque utilisateur. La valeur de cette variable est boolénne. 1 pour true et 0 pour false.
- Si fixed_number_of_items_in_cart = 1, le nombre d'articles dans le panier sera égal à la valeur de max_items_in_cart pour tous les utilisateurs.
- Si fixed_number_of_items_in_cart = 0, le nombre d'articles dans le panier sera sélectionné de manière aléatoire pour chaque utilisateur, entre 1 et la valeur de max_items_in_cart.
users_password Mot de passe utilisé pour les utilisateurs enregistrés. Le script est configuré pour utiliser un seul mot de passe pour tous les utilisateurs enregistrés. Si vous prévoyez d'utiliser un mot de passe différent pour chaque utilisateur, vous devrez peut-être créer un autre pool de données avec deux colonnes, une pour l'ID utilisateur et une pour son mot de passe. email_domain Domaine de messagerie qui sera ajouté automatiquement aux ID utilisateur. Il est défini par défaut sur company.com, de sorte que les e-mails seront au format string_email@company.com où string_email est une chaîne générée de manière aléatoire. enable_80_20 Cette variable active (lorsqu'elle est égale à 1) ou désactive (lorsqu'elle est égale à 0) la règle 80/20.
Lorsque la règle 80/20 est activée en définissant cette variable sur 1, elle modifie la façon de sélectionner de manière aléatoire les catégories et les produits. 20 % des catégories et 20 % des produits seront sélectionnés 80 % du temps. Cela augmente le nombre de caches trouvés.
Lorsque la règle 80/20 est désactivée en définissant cette variable sur 0, tous les articles de la vitrine sont sélectionnés de manière aléatoire sans règle.Les autres variables n'ont pas besoin d'être définies ou mises à jour. Il s'agit essentiellement d'un groupe de variables globales.
- Mettre à jour les pools de données
- Ouvrez le Datapools folder à partir du Navigateur de test.
- Modifiez le contenu de searchterm_oob datapool (en cliquant avec le bouton droit de la souris > Ouvrir avec > Editeur de texte) pour inclure les mots clés de recherche pertinents pour votre catalogue.
-
Ouvrez le userids datapool et remplissez-le avec les ID utilisateur que vous avez précédemment créés et importés dans la base de données.
Dans le pool de données, les utilisateurs au format "hcluser %" sont préalablement ajoutés.
Avant de commencer le test de performances, vous devez d'abord charger les utilisateurs enregistrés dans votre base de données.
- Mettre à jour les plannings
- Ce projet est divisé en quatre plannings :
Table 2. Planning Description B2CFlow Il s'agit du planning le plus important pour le chargement de la vitrine de production. Il contient le flux d'achats pour les utilisateurs enregistrés, le flux d'achats pour les utilisateurs invités et la recherche. TestB2CFlow Ce planning est identique à B2CFlow. Il doit être utilisé pour tester et déboguer de nouveaux modules ou codes personnalisés. Il utilise moins d'utilisateurs et le journal de trace est défini sur Tous. Vous pouvez désactiver/activer des parties des plannings pour tester une partie du flux. B2CCleanCarts Utilisé pour nettoyer les paniers. Il montre comment nous pouvons générer rapidement de nouvelles planifications en mettant à jour certains modules (B2CGoToCart) et en combinant certains modules. B2CDeleteFromCart Il est utilisé pour ajouter des articles au panier, puis nettoyer le panier. Ce planning montre comment combiner et ajouter des modules (sans modification) pour générer un planning. B2CMyAccount Utilisé pour tester Mon compte pour les utilisateurs enregistrés. Il ajoute et supprime des adresses. Cette partie n'est pas incluse dans B2CFlow, car elle peut créer un grand nombre d'adresses d'expédition et de facturation pour chaque utilisateur enregistré, ce qui n'est pas commun. - Avant l'exécution d'un test de performances, veillez à vérifier et à mettre à jour les éléments suivants selon les besoins :
- Afficher les options avancées
Cochez la case Afficher les options avancées lorsque vous accédez initialement au planning pour afficher les colonnes Change Rate et Settle Time.
- Caractéristiques de l'étape utilisateur
Sélectionnez, puis cliquez sur Editer pour modifier l'étape utilisateur. Vous pouvez ajuster le nombre d'utilisateurs, la durée de l'exécution, le rythme auquel les utilisateurs sont démarrés et le temps de règlement dans la fenêtre en incrustation.
Pendant une heure, la configuration ci-dessus exécute le planning avec 20 utilisateurs. Sur une durée de 5 minutes, les 20 utilisateurs seront opérationnels.
- Délai de réflexion
Pour vérifier le délai de réflexion, cliquez sur Catégorie et sélectionnez Délai de réflexion.
Le délai de réflexion est la durée requise par OneTest entre chaque requête. Pour la charge de stress, il est faible, et pour la charge de fiabilité, il se situe entre 2 et 5 secondes.
- Echantillonnage des statistiques
Définissez le niveau de journalisation et le temps d'intervalle utilisés par OneTest pour collecter des statistiques afin de vérifier l'échantillonnage des statistiques.
Pour les longues exécutions, augmentez l'intervalle, tandis que pour les courtes, diminuez-le.
- Journal de test
Vous pouvez définir un petit nombre d'utilisateurs et les niveaux de journalisation sur Tous si vous déboguez un problème. Décochez Affichez les erreurs et les échecs, Avertissements et Autres types pour les exécutions de production étendues et, en particulier, pour un grand nombre d'utilisateurs.
- Poids des transactions
Sélectionnez Sélecteur aléatoire dans Planning. Vous pouvez modifier le poids dans le volet de droite en fonction du scénario que vous souhaitez exécuter. Le pourcentage de blocage sur le planning change au cours de la modification du poids.
- Afficher les options avancées
- Ce projet est divisé en quatre plannings :
Exécuter le planning
Une fois que vous avez terminé les étapes précédentes, lancez le planning TestB2CFlow et exécutez-le avec un utilisateur pendant quelques minutes avec des journaux complets pour vérifier les problèmes éventuels.