01.Blogs :
AFurtado  
Engenharia de software, tendências, entrevistas e competições no mundo de TI.

Testes de carga no VSTS

Neste post exploro o conceito de testes de carga e passo um gosto de como o Visual Studio Team System (VSTS) automatiza o processo.

Como um desenvolvedor de aplicações pode saber se seu web site agüenta uma determinada carga de usuários? Uma solução interessante para isso é a realização de testes de carga. Mas o que são testes de carga?

Se você procurar pelo Guia de Testes da metodologia Pro.NET, irá encontrar a seguinte definição: “Um teste de carga é aquele que procura avaliar a resposta do sistema em condições extremas de carga de informações. Um teste de carga pode ser compreendido como um teste de performance voltado para a avaliação do sistema, especificamente, em condições extremas ou de limite (boundary conditions), como numa sobrecarga no cadastramento de clientes, por exemplo.”.

Uma vez entendida a definição, vem o problema: como simular milhares de usuários acessando uma aplicação web para checar se a mesma dá conta do recado? Certamente uma das opções menos viáveis é convocar todos os figurantes do Senhor dos Anéis e dar a cada um computador e o link a ser acessado. Mesmo que isso fosse feito, ainda teríamos outro problema: configurar o modo em que cada um dos figurantes vai acessar os site para que essa massa de testadores reflita o perfil dos futuros visitantes do seu site. Repetir o teste seria um pesadelo.

Qual uma melhor solução? Em muitos posts passados eu me referi a como a “automação no desenvolvimento” é produtiva e pode ser feita através de geradores de código, por exemplo. Felizmente, não é apenas o desenvolvimento que pode ser automatizado. Existem algumas ferramentas que nos provêm a automação de testes, e o Visual Studio Team System (Tester Edition) é uma delas.

Vejamos um apetitivo do que a ferramenta pode fazer, em dois passos.

1. O primeiro passo é criar um novo projeto do tipo “teste web”. Quando você mandar rodar o teste, o VSTS irá então gravar as ações que você fizer no browser. A figura abaixo ilustra o processo.


2. Depois pode ser criado um novo teste, dessa vez do tipo “teste de carga”. Esse teste irá utilizar um wizard (exibido abaixo) para configuar como o teste web anterior será reproduzido.

Através desse wizard, você pode passar informações de configuração muito úteis para o seu teste, como:
- Duração total do teste
- Número de usuários a serem simulados
- Número de requisições por segundo
- Variação do tipo do browser (ex.: X% IE6, Y% outros)
- Variação do tipo da conexão
- Distribuição do número de acessos (por exemplo, uma distribuição normal em que no início e no final há poucos acessos, enquanto no meio-tempo há muitos).
- Think time (tempo médio que os usuários ficam “pensando” antes de clicar em alguma coisa).
- ...

E não para por aí; os tipos de informações que podem ser coletadas são imensas! Em seguida, o teste será criado e você pode mandar reproduzi-lo. Em tempo real, gráficos irão sendo exibidos e atualizados no próprio VS.NET, como mostra a figura abaixo.

Você pode, a qualquer momento, adicionar ou retirar do gráfico um item ou contador (counter) em observação (como tempo médio de resposta, threads ativas no servidor, etc.). O resultado do teste pode ser gravado e, caso você não saiba como interpretá-lo, você pode solicitar ajuda para o VS.NET lhe informar o que está bom, o que está em alerta e o que está ruim. Para isso, basta informar o nível de “severidade de interpretação” que você deseja.

Em resumo, o VSTS oferece muitos recursos para você garantir minimamente o funcionamento de seu web site na hora da carga. Reparem que eu digo “na hora da carga”, e não “na hora do stress”, porque testes de stress são outra história e merecem um outro post...

[]s
-- AFurtado

posted on Saturday, September 30, 2006 11:55 AM by AFurtado

# re: Testes de carga e o que o acidente da Gol tem a ver isso @ Wednesday, October 04, 2006 12:59 PM

Muito bom o artigo Furtado apesar de achar que você foi um pouco frio no meu ver na introdução do mesmo sem sentimentos e de já focar o lado técnico de um tema tão recente e triste para muitos.

renatiinho

# re: Testes de carga e o que o acidente da Gol tem a ver isso @ Wednesday, October 04, 2006 4:40 PM

Ok, critica aceita. No momento do post as coisas nao tinham tomado as proporcoes de hoje. Texto alterado.

[]s
-- AFurtado

AFurtado

# re: Testes de carga no VSTS @ Wednesday, October 04, 2006 5:17 PM

Nossa Furtado mais uma vez você me surpreende dessa vez não pelos bons artigos ou seus projetos, mas apenas por “aceitar” um ponto de vista que eu tinha e chegar a atualizar seu artigo.

Você realmente se supera. (positivamente é claro).

Abraços,

Renato Almeida

renatiinho

# re: Testes de carga no VSTS @ Saturday, October 07, 2006 6:12 PM

E ai mestre! Grande Furtado, desculpe minha ausência em seus posts, realmente estou dando um duro danado para tentar acompanhar suas atividades, porque de certa forma me inspiro muito em vocês todos de Recife.
Agradeço a você pelo post meu sobre a IC06, e lhe digo que não medirei esforços para retribuir orgulho que tenho recebido de vocês.

Grande abraço, sucessos sempre!

Pescador_NET


 
03.UPDATE CALENDAR :
<September 2006>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

05.MY LINKS :

07.Subscriptions :

Subscriptions


© Copyright 2005 Microsoft Corporation. All Rights Reserved.
Terms of Use | Privacy Statement | Code of Conduct | Hosted by MaximumASP for Microsoft
WHO-BAR