Émuler 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 testsEmulate Expected Real-World Usage of a Web Site or Application in a Load Test Using a Test Mix Models

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.You use load modeling options to more accurately predict the expected real-world usage of a Web site or application that you are load-testing. 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.It is important to do this because a load test that is not based on an accurate load model can generate misleading results.

Améliorations du modèle de combinaison de testsTest Mix Model Enhancements

À 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 :Using the Load Test Editor or the test mix model wizard, you can specify the following types of test mix for a load test scenario. Pour plus d’informations, consultez Changement du modèle de combinaison de tests dans un scénario.For more information, see Changing the Test Mix Model in a Scenario.

Vous pouvez spécifier l'une des options de modèle de combinaison de tests suivantes pour votre scénario de test de charge :You can specify one of the following test mix model options for your load test scenario:

  • Sur la base du nombre total de tests : détermine les tests de performances web ou tests unitaires qui sont exécutés quand un utilisateur virtuel démarre une itération de test.Based on the total number of tests: Determines which Web performance or unit test is run when a virtual user starts a test iteration. À la fin du test de charge, le nombre de fois où un test particulier exécuté correspond à la distribution de test assignée.At the end of the load test, the number of times that a particular test run matched the assigned test distribution. 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.Use this test mix model when you are basing the test mix on transaction percentages in an IIS log or in production data. Pour plus d’informations, consultez Pourcentage basé sur les tests démarrés.For more information, see Percentage Based on Tests Started.

  • Sur la base du nombre d’utilisateurs virtuels : détermine le pourcentage des utilisateurs virtuels qui vont exécuter un test de performances web ou un test unitaire particulier.Based on the number of virtual users: Determines the percentage of virtual users who will run a particular Web performance or unit test. À 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.At any point in the load test, the number of users who are running a particular test matches the assigned distribution. 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.Use this test mix model when you are basing the test mix on the percentage of users who are running a particular test. Pour plus d’informations, consultez Pourcentage basé sur les utilisateurs virtuels.For more information, see Percentage based on virtual users.

  • Sur la base du rythme de l’utilisateur : au cours du test de charge, chaque test de performances web ou test unitaire est exécuté un nombre spécifique de fois, par utilisateur et par heure.Based on user pace: Over the course of the load test, each Web performance test or unit test is run a specified number of times per users, per hour. 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.Use this test mix model when you want virtual users to run test at a certain pace throughout the load test. Pour plus d’informations, consultez Combinaison de tests rythmée.For more information, see Pacing test mix.

    Conseil

    Quand choisir un pourcentage de combinaison de tests et quand choisir un pourcentage basé sur les utilisateurs virtuels ?When do you choose Percentage test mix and when do you choose Percentage based on virtual users? 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.The difference between these two choices is important when some tests in the test mix have a much longer duration than other tests. Dans cette situation, vous devrez probablement choisir un pourcentage basé sur les utilisateurs virtuels.In this situation, you should probably choose Percentage based on virtual users. 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.This choice helps avoid a test run in which the probability increases that too many users will be running long-duration tests. Toutefois, si les tests ont tous une durée comparable, vous pouvez sans risque choisir le pourcentage de combinaison de tests.However, if the tests all have similar durations, you can more safely choose Percentage test mix.

  • Sur la base de l’ordre de tests séquentiel : chaque utilisateur virtuel exécute les tests de performances web ou les tests unitaires dans l’ordre dans lequel les tests sont définis dans le scénario.Based on sequential order: Each virtual user runs the Web performance or unit tests in the order that the tests are defined in the scenario. L'utilisateur virtuel continue à parcourir les tests dans cet ordre jusqu'à ce que le test de charge soit terminé.The virtual user continues cycling through the tests in this order until the load test is complete. Pour plus d’informations, consultez Ordre Séquentiel.For more information, see Sequential Order.

Pourcentage basé sur les tests démarrésPercentage Based on Tests Started

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.For each test in the mix, you can specify a percentage that determines how frequently the test is selected as the next test to run. Par exemple, vous pouvez assigner les pourcentages suivants à trois tests :For example, you might assign the following percentage values to three tests:

  • TestA (50%)TestA (50%)

  • TestB (35%)TestB (35%)

  • TestC (15%)TestC (15%)

    Lorsque ce paramètre est défini, le prochain test à démarrer dépend des pourcentages assignés.If you use this setting, the next test to start is based on the assigned percentages. Cette opération est effectuée sans tenir compte du nombre d'utilisateurs virtuels qui exécutent actuellement chacun des tests.You do this without taking into account the number of virtual users who are currently running each test.

Pourcentage basé sur le nombre d’utilisateurs virtuelsPercentage Based on Virtual Users

Ce modèle de combinaison de tests détermine le pourcentage d'utilisateurs virtuels qui effectueront un test particulier.This model of test mix determines the percentage of virtual users who will run a particular test. 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.If you use this model of test mix, the next test to start is based not only on the assigned percentages but also on the percentage of virtual users who are currently running a particular test. À 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.At any point in the load test, the number of users who are running a particular test matches the assigned distribution as closely as possible.

Combinaison de tests rythméePacing Test Mix

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.If you specify a pacing test mix, you set a rate of test execution for each virtual user for each test in the test mix. Pour chaque test, ce taux est exprimé sous forme de série de tests par utilisateur virtuel et par heure.For each test, this rate is expressed as tests run per virtual user per hour. Par exemple, vous pouvez assigner le rythme de combinaison de tests suivant aux tests ci-dessous.For example, you might assign the following pacing test mix to the following tests:

  • TestA : 4 tests par utilisateur et par heureTestA: 4 tests per user per hour

  • TestB : 2 tests par utilisateur et par heureTestB: 2 tests per user per hour

  • TestC : 0,125 tests par utilisateur et par heureTestC: 0.125 tests per user per hour

    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é.If you use the pacing test mix model, the load test runtime engine guarantees that the actual rate at which tests are started is less than or equal to the specified rate. 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.If the tests run too long for the assigned number to be completed, an error is returned.

    Le paramètre Temps de réflexion entre les itérations de test ne s’applique pas quand vous utilisez une combinaison de tests rythmée.The Think Time Between Test Iterations setting does not apply when you use a pacing test mix.

Application d'une distribution au rythmeApplying Distribution to Pacing Delay

La propriété Appliquer une distribution au rythme dans un scénario de test de charge peut avoir la valeur True ou False :The value for the Apply Distribution to Pacing Delay property in a load test scenario can be set to either true or 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.True: The scenario will apply typical statistical distribution delays specified by the value in the Tests Per User Per Hour column in the Edit Test Mix Dialog. 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.For more information, see Editing Text Mix Models to Specify the Probability of a Virtual User Running a Test.

    Supposons que vous ayez comme 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.For example, assume that you have Tests Per User Per Hour value in the Edit Test Mix Dialog for the test set to 2 users per hour. 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.If Apply Distribution to Pacing Delay property is set to True, a typical statistical distribution is applied to the wait time between the tests. Les tests exécuteront toujours 2 tests par heure, mais l'intervalle entre eux ne sera pas nécessairement de 30 minutes.The tests will still run 2 tests per hour, but it will not necessarily be 30 minutes between them. Le premier test peut être exécuté après 4 minutes et le deuxième test après 45 minutes.The first test could run after 4 minutes and the second test after 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.False: The tests will run at the specific pace you specified for the value in the Tests Per User Per Hour column in the Edit Test Mix Dialog. 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.For more information, see Editing Text Mix Models to Specify the Probability of a Virtual User Running a Test.

    Supposons que vous ayez comme 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.For example, assume that you have Tests Per User Per Hour value in the Edit Test Mix Dialog for the test set to 2 users per hour. 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.If the Apply Distribution to Pacing Delay property is set to False, you are basically giving no leeway when your tests run. Le test s'exécutera toutes les 30 minutes.The test will run every 30 minutes. Cela permet de s'assurer que vous exécutez 2 tests par heure.This makes sure that you execute 2 tests per hour.

    Pour plus d’informations, consultez Guide pratique pour appliquer la distribution au rythme quand vous utilisez un modèle de combinaison de tests basée sur le rythme de l’utilisateur.For more information, see How to: Apply Distribution to Pacing Delay When Using a User Pace Test Mix Model.

Ordre séquentielSequential Order

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.Selecting the Based on sequential test order option makes each virtual user run all the tests in the scenario in the order that the tests were defined.

Propriété des itérations de testsTest Iterations Property

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.In the Run Settings properties, you can specify a value for the Test Iterations property. Cette valeur définit le nombre d'itérations de tests à exécuter dans un test de charge.This value is the number of test iterations to run in a load test. 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.After the specified number of test iterations has been started, no additional test iterations will be started despite the settings of any of the load profiles. Une fois que le nombre d'itérations de tests spécifié a été réalisé, le test de charge s'achève.After the number of test iterations specified has been completed, the load test ends. Pour plus d’informations, consultez Guide pratique pour spécifier le nombre d’itérations de tests dans un paramètre d’exécution.For more information, see How to: Specify the Number of Test Iterations in a Run Setting.

Tests d'initialisation et de finInitialize and Terminate Tests

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.You can select tests to run at the beginning and end of each virtual user's load testing session. 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.For more information, see Editing Text Mix Models to Specify the Probability of a Virtual User Running a Test.

  • Test d’initialisation.Initialize test. Ce test est exécuté par chaque utilisateur virtuel avant les différents tests de la combinaison de tests.This test is run by each virtual user before any of the tests in the test mix are run.

  • Test de fin.Terminate test. Ce test est exécuté après que tous les tests d'un utilisateur virtuel particulier ont été effectués.This test is run after all tests for a particular virtual user are run.

    Prenez note des points suivants à propos des tests d'initialisation et de fin :Please note the following about the initialize test and the terminate test:

  • Vous pouvez spécifier la durée du test de charge par heure au lieu de la spécifier par nombre d'itérations.You can specify the load test duration by time instead of by iteration count. 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.In this case, when the load test run duration has completed, the terminate test will not be run.

  • 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.If the initialize test is a unit test or a Web performance test, the state of the TestContext, or WebTestContext, object after the completion of the initialize test is saved. Il va être utilisé comme contexte initial pour les itérations de tests dans la combinaison de tests.It will then be used as the starting context for iterations of tests in the test mix.

  • 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.New Users, as defined in the scenario property Percentage of New Users, always execute the initialize test, one iteration of a test from the test mix, and the terminate test.

Voir aussiSee also