Fernando Amaral

Testes com Visual Studio Team System 2008 parte VII

Testes de Carga Distribuídos com Visual Studio 2008 Load Agent

Nos artigos anteriores vimos como criar teste Web e testes de carga utilizando o Visual Studio Team System 2008, especificamente com a edição Test.

Em nosso teste de carga, não tínhamos a opção de criar um teste de carga distribuído. O verdadeiro poder de um teste de carga esta na possibilidade de podermos distribuir o teste em diversos equipamentos, simulando, de uma forma mais real, o ambiente ao qual a aplicação vai ser submetida.

Em um teste de carga distribuído, teremos basicamente três diferentes tipos de “Atores”:

·         Visual Studio Team System 2008: Onde vamos criar e configurar nosso teste de carga.

·         Controller: Serviço principal, que coordena o teste e armazena os resultados. Um teste de carga deve ter apenas um Controller.

·         Agent: Serviço que executa o teste de fato. Podemos ter quantos agentes achamos necessários para nosso teste.

Podemos ainda ter a aplicação a ser testada rodando em outro equipamento.

O conjunto Controller mais Agents é Denominado Ring.

A configuração recomendada pela Microsoft é a seguinte:

·         Computador 1: Visual Studio

·         Computador 2: Controller, SQL Express

·         Computador n:  Agent

Você pode variar esta configuração, e até, para um ambiente de aprendizado, instalar tudo em um único equipamento. O que você precisa saber, no entanto, é que para um teste mais próximo da realidade ter o Controller junto com um Agent, poderá comprometer o resultado.

Instalação

A instalação do Controller é um processo simples. A tela inicial de instalação do Load Agent nos trás as opções de instalação do Controller de dos Agents.

O usuário que rodar a instalação deve fazer parte do grupo de administradores. Você deve criar um usuário, e informá-lo junto com sua senha durante o processo de instalação. O usuário deve ter privilégios suficientes para monitorar a performance de todos os computadores que fazem parte do teste.

O processo de instalação cria três grupos locais: TeamTestControllerAdmins, TeamTestControllerUsers e    TeamTestAgentService. Os usuários que irão rodas os testes devem ser adicionados ao grupo TemTestControllerAdmins, usuários que vão administrar o Ring devem ser adicionados ao grupo TemTestControllerUser e, finalmente, o instalador automaticamente adiciona os usuários sob qual roda o serviço Agent ao grupo TeamTestAgentService.

A instalação do Agent é um processo ainda mais simples e rápido. Você novamente terá que informar um usuário para executar o serviço. Na etapa seguinte, você deve informar o nome do computador onde foi instalado o Serviço Controller:

 

Repita o processo de instalação dos Agents em cada equipamento que fizer parte do Ring.

Agora basta abrir seu projeto de teste de carga.

Vamos ver agora como Administrar os Controllers e Agents disponíveis em nosso ambiente.

Acesse o Menu Test, opção Administer Test Controllers. Por padrão, o campo controller vem preenchido com “<Local - No controller>”, o que significa que o teste de carga será realizado localmente, sem a distribuição de carga. Digite neste campo o nome do computador onde foi instalado o controller. Abaixo serão listados os Agents configurados para aquele controller. Se um Agent não for listado, você pode adicioná-lo manualmente clicando em Add.

 

Você pode definir algumas propriedades para cada Agent, para isto basta selecioná-lo e clicar em Properties:

Wighting permite especificar o percentual de carga que este Agent vai receber, Por exemplo, se o teste envolver 4 Agents, e o Weighting para este for 50, significa que os outros 3 Agents irão dividir os restantes 50 de carga.

IP Switching diz respeito ao intervalo de IPS que o Agent utilizará para executar a aplicação Web do teste. Attibutes são valores que poder ser atribuídos a cada agente.

Lembre-se que estávamos administrando Controllers e Agents, nós ainda não os vinculamos a nosso teste. Para isto, clique em Test, opção Edit Test Configurations, Local Test Run. Selecione a opção Controller and Agent, Clique em Remote e selecione o nome do Controller no DropDown List:

 

Agora basta executar o teste normalmente.

 

 

 

 

 

 

Últimos artigos relacionados:
Testes com Visual Studio Team System 2008 parte VII - Testes de Carga Distribuídos com Visual Studio 2008 Load Agent
Testes com Visual Studio Team System 2008 parte VI - Testes de Carga
Testes com Visual Studio Team System 2008 parte V - Testes Web
Testes com Visual Studio Team System 2008 parte IV - Teste Unitário de Banco de Dados
Testes com Visual Studio Team System 2008 parte III - Teste Manual, Teste Genérico e Teste Ordenado