Émulation de l'utilisation réelle attendue d'un site Web ou d'une application dans un test de charge à l'aide de modèles de combinaison de tests
Vous utilisez les options de modélisation de charge pour prédire l'utilisation réelle attendue d'un site Web ou d'une application dont vous testez la charge. Il est important de le faire parce qu'un test de charge qui n'est pas basé sur un modèle de charge précis peut générer des résultats trompeurs.
Configuration requise
- Visual Studio Ultimate
Améliorations du modèle de combinaison de tests
À l'aide de l'éditeur de test de charge ou de l'Assistant de modèle de combinaison de tests, vous pouvez spécifier les types suivants de combinaison de tests pour un scénario de test de charge : Pour plus d'informations, consultez Étape 2.2 - Choix d'un modèle de combinaison de tests dans l'Assistant Nouveau test de charge et Modification du modèle de combinaison de tests dans un scénario.
Vous pouvez spécifier l'une des options de modèle de combinaison de tests suivantes pour votre scénario de test de charge :
Sur la base du nombre total de tests : Détermine les tests de performances de site Web ou tests unitaires qui sont exécutés lorsqu'un utilisateur virtuel démarre une itération de test. À la fin du test de charge, le nombre de fois où un test particulier exécuté correspond à la distribution de test assignée. Utilisez ce modèle de combinaison de tests lorsque vous basez la combinaison de tests sur les pourcentages de transaction dans un journal IIS ou dans les données de production. Pour plus d'informations, consultez Pourcentage basé sur les tests démarrés.
Sur la base du nombre d'utilisateurs virtuels : Détermine le pourcentage des utilisateurs virtuels qui exécuteront un test de performances de site Web ou un test unitaire particulier. À tout point pendant le test de charge, le nombre d'utilisateurs qui exécutent un test particulier correspond d'aussi près que possible à la distribution assignée de la manière la plus fidèle possible. Utilisez ce modèle de combinaison de tests lorsque vous basez la combinaison de tests sur le pourcentage d'utilisateurs qui exécutent un test particulier. Pour plus d'informations, consultez Pourcentage basé sur les utilisateurs virtuels.
XUIXBased on user Sur la base du rythme de l'utilisateur : Au cours du test de charge, chaque test de performances de site Web ou test unitaire est exécuté un nombre de fois spécifié par utilisateur et par heure. Utilisez ce modèle de combinaison de tests lorsque vous souhaitez que les utilisateurs virtuels exécutent des tests à un certain rythme dans le test de charge. Pour plus d'informations, consultez Combinaison de tests rythmée.
Conseil
Quand choisir un pourcentage de combinaison de tests et quand choisir un pourcentage basé sur les utilisateurs virtuels ?La différence entre ces deux choix est importante lorsque certains tests dans la combinaison de tests ont une durée beaucoup plus longue que d'autres.Dans cette situation, vous devrez probablement choisir un pourcentage basé sur les utilisateurs virtuels.Ce choix aide à éviter une série de tests au cours de laquelle trop d'utilisateurs risquent d'effectuer des tests de longue durée.Toutefois, si les tests ont tous une durée comparable, vous pouvez sans risque choisir le pourcentage de combinaison de tests.
Sur la base de l'ordre de tests séquentiel : Chaque utilisateur virtuel exécute les tests de performances de site Web ou les tests unitaires dans l'ordre dans lequel les tests sont définis dans le scénario. L'utilisateur virtuel continue à parcourir les tests dans cet ordre jusqu'à ce que le test de charge soit terminé. Pour plus d'informations, consultez l'Ordre Séquentiel.
Pourcentage basé sur les tests démarrés
Pour chaque test de la combinaison, vous pouvez spécifier un pourcentage qui détermine sa fréquence de sélection comme prochain test à exécuter. Par exemple, vous pouvez assigner les pourcentages suivants à trois tests :
TestA (50%)
TestB (35%)
TestC (15%)
Lorsque ce paramètre est défini, le prochain test à démarrer dépend des pourcentages assignés. Cette opération est effectuée sans tenir compte du nombre d'utilisateurs virtuels qui exécutent actuellement chacun des tests.
Pourcentage basé sur le nombre d'utilisateurs virtuels
Ce modèle de combinaison de tests détermine le pourcentage d'utilisateurs virtuels qui effectueront un test particulier. Si vous utilisez ce modèle de combinaison de tests, le prochain test à démarrer dépend non seulement des pourcentages assignés, mais aussi du pourcentage d'utilisateurs virtuels qui exécutent actuellement un test particulier. À tout point pendant le test de charge, le nombre d'utilisateurs qui exécutent un test particulier correspond d'aussi près que possible à la distribution assignée.
Combinaison de tests rythmée
Si vous spécifiez un rythme de combinaison de tests, vous devez définir un taux d'exécution de tests pour chaque utilisateur virtuel et chaque test dans la combinaison. Pour chaque test, ce taux est exprimé sous forme de série de tests par utilisateur virtuel et par heure. Par exemple, vous pouvez assigner le rythme de combinaison de tests suivant aux tests ci-dessous.
TestA : 4 tests par utilisateur et par heure
TestB : 2 tests par utilisateur et par heure
TestC : 0,125 tests par utilisateur et par heure
Si vous utilisez le modèle de combinaison de tests rythmée, le moteur d'exécution de test de charge garantit que le taux réel de démarrage des tests sera inférieur ou égal au taux spécifié. Si la durée d'exécution des tests est trop longue pour pouvoir achever le nombre de tests assigné, une erreur est retournée.
Le paramètre Temps de réflexion entre les itérations de test ne s'applique pas lorsque vous utilisez une combinaison de tests rythmée.
Application d'une distribution au rythme
La propriété Appliquer une distribution au rythme dans un scénario de test de charge peut avoir la valeur True ou False :
True : Le scénario applique des délais de distribution statistiques normaux spécifiés par la valeur de la colonne Tests par utilisateur et par heure dans la boîte de dialogue Modifier la combinaison de tests. Pour plus d'informations, consultez Modification des modèles de combinaison de texte pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel.
Supposons, par exemple, que vous ayez pour la valeur Tests par utilisateur et par heure dans la boîte de dialogue Modifier la combinaison de tests du jeu de tests 2 utilisateurs par heure. Si la propriété Appliquer une distribution au rythme a la valeur True, une distribution statistique classique s'applique au délai d'attente entre les tests. Les tests exécuteront toujours 2 tests par heure, mais l'intervalle entre eux ne sera pas nécessairement de 30 minutes. Le premier test peut être exécuté après 4 minutes et le deuxième test après 45 minutes.
False : Les tests seront exécutés à un rythme spécifique que vous avez spécifié avec la valeur de la colonne Tests par utilisateur et par heure dans la boîte de dialogue Modifier la combinaison de tests. Pour plus d'informations, consultez Modification des modèles de combinaison de texte pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel.
Supposons, par exemple, que vous ayez pour la valeur Tests par utilisateur et par heure dans la boîte de dialogue Modifier la combinaison de tests du jeu de tests 2 utilisateurs par heure. Si la propriété Appliquer une distribution au rythme a la valeur False, vous n'avez pour ainsi dire aucune marge de manœuvre pour exécuter vos tests exécutés. Le test s'exécutera toutes les 30 minutes. Cela permet de s'assurer que vous exécutez 2 tests par heure.
Pour plus d'informations, consultez Comment : appliquer la distribution au retard rythmé lorsque vous utilisez un modèle de combinaison de tests basée sur le rythme de l'utilisateur.
Ordre séquentiel
Sélectionner l'option Basé sur l'ordre séquentiel des tests permet à chaque utilisateur virtuel d'exécuter tous les tests du scénario dans l'ordre dans lequel les tests ont été définis.
Propriété des itérations de tests
Dans les propriétés Paramètres d'exécution, vous pouvez spécifier une valeur pour la propriété des itérations de tests. Cette valeur définit le nombre d'itérations de tests à exécuter dans un test de charge. Une fois que le nombre d'itérations de tests spécifié a été démarré, aucune itération supplémentaire n'a lieu, quels que soient les paramètres définis dans les profils de charge. Une fois que le nombre d'itérations de tests spécifié a été réalisé, le test de charge s'achève. Pour plus d'informations, consultez Comment : spécifier le nombre d'itérations de tests dans un paramètre de test de charge.
Tests d'initialisation et de fin
Vous pouvez sélectionner les tests à exécuter au début et à la fin de la session de test de charge de chaque utilisateur virtuel. Pour plus d'informations, consultez Modification des modèles de combinaison de texte pour spécifier la probabilité d'exécution d'un test par un utilisateur virtuel.
Test d'initialisation. Ce test est exécuté par chaque utilisateur virtuel avant les différents tests de la combinaison de tests.
Test de fin. Ce test est exécuté après que tous les tests d'un utilisateur virtuel particulier ont été effectués.
Prenez note des points suivants à propos des tests d'initialisation et de fin :
Vous pouvez spécifier la durée du test de charge par heure au lieu de la spécifier par nombre d'itérations. Dans ce cas, le test de fin n'est pas exécuté si la durée de la série de tests de charge est dépassée.
Si le test de fin est un test unitaire ou un test de performances de site Web, l'état de l'objet TestContext ou WebTestContext est enregistré lorsque le test d'initialisation s'achève. Il va être utilisé comme contexte initial pour les itérations de tests dans la combinaison de tests.
La valeur Nouveaux Utilisateurs, telle qu'elle est définie dans la propriété Pourcentage de nouveaux utilisateurs du scénario, exécute systématiquement le test d'initialisation, une itération de tests de la combinaison de tests et le test de fin.
Voir aussi
Concepts
Propriétés du scénario de test de charge
Autres ressources
Modification des modèles de charge en modèle d'activités des utilisateurs virtuels
Configuration des paramètres d'exécution des tests de charge
Étape 2.2 - Choix d'un modèle de combinaison de tests dans l'Assistant Nouveau test de charge
Étape 2.3 - Spécification de la combinaison de tests dans l'Assistant Nouveau test de charge
Modification du modèle de combinaison de tests dans un scénario