Configurando controladores e agentes de teste para testes de carga
Publicado: abril de 2016
O Visual Studio Enterprise pode gerar carga simulada para seu aplicativo usando físico ou máquinas virtuais. Essas máquinas devem ser configuradas como um único controlador de teste e um ou mais agentes de teste. Você pode usar os teste de controlador e agentes de teste para gerar mais carga do que um único computador pode gerar sozinho.
Não quiser usar os recursos e configurar suas próprias máquinas para criar essa carga? Você pode usar o teste de carga baseado em nuvem para fornecer máquinas virtuais na nuvem que gerar a carga de muitos usuários que acessam o site ao mesmo tempo. Tudo o que você precisa é uma conta do Visual Studio Online. Saiba mais sobre isso serviço de teste de carga baseado em nuvem que fornece 15.000 minutos de usuário virtual livre de cada mês de teste de carga.
Se você deseja carregar testar seu aplicativo com recursos locais, siga as instruções neste tópico.
Requisitos
- O Visual Studio Enterprise
Arquitetura de simulação da carga
A arquitetura de simulação de carga consiste em um cliente do Visual Studio, controlador de teste e agentes de teste.
O cliente é usado para desenvolver testes, executar testes e exibir resultados do teste.
O controlador de teste é usado para administrar os agentes de teste e coletar resultados do teste.
Os agentes de teste são usados para executar os testes e coletar dados, incluindo informações sobre o sistema e dados definidos na configuração de teste de perfis do ASP.NET.
Essa arquitetura oferece os seguintes benefícios:
A capacidade de expandir a geração de carga incluindo agentes de teste adicionais em um controlador de teste.
Flexibilidade para instalar o cliente, o controlador de teste e o software do agente de teste no mesmo computador ou em computadores diferentes. Por exemplo:
Configuração local:
- Machine1: Visual Studio, controlador, agente.
Configuração remota típica:
Machine1 e 2: Visual Studio (vários testadores podem usar o mesmo controlador).
Machine3: controlador (pode ter agentes instalados também).
Machine4-n: Agente ou agentes, todos associados ao controlador no Machine3.
Mesmo que um controlador de teste normalmente gerencie diversos agentes de teste, um agente só pode ser associado a um único controlador. Cada agente de teste pode ser compartilhado por uma equipe de desenvolvedores. Essa arquitetura facilita aumentar o número de agentes de teste, gerando, assim, cargas maiores.
Interação entre o agente de teste e o controlador de teste
O controlador de teste gerencia um conjunto de agentes de teste para executar testes. O controlador de teste se comunica com os agentes de teste para iniciar testes, parar testes, acompanhar o status do agente de teste, e para coletar resultados de teste.
Controlador de teste
O controlador de teste fornece uma arquitetura geral para executar testes e inclui recursos especiais para executar testes de carga. O controlador de teste envia o teste de carga para todos os agentes de teste e aguarda até que todos os agentes de teste tenham inicializado o teste. Quando todos os agentes de teste estiverem prontos, o controlador de teste enviará uma mensagem aos agentes de teste para iniciá-lo.
Test Agent
O agente de teste é executado como um serviço que escuta solicitações do controlador de teste para iniciar um novo teste. Quando o agente de teste recebe uma solicitação, o serviço de agente de teste inicia um processo no qual executar os testes. Cada agente de teste executa o mesmo teste de carga.
Os agentes de teste recebem um peso do administrador, e a carga é distribuída de acordo com a importância de um agente de teste. Por exemplo, se o agente de teste 1 tiver uma importância 30, o agente de teste 2 tiver uma importância 70 e a carga estiver definida como 1.000 usuários, o agente de teste 1 simulará 300 usuários virtuais, e o agente de teste 2 simulará 700 usuários virtuais. Consulte Gerenciando controladores e agentes de teste com o Visual Studio.
O agente de teste usa um conjunto de testes e um conjunto de parâmetros de simulação como entrada. Um conceito fundamental é que os testes são independentes do computador em que eles são executados.
Pontos de conexão entre o controlador de teste e o agente de teste
A ilustração a seguir mostra os pontos de conexão entre o controlador de teste, o agente de teste e o cliente. Descreve quais portas são usadas para conexões de entrada e saída bem como restrições de segurança usadas nessas portas.
Para obter mais informações, consulte Configurando portas para controladores de teste e agentes de teste.
Informações sobre o controlador de teste e a instalação do agente
Para obter informações importantes sobre requisitos de hardware e software para controladores de teste e agentes de teste, consulte os procedimentos para instalá-los e configurar seu ambiente para desempenho ideal, Instalando e configurando agentes e controladores de teste e Test Controller e requisitos de Test Agent para testes de carga.
Usando o controlador de teste e o agente de teste com testes de unidade
Depois de instalar um controlador de teste e um ou mais agentes, você poderá especificar se deseja usar uma execução remota com o controlador de teste na configuração de teste para os testes de carga. Além disso, você pode especificar os dados e os adaptadores de diagnóstico a serem usados com a função associada aos agentes na configuração de teste. Para obter mais informações, consulte Como criar uma configuração de teste para um teste de carga distribuída e Configurando máquinas e coletando informações de diagnóstico usando configurações de teste.
Consulte também
[obsoleto] Como executar um teste de carga usando controladores e agentes de teste especificados em uma configuração de teste
Como executar um teste usando controles e agentes de teste
[obsoleto] Testes de carga e desempenho para Web no Visual Studio
Running Load and Web Performance Tests
Instruções passo a passo: usando um Test Controller e Test Agent em um teste de carga
Como criar uma configuração de teste para um teste de carga distribuída
Como acessar resultados de teste de carga para análise
Test Controller e requisitos de Test Agent para testes de carga