Como criar uma configuração de teste para um teste de carga distribuída
Publicado: abril de 2016
Configurar configurações de teste para os testes de carga para distribuir esses testes em vários computadores usando agentes de teste e controladores de teste. Você também pode definir configurações de teste para usar adaptadores de dados de diagnóstico, que especificam os tipos de dados que você deseja coletar ou como afetar os computadores de teste quando você executa seus testes de carga do Visual Studio.
Requisitos
- O Visual Studio Enterprise
Por exemplo, você pode usar o adaptador de dados de diagnóstico do Criador de Perfis do ASP.NET para coletar a divisão de desempenho de código. Além disso, os adaptadores de dados de diagnóstico podem ser usados para simular possíveis afunilamentos no computador de teste ou para reduzir a memória disponível do sistema.
As configurações de teste do Visual Studio são armazenadas em um arquivo. As configurações de teste definem as seguintes informações sobre cada função:
O conjunto de funções que são necessárias para seu aplicativo em teste
A função a ser usada para executar seus testes
Os adaptadores de dados de diagnóstico a ser usado para cada função
Ao executar seus testes, você seleciona as configurações de teste para usar como as configurações ativas de teste, dependendo do que você precisa para essa execução específica de teste. O arquivo de configurações de teste é armazenado como parte de sua solução. O nome do arquivo tem a extensão .testsettings.
Ao adicionar um projeto de teste de carga e desempenho na Web a uma solução, um arquivo padrão .testsettings é criado. O arquivo é automaticamente adicionado à solução na pasta Itens de Solução. Este arquivo executa seus testes localmente sem adaptadores de dados de diagnóstico. É possível adicionar ou editar um arquivo .testsettings para especificar adaptadores de dados de diagnóstico e controladores de teste.
O controlador de teste terá agentes que podem ser usados para cada função nas configurações de teste. Para obter mais informações sobre controladores de teste e agentes de teste, consulte Configurando máquinas de teste para executar testes ou coletar dados e Gerenciando controladores e agentes de teste com o Visual Studio.
Siga estas etapas para criar e remover configurações de teste em sua solução para testes de carga que você planeja executar no Visual Studio.
Criar uma configuração de teste para um teste de carga distribuída
Para adicionar configurações de teste para um teste de carregamento distribuído
No Solution Explorer, clique com botão direito itens de solução, aponte para Add, e, em seguida, escolha Novo Item.
O Add New Item caixa de diálogo é exibida.
No modelos instalados painel, escolha configurações de teste.
(Opcional) Na caixa de Nome , altere o nome do arquivo de configurações de teste.
Escolha Adicionar.
O novo arquivo de configurações de teste é exibido no Solution Explorer, sob o itens de solução pasta.
Dica
A lista de configurações de teste que o Visual Studio Enterprise exibe é derivada da lista de arquivos de configurações de teste no itens de solução pasta.Por exemplo, arquivos de configurações de teste da pasta Itens da Solução são exibidos quando você usa a opção Selecionar Configurações de Teste Ativo no menu Testar.Isso significa que se você mover um arquivo de configurações de teste para outro local na sua hierarquia de solução, ele não poderá mais ser usado como uma configuração de teste no ambiente de desenvolvimento integrado do Visual Studio.
A caixa de diálogo Configurações de Teste é exibida. A página Geral é selecionada.
Agora você pode editar e salvar valores de configurações de teste.
Dica
Cada configuração de teste criada é listada como uma escolha para as opções Selecionar Configurações de Teste Ativo e Editar Configurações de Teste no menu Teste.
Em Nome, digite o nome das configurações de teste.
(Opcional) Em Descrição, digite uma descrição para a configuração do teste para que outros membros da equipe saibam de sua finalidade.
(Opcional) Para selecionar o esquema de nomenclatura padrão para seus ensaios, selecione Esquema de nomenclatura padrão. Para definir seus próprios esquema de nomeação, selecione Esquema definido pelo usuário e digite o texto que você deseja em Texto de prefixo. Para anexar o carimbo de data/hora ao nome da execução de teste, selecione Acrescentar carimbo de data/hora.
Escolha Funções.
A página Funções é exibida.
Para executar testes remotamente, ou executar testes e coletar dados remotamente, use a lista suspensa Método de execução de teste e selecione Execução remota.
Use o controlador lista suspensa para selecionar um controlador de teste para os agentes de teste do controlador que será usado para executar seus testes ou coletar dados.
Dica
Se essa for a primeira vez que você está adicionando um controlador, nenhum controlador estará listado na lista suspensa.A lista é preenchida por controladores anteriores que você especificou em outras configurações de teste.Você deve digitar o nome do controlador na caixa (por exemplo, TestControllerMachine1).
Para obter mais informações, consulte Configurando controladores e agentes de teste para testes de carga e Usando controladores e agentes de teste com testes de carga.
Para adicionar as funções que você deseja usar para executar testes e coletar dados, em Funções, selecione Adicionar.
Digite um nome para a função na coluna Nome. Por exemplo, a função poderia ser "servidor Web".
Repita as etapas 12 e 13 para adicionar todas as funções necessárias.
Cada função usa um agente de teste gerenciado pelo controlador de testes.
Selecione a função que você deseja para executar os testes e escolha Definir como função para executar testes.
Importante
As outras funções que você cria e define não executarão testes, mas serão usadas somente para coletar dados de acordo com os dados e adaptadores de diagnóstico especificados para as funções na página Dados e Diagnóstico.
Para limitar os agentes que podem ser usados para uma função, selecione a função e então escolha Adicionar na barra de ferramentas abaixo de Atributos de agente para função selecionada.
A caixa de diálogo Função de Seleção de Agente é exibida.
Digite o nome em Nome do Atributo e o valor em Valor do Atributo e, em seguida, selecione OK. Adicione quantos atributos forem necessários.
Por exemplo, você poderá adicionar um atributo denominado "RAM > 16GB" com um valor "True" ou "False" para filtrar os computadores do agente de teste que possuem mais de 16 GB de memória. Para aplicar o mesmo atributo a um ou mais agentes de teste, use a caixa de diálogo Gerenciar Controladores de Teste. Para obter mais informações, consulte Gerenciando controladores e agentes de teste com o Visual Studio.
Escolha Dados e Diagnósticos.
A página Dados e diagnósticos é exibida.
Na página Dados e Diagnóstico, você define o que a função realiza ao selecionar os adaptadores de dados de diagnóstico que a função usará para coletar dados. Portanto, se um ou mais adaptadores de dados e de diagnóstico forem habilitados para a função, o controlador de teste escolherá um computador agente de teste disponível para coletar dados para os dados especificados e adaptadores de diagnóstico baseados nos atributos que você definiu para a função. Para selecionar os dados e os adaptadores de dados de diagnóstico que você deseja coletar para cada função, selecione a função. Para cada função, selecione os adaptadores de dados de diagnóstico de acordo com as necessidades de teste. Para configurar cada adaptador de dados de diagnóstico que você selecionou para cada função, escolha Configurar.
Exemplo de adaptadores de dados de funções e diagnóstico:
Por exemplo, você poderá criar uma função de cliente denominada "Cliente de Área de Trabalho" que possui um atributo "Uses SQL" definido como "True" em uma função de servidor denominada "SQL Server" que possui um conjunto de atributo definido como "RAM > 16GB". Se você especificar que o "cliente de área de trabalho" executará testes escolhendo Definir como função para executar testes na página Funções, o controlador de teste selecionará máquinas que possuem agentes de teste que incluam o atributo "Usa SQL" definido como "Verdadeiro" para executar os testes. O controlador de teste também selecionará computadores de SQL Server que possuem agentes de teste que incluem o atributo “RAM > 16GB” para coletar somente os dados que são definidos pelos dados e os adaptadores de diagnóstico incluídos na função. O agente de testes "Cliente da Área De Trabalho" também pode coletar dados para os computadores em que é executado se você selecionar dados e adaptadores de diagnóstico para essa função também.
Para obter detalhes sobre cada adaptador de dados de diagnóstico e como configurá-lo, você pode exibir o tópico associado na tabela a seguir.
Para obter mais informações sobre os adaptadores de dados de diagnóstico, consulte Configurando máquinas e coletando informações de diagnóstico usando configurações de teste.
Adaptadores de dados de diagnóstico para testes de carga
Adaptador de dados de diagnóstico
Usado em testes de carregamento
Tópico associado
Proxy de Cliente do ASP.NET para IntelliTrace e Impacto de Teste: esse proxy permite que você colete informações sobre as chamadas HTTP de um cliente para um servidor Web para os adaptadores de dados de diagnóstico do IntelliTrace e de Impacto de Teste.
A menos que você tenha uma necessidade específica de coletar informações do sistema para os computadores do agente de teste, não inclua este adaptador.
Aviso
Não recomendamos o uso do adaptador IntelliTrace em testes de carregamento devido a problemas que ocorrem devido à grande quantidade de dados que são coletados.
Os dados do impacto de teste não são coletados usando testes de carga.
IntelliTrace: você pode configurar informações de rastreamento de diagnóstico específicas armazenadas em um arquivo de log. Um arquivo de log possui uma extensão .tdlog. Ao executar o teste e uma etapa falhar, você pode criar um bug. O arquivo de log que contém o rastreamento de diagnóstico que é anexado automaticamente a este bug. Os dados coletados no arquivo do log aumentam a produtividade de depuração reduzindo o tempo necessário para reproduzir e diagnosticar um erro no código. Deste arquivo de log, a sessão local pode ser recriada em outro computador. Isso reduz o risco de um bug não poder ser reproduzido.
Para obter mais informações, consulte Usando o IntelliTrace.
Não recomendamos o uso do adaptador IntelliTrace em testes de carregamento devido a problemas que ocorrem devido à grande quantidade de dados que são coletados e registrados em log. Você deve tentar usar o adaptador de IntelliTrace somente em testes de carga que não são executados por muito tempo e não usam vários agentes de teste.
Como coletar dados do IntelliTrace para ajudar a depurar problemas difíceis
Criador de Perfis do ASP.NET: você pode criar uma configuração de teste que inclui a criação de perfis do ASP.NET, que coleta dados de desempenho em aplicações Web ASP.NET.
O adaptador de dados de diagnóstico do criador de perfis do ASP.NET cria perfis do processo do IIS (Serviços de Informações da Internet), portanto ele não funcionará em um servidor Web de desenvolvimento. Para analisar o site no teste de carregamento, você precisa instalar um agente de teste no computador em que o IIS está sendo executado. O agente de teste não estará gerando carga, mas será um agente de coleção somente. Para obter mais informações, consulte Instalando e configurando agentes e controladores de teste.
Cobertura de código (Visual Studio 2010): você pode criar uma configuração de teste que inclua informações de cobertura de código que é usada para investigar quanto de seu código é abordado por teste.
Embora você possa usar o adaptador de cobertura de código em testes de carregamento, ele coletará dados de cobertura de código somente em funções de execução de teste e não nas funções de servidor que são especificadas na configuração de teste.
A configuração de cobertura de código usando configurações de teste foi preterida
Dica
Este adaptador destina-se somente para compatibilidade com o Visual Studio 2010.
Log de eventos: você pode configurar uma configuração de teste para incluir a coleta de logs de eventos, que será incluída nos resultados de teste.
Emulação de rede: Você pode especificar que você deseja colocar uma carga artificial de rede em seu teste usando uma configuração de teste. A emulação de rede afeta a comunicação para e do computador emulando uma velocidade de conexão de rede específica, como a conexão discada.
> [!TIP] > <P>A emulation de rede não pode ser usada para aumentar a velocidade de conexão de rede.</P>
O adaptador Emulação de Rede é ignorado por teste de carga. Em vez disso, os testes de carga usam as configurações especificadas na mistura de rede do cenário de teste de carga.
Para obter mais informações, consulte Especificando tipos de rede virtuais em um cenário de teste de carga.
Informações do sistema: uma configuração de teste pode ser configurada para incluir as informações do sistema sobre os computadores em que o coletor de dados e diagnóstico de informações do sistema é executado. As informações do sistema são especificadas nos resultados do teste usando uma configuração de teste.
Você pode reunir informações do sistema de agentes de carregamento e do sistema no teste.
Configuração não necessária para coletar essa informação.
Impacto de teste: você pode reunir informações sobre os métodos do seu código de aplicativos foram usados quando um caso de teste estava sendo executado. Podem ser usadas em conjunto com as alterações feitas no código do aplicativo por desenvolvedores para determinar quais testes foram afetados pelas alterações de desenvolvimento.
Os dados do impacto de teste não são coletados com testes de carga.
Gravador de exibição: você pode criar uma gravação de vídeo da sessão de área de trabalho ao executar um teste automatizado. Isso pode ser útil para a exibição das ações do usuário para um teste codificado de interface do usuário. O vídeo pode ajudar outros membros de equipe a isolar problemas de aplicativo que sejam difíceis de reproduzir.
> [!TIP] > <P>Ao executar testes remotamente, o gravador de exibição não funcionará a menos que o agente esteja executando no modo interativo do processo.</P>
> [!WARNING] > <P>Não recomendamos o uso do adaptador de gravação de vídeo para testes de carregamento.</P>
Como incluir gravações da tela e voz durante testes usando as configurações de testes
Escolha Implantação.
O implantação página é exibida.
Para criar um diretório separado para implantação sempre que você executar seus testes, selecione Habilitar implantação.
Dica
Se você fazer isso, será possível continuar compilando o aplicativo ao executar os testes.
Para adicionar um arquivo ao diretório que você está usando para executar os testes, escolha Adicionar arquivo e selecione o arquivo que você deseja adicionar.
Dica
Quando executar testes de carregamento, assemblies de plug-in, arquivos de dados e arquivos carregados são implantados automaticamente.
Para adicionar um diretório ao diretório que você está usando para executar os testes, escolha Adicionar Diretório e selecione o diretório que você deseja adicionar.
Dica
Para obter mais informações sobre como implantar arquivos e diretórios para testes individuais usando propriedades e o atributo DeploymentItem, consulte Como implantar arquivos para testes.
Para executar scripts antes e depois dos testes, escolha Scripts de Instalação e de Limpeza.
O Scripts de instalação e limpeza página é exibida.
Digite o local do arquivo de script em Script de configuração ou escolha as reticências (…) para localizar o script de configuração.
Digite o local do arquivo de script em Script de limpeza ou escolha as reticências (…) para localizar o script de limpeza.
Para executar testes usando um host diferente, escolha Hosts.
Em Tipo de Host, verifique se Padrão está selecionado.
Dica
O ASP.NET em Tipo de host não é suportado em testes de carga.
Use o teste de execução no processo suspenso de 32 ou 64 bits para selecionar se você deseja testes de desempenho na Web e testes de unidade no seu teste de carregamento para executar como processos de 32 ou 64 bits.
Dica
Para a máxima flexibilidade, você deve compilar seus projetos de teste de carga e de desempenho na Web usando a configuração Qualquer CPU.Em seguida, você poderá executar os agentes de 32 bits e de 64 bits.A compilação de projetos de teste de carga e de desempenho na Web com a configuração de 64 bits não oferece nenhuma vantagem.
(Opcional) Para delimitar o tempo para cada ensaio e testes individuais, selecione Tempos limite de testes.
Para anular uma execução de teste quando um limite de tempo for excedido, selecione Anular uma execução de teste se o tempo total exceder e digite um valor para esse limite.
Para não passar em um teste individual quando um limite de tempo for excedido, selecione Marcar um teste individual como reprovado se seu tempo de execução exceder, e digite um valor para este limite.
Ignorar Teste de unidade. Os testes de carga não usam essas configurações.
Ignorar Teste na Web. Os testes de carga não usam essas configurações.
Para salvar as configurações de teste, escolha Salvar como. Digite o nome do arquivo que você deseja em Nome do objeto.
Dica
Se você deve alterar suas configurações de teste, escolha Testar e então escolha Editar Configurações de Teste e aponte para as configurações de teste criadas.Para obter mais informações, consulte Como editar uma configuração de teste existente para um plano de teste.
Para excluir configurações de teste de sua solução
Sob a pasta de itens de solução no Solution Explorer, clique em configurações de teste que você deseja remover e, em seguida, escolha Remover.
O arquivo de configurações de teste é removido de sua solução. Essa alteração será refletida na lista de opções para o Selecionar configurações de teste ativo e Editar configurações de teste opções de teste menu.
Consulte também
Especificando configurações de teste do Visual Studio
Distribuindo execuções de teste de carga em várias máquinas de teste usando controladores e agentes de teste
Instruções passo a passo: usando um Test Controller e Test Agent em um teste de carga
[obsoleto] Como executar um teste de carga usando controladores e agentes de teste especificados em uma configuração de teste
Configurando máquinas e coletando informações de diagnóstico usando configurações de teste