02/02/2009 | Autor: Igor Abade V. Leite | Categoria: Técnico | Comentários

A ferramenta de teste de carga do Team System é o Test Load Agent, certo?

Essa é uma dúvida muito comum. Um amigo MVP me fez essa pergunta há algum tempo. Assim, achei que era uma excelente oportunidade para blogar e tentar registrar a resposta.

A ferramenta de teste de carga do VSTS é o** _Visual Studio Test Edition.**_


**Ponto. **Simples assim. :-)

VSTS Test Edition
VSTS Test Edition

Isso quer dizer que, para estressar aplicações Web (ASP.NET, PHP, Java, Ruby etc.), Web Services (ASMX, WCF, JEE etc.) e bancos de dados (SQL Server e quaisquer outros suportados pelo ADO.NET) você deve usar o Visual Studio Team System Test Edition (a ferramenta de testes do Team System). Com ela você pode:

  • Criar as definições (scripts) do teste de carga;
  • Executar os testes (contra um ou mais servidores ao mesmo tempo);
  • Consolidar os dados (recebendo os indicadores de performance de todos os servidores envolvidos);
  • Analisar os dados (através de gráficos e tabelas no próprio ou através de exportação para Excel e relatórios em SQL Server Reporting Services);
  • Notificar a equipe de desenvolvimento em caso de problemas de desempenho (através da criação de itens de trabalho do tipo Bug).

scrshot2
scrshot2

Agora que esclarecemos que o VSTS Test Edition é a ferramenta que devo usar para fazer os testes de carga, vem a pergunta: para quê serve então o Test Load Agent?

Use o VSTS Test Load Agent para aumentar a quantidade de usuários virtuais dos seus testes

O VSTS Test Edition pode gerar tantos usuários virtuais quantos você quiser. O único limite será a capacidade do seu hardware. É difícil estimar quanta carga um determinado computador é capaz de gerar, porém eu arriscaria dizer que uma boa estação de desenvolvimento deve conseguir algo entre 500 e 1000 usuários virtuais (esse número pode variar muito dependendo do tipo de teste que você faz).

A fim de criar um estresse que simule as condições reais de uso de sua aplicação, pode ser que você precise simular mais do que 500 ou mil usuários virtuais – especialmente se você pretende colocar essa aplicação na internet. Nesse caso, você precisaria de mais computadores, trabalhando lado a lado com o seu, cada um deles executando parte dos usuários virtuais.

É aí que entra o Test Load Agent.

Com o Test Load Agent, você pode promover máquinas em sua rede a agentes de carga – dividindo a responsabilidade do trabalho com o computador onde está o Test Edition.

Assim, imaginemos o seguinte cenário:

  1. Preciso estressar uma aplicação web;
  2. Essa aplicação vai estar na internet;
  3. Espero uma carga de cinco mil usuários simultâneos;
  4. Nos primeiros testes executados pôde-se perceber que um computador consegue gerar no máximo mil usuários virtuais.

Para poder gerar a carga de cinco mil usuários você utiliza o Test Edition em conjunto com um ou mais computadores rodando o Test Load Agent para criar um conjunto de máquinas chamado de Test Rig. Test Rigs são o conjunto de um controlador e um ou mais agentes de teste de carga.

Uma outra distinção importante: testes de cargas executados a partir do Visual Studio estão limitados a um único core da minha máquina; o Load Agent, por outro lado, utiliza todos os cores. Como tipicamente o principal limitador na quantidade de usuários virtuais é a CPU, o Test Load Agente conseguiria gerar o dobro de usuário numa máquina dual-core, quando comparado com o Test Edition.

Technorati Tags: VSTS,TFS,Team System,Test Edition,Load Test