Configurer les agents de test et les contrôleurs de test pour l’exécution de tests de chargeConfigure test agents and test controllers for running load tests

Visual Studio peut utiliser des ordinateurs physiques ou des machines virtuelles pour générer une charge simulée pour votre application.Visual Studio can generate simulated load for your app by using physical or virtual machines. Ces ordinateurs doivent être configurés comme un contrôleur de test unique, et un ou plusieurs agents de test.These machines must be set up as a single test controller and one or more test agents. Vous pouvez utiliser le contrôleur de test et les agents de test pour générer une charge supérieure à celle qu’un seul ordinateur peut générer à lui seul.You can use the test controller and test agents to generate more load than a single computer can generate alone.

Note

Vous pouvez également utiliser le test de charge cloud pour fournir des machines virtuelles qui génèrent la charge de nombreux utilisateurs accédant simultanément à votre site web.You can also use cloud-based load testing to provide virtual machines that generate the load of many users accessing your website at the same time. Découvrez plus en détail les tests de charge basés sur le cloud dans Exécuter des tests de charge à l’aide de VSTS.Learn more about cloud-based load testing at Run load tests using VSTS.

Architecture de la simulation de chargeLoad simulation architecture

L’architecture de la simulation de charge se compose d’un client Visual Studio, d’un contrôleur de test et d’agents de test.The load simulation architecture consists of a Visual Studio client, test controller, and test agents.

  • Le client est utilisé pour développer les tests, exécuter les tests et en afficher les résultats.The client is used to develop tests, run tests, and view test results.

  • Le contrôleur de test est utilisé pour administrer les agents de test et pour collecter les résultats des tests.The test controller is used to administer the test agents and collect test results.

  • Les agents de test sont utilisés pour exécuter les tests et pour collecter des données, y compris les informations système et les données de profilage ASP.NET définies dans les paramètres de test.The test agents are used to run the tests, and collect data including system information and ASP.NET profiling data defined in the test setting.

Cette architecture offre les avantages suivants :This architecture provides the following benefits:

  • La possibilité de faire évoluer la génération de charge en ajoutant des agents de test supplémentaires à un contrôleur de test.The ability to scale out load generation by adding additional test agents to a test controller.

  • Une flexibilité pour l’installation du logiciel du client, du contrôleur de test et des agents de test sur le même ordinateur ou sur différents ordinateurs.Flexibility for installing the client, test controller, and test agent software on the same or different computers. Exemple :For example:

    Configuration locale :Local configuration:

    • Ordinateur1 : Visual Studio, contrôleur, agent.Machine1: Visual Studio, controller, agent.

      Ordinateur local utilisant le contrôleur et l'agent

      Configuration à distance classique :Typical remote configuration:

    • Ordinateur1 et Ordinateur2 : Visual Studio (plusieurs testeurs peuvent utiliser le même contrôleur).Machine1 and 2: Visual Studio (multiple testers can use the same controller).

    • Ordinateur3 : contrôleur (sur lequel des agents peuvent également être installés).Machine3: Controller (can have agents installed, too).

    • Ordinateur4-n : agent ou agents tous associés au contrôleur sur Ordinateur3.Machine4-n: Agent or agents all associated with the controller on Machine3.

      Ordinateurs locaux utilisant le contrôleur et les agents

Même si un contrôleur de test gère en général plusieurs agents de test, un agent ne peut être associé qu’à un seul contrôleur.Even though a test controller typically manages several test agents, an agent can only be associated with a single controller. Chaque agent de test peut être partagé par une équipe de développeurs.Each test agent can be shared by a team of developers. Cette architecture permet d’augmenter facilement le nombre d’agents de test, ce qui génère des charges plus importantes.This architecture makes it easy to increase the number of test agents, thereby generating larger loads.

Interaction entre un agent de test et un contrôleur de testTest agent and test controller interaction

Le contrôleur de test gère un ensemble d’agents de test pour exécuter des tests.The test controller manages a set of test agents to run tests. Le contrôleur de test communique avec les agents de test pour démarrer les tests, arrêter les tests, suivre l’état des agents de test et collecter les résultats des tests.The test controller communicates with test agents to start tests, stop tests, track test agent status, and collect test results.

Contrôleur de testTest controller

Le contrôleur de test fournit une architecture générale pour l’exécution de tests et comprend des fonctionnalités spécifiques pour l’exécution de tests de charge.The test controller provides a general architecture for running tests, and includes special features for running load tests. Le contrôleur de test envoie le test de charge à tous les agents de test et attend qu'ils aient initialisé le test.The test controller sends the load test to all test agents and waits until all the test agents have initialized the test. Quand tous les agents de test sont prêts, le contrôleur de test envoie un message aux agents de test pour qu’ils démarrent le test.When all test agents are ready, the test controller sends a message to the test agents to start the test.

Agent de testTest agent

L’agent de test s’exécute en tant que service qui écoute les demandes de démarrage d’un nouveau test envoyées par le contrôleur de test.The test agent runs as a service that listens for requests from the test controller to start a new test. Quand l'agent de test reçoit une demande, le service de l'agent de test démarre un processus sur lequel les tests peuvent être exécutés.When the test agent receives a request, the test agent service starts a process on which to run the tests. Chaque agent de test exécute le même test de charge.Each test agent runs the same load test.

Une pondération est affectée par l'administrateur aux agents de test. La charge est distribuée en fonction de la pondération d'un agent de test.Test agents are assigned a weight by the administrator, and load is distributed according to a test agent’s weighting. Par exemple, si l’agent de test 1 a une pondération de 30, que l’agent de test 2 a une pondération de 70 et que la charge est définie à 1 000 utilisateurs, l’agent de test 1 simule 300 utilisateurs virtuels tandis que l’agent de test 2 en simule 700.For example, if test agent 1 has a weighting of 30, and test agent 2 has a weighting of 70, and the load is set to 1000 users, then test agent 1 simulates 300 virtual users whereas test agent 2 simulates 700 virtual users. Consultez Gérer les contrôleurs de test et les agents de test avec Visual Studio.See Manage test controllers and test agents with Visual Studio.

L’agent de test prend un ensemble de tests et un ensemble de paramètres de simulation comme entrées.The test agent takes a set of tests and a set of simulation parameters as input. Un concept essentiel est que les tests sont indépendants de l'ordinateur sur lequel ils sont exécutés.A key concept is that tests are independent of the computer where they're run.

Points de connexion d’un contrôleur de test et d’un agent de testTest controller and test agent connection points

L’illustration suivante montre les points de connexion entre le contrôleur de test, l’agent de test et le client.The following illustration shows the connection points between the test controller, the test agent, and the client. Elle décrit les ports utilisés pour les connexions entrantes et sortantes ainsi que les restrictions de sécurité sur ces ports.It outlines which ports are used for incoming and outgoing connections as well as security restrictions used on these ports.

Ports et sécurité du contrôleur de test et de l’agent de test

Pour plus d’informations, consultez Configurer les ports pour les contrôleurs de test et les agents de test.For more information see Configure ports for test controllers and test agents.

Informations d’installation du contrôleur et des agents de testTest controller and agent installation information

Pour des informations importantes sur les spécifications matérielles et logicielles requises pour les contrôleurs de test et les agents de test, sur les procédures pour les installer et sur la configuration de votre environnement pour des performances optimales, consultez Installer et configurer des agents de test.For important information about hardware and software requirements for test controllers and test agents, the procedures for installing them, and configuring your environment for optimal performance, see Install and configure test agents.

Utiliser le contrôleur de test et l’agent de test avec des tests unitairesUse the test controller and test agent with unit tests

Après avoir installé un contrôleur de test et un ou plusieurs agents, vous pouvez spécifier s'il faut utiliser une exécution distante avec le contrôleur de test dans les paramètres de test pour vos tests de charge.After you have installed a test controller and one or more agents, you can specify whether to use a remote execution with the test controller in the test setting for your load tests. En outre, vous pouvez spécifier les adaptateurs de données et de diagnostic à utiliser avec le rôle associé aux agents dans les paramètres de test.Additionally, you can specify the data and diagnostic adapters to use with the role that is associated with the agents in the test setting.

Voir aussiSee also