Estratégias para solução de problemas de controladores e agentes de teste em testes de carga
Publicado: abril de 2016
Problemas comuns que podem ocorrer quando você trabalha com controladores de teste e agentes de teste no Visual Studio Enterprise:
Incapaz de coletar contadores de desempenho no computador do Test Agent
Definir o nível de registro em log em um computador do Test Controller
Associando um controlador de teste a um adaptador de rede
Incapaz de coletar contadores de desempenho no computador do Test Agent
Ao executar um teste de carga, você pode receber erros ao tentar se conectar a um computador do agente de teste e coletar contadores de desempenho. O serviço Registro Remoto é o serviço responsável por fornecer dados do contador de desempenho em um computador remoto. Por padrão, em computadores que executam Windows Vista, o serviço Remote Registry não inicia automaticamente. Para corrigir esse problema, inicie manualmente o serviço Remote Registry.
Dica
Você pode acessar o serviço de registro remoto no Painel de controle. Escolha Ferramentas administrativas e, em seguida, escolha serviços.
Outra causa desse problema é que você não tem permissões suficientes para ler os contadores de desempenho. Para execuções de teste locais, a conta de usuário que está executando o teste deverá ser membro do grupo Usuários Avançados ou superior, ou ser membro do grupo Usuários do Monitor de Desempenho. Para execuções de teste remotas, a conta como que o controlador está configurado para executar deve ser membro do grupo Usuários Avançados ou superior ou ser membro de um grupo de Usuários do Monitor de Desempenho.
Definir o nível de registro em log em um computador do Test Controller
Você pode controlar o nível de registro em log em um computador de controlador de teste. Isso é útil quando você está tentando diagnosticar um problema ao executar um teste de carga em um ambiente.
Para definir o nível de registro em log em um computador do controlador de teste
Interrompa o serviço do controlador de testes. Em um prompt de comando, digite net stop vsttcontroller.
Abra o arquivo QTController.exe.config. Este arquivo está localizado no diretório de instalação do controlador.
Edite a entrada da opção EqtTraceLevel na seção de diagnóstico do sistema do arquivo. Seu código deve se parecer com este:
<system.diagnostics> <trace autoflush="true" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="d:\VSTestHost.log" /> </listeners> </trace> <switches> <!-- You must use integral values for "value": 0 = off, 1 = error, 2 = warn, 3 = info, 4 = verbose. --> <add name="EqtTraceLevel" value="4" /> </switches> </system.diagnostics>
Salve o arquivo.
Inicie o serviço do controlador. Em um prompt de comando, digite net start vsttcontroller.
Isso se aplica ao controlador de teste, ao serviço do agente de teste e ao processo do agente de teste. Ao diagnosticar problemas, é útil habilitar o registro em log desses três processos. O procedimento para definir o nível de registro em log é o mesmo para os três processos, conforme especificado anteriormente para o controlador de teste. Para definir níveis de registro em log para o serviço do agente de teste e o processo de agente, use os seguintes arquivos de configuração:
Serviço do controlador QTController.exe.config
Serviço do agenteQTAgentService.exe.config
Processo do adaptador de dados QTDCAgent(32).exe.config para a arquitetura de 32 bits.
QTDCAgent (64). exe. config processo de adaptador de dados do agente para arquitetura de 64 bits.
Processo de teste do agente QTAgent(32).exe.config para a arquitetura de 32 bits.
QTAgent (64). exe. config processo de teste do agente para arquitetura de 64 bits.
Associando um controlador de teste a um adaptador de rede
Quando tentar configurar um agente de teste, você pode receber o seguinte erro:
Error 8110. Can not connect to the specified controller computer or access the controller object.
Este erro pode ser causado instalando o controlador de teste em um computador que tem mais de um adaptador de rede.
Dica
Também é possível instalar agentes de teste com êxito e não ver esse problema até tentar executar um teste.
Para corrigir este erro, você deve associar o controlador de teste para um dos adaptadores de rede. Você precisa definir a propriedade de BindTo no controlador de teste, e alterar o agente de teste para se referir ao controlador de teste por endereço IP em vez de por nome. As etapas são fornecidas nos procedimentos a seguir.
Para obter o endereço IP do adaptador de rede
Escolha Iniciar, e, em seguida, escolha executar.
A caixa de diálogo Execução é exibida.
Tipo cmd e, em seguida, escolha OK.
Um prompt de comando se abre.
Tipo ipconfig /all.
Os endereços IP de seus adaptadores de rede são exibidos. Registre o endereço IP do adaptador de rede ao qual você deseja associar o controlador.
Para associar um controlador de teste a um adaptador de rede
Interrompa o serviço do controlador de testes. Em um prompt de comando, digite net stop vsttcontroller.
Abra o arquivo QTController.exe.config. Esse arquivo está localizado em <letra da unidade:>\Arquivos de Programas (x86)\Microsoft Visual Studio 12.0\Common7\IDE\.
Adicionar uma entrada para a propriedade de BindTo nas configurações do aplicativo. Especificar o endereço IP do adaptador de rede para o qual você deseja associar o controlador. Seu código deve se parecer com este:
<appSettings> <add key="LogSizeLimitInMegs" value="20" /> <add key="AgentSyncTimeoutInSeconds" value="120" /> <add key="ControllerServicePort" value="6901" /> <add key="ControllerUsersGroup" value="TeamTestControllerUsers" /> <add key="ControllerAdminsGroup" value="TeamTestControllerAdmins" /> <add key="CreateTraceListener" value="no" /> <add key="BindTo" value="<YOUR IP ADDRESS>" /> </appSettings>
Salve o arquivo.
Inicie o serviço do controlador de testes. Em um prompt de comando, digite net start vsttcontroller.
Para conectar um agente de teste a um controlador associado
- Execute a instalação do agente de teste novamente. Desta vez, especifique o endereço IP do controlador de teste em vez do nome do controlador de teste.
Isso se aplica ao controlador de teste, ao serviço do agente de teste e ao processo do agente de teste. A propriedade BindTo deve ser definida para cada processo em execução em um computador que tem mais de um adaptador de rede. O procedimento para definir a propriedade BindTo é o mesmo para todos os três processos, como especificado anteriormente para o controlador de testes. Para definir níveis de registro em log para o serviço do agente de teste e o processo de agente de teste, use os arquivos de configuração que são listados em Definir o nível de registro em log em um computador do Test Controller.
Consulte também
Distribuindo execuções de teste de carga em várias máquinas de teste usando controladores e agentes de teste
Configurando controladores e agentes de teste para testes de carga