De que se trata o artigo:

O artigo trata de testes de desempenho em aplicações web, mostrando a importância desses testes e, de que forma, eles podem ajudar os desenvolvedores a evitar problemas rotineiros. Para os testes, será utilizado o Web Tests do Visual Studio 2010.

Em que situação o tema é útil:

Esse tema é útil para aplicações web onde há necessidades de garantir requisitos em diferentes cenários, como número de usuários acessando a aplicação, resposta das solicitações em redes de baixa velocidade, renderização nos mais diversos tipos de navegadores, ajudando a identificar pontos onde há a necessidade de ajustes e correções para uma melhor qualidade do produto final. Muitas são as aplicações hoje na web que possuem limitações por falta de testes, existem aplicações que a partir de um determinado número de usuários caem, não funcionam como deveriam em certos navegadores etc.

Testes de performance Web com VS 2010:

Testar aplicações web exige determinados recursos além daqueles que já conhecemos e praticamos com nossas aplicações desktop. Entenderemos nesse artigo como podemos elaborar esses testes com base em requisitos preestabelecidos em diferentes tipos de cenários. Veremos como simular uma quantidade X de usuários acessando nosso projeto e, obtendo a partir desse teste, informações que auxiliarão a identificar se a nossa aplicação precisa ou não de correções. Aprenderemos também, como é possível fazer testes de desempenho em diferentes tipos de redes, desde redes de alta velocidade, até as mais baixas. Para entendermos como nossa aplicação se comportará nesses casos, visto que redes de baixa velocidade são uma realidade que ainda convivemos devido ao custo para os usuários e, a infraestrutura precária que determinadas regiões possuem. Vamos aprender a diferença entre testes simples de performance e testes que envolvem códigos para a sua execução e em qual cenário cada um é mais apropriado. Validar a aplicação diante de uma determinada carga de dados é uma técnica excelente para identificar possíveis gargalos na aplicação e, que muitas vezes não damos a devida atenção.

Durante todo o ciclo de vida do desenvolvimento de um software, uma das atividades de extrema importância é a realização de testes. O objetivo principal dessa atividade é encontrar falhas antes que a aplicação seja disponibilizada para o ambiente de produção. Quando um bug é encontrado durante a codificação, seu custo para a correção é menor do que quando encontrado já em ambiente de produção, isto porque ainda não envolveu clientes e riscos para seus negócios. Para isso, os testes precisam ser planejados, alinhados aos requisitos e devem se estender por todo o ciclo de desenvolvimento.

Cada vez mais as organizações estão percebendo a importância da elaboração de testes para garantir a qualidade do seu produto e, com o passar do tempo, a web deixou de ser meramente uma rede que continha apenas sites estáticos e passou a ser uma plataforma de aplicações dos mais variados segmentos. Cada uma dessas aplicações é projetada para atender um determinado requisito e, dessa forma, existem requisitos inerentes ao domínio que devem ser atendidos sob pena de levar um projeto ao fracasso. Em determinado domínio, a performance da aplicação pode ser um fator fundamental para o sucesso da mesma. Já em outro cenário, a usabilidade e a segurança podem ter uma importância muito maior em relação ao desempenho, por exemplo. Diante de todo esse contexto de mudanças, a necessidade de novas formas de testar as aplicações web ficou mais evidente e também mais fácil, principalmente com o suporte do Visual Studio 2010 com suas inúmeras funcionalidades de testes disponíveis. É importante salientar, que os testes em aplicações Web, vão desde sites até Web Services.

Os testes realizados nas aplicações Web também conseguem informar se um determinado conjunto de hardware é capaz de suportar certa demanda de requisições em horários de picos. Claro que esse é um cenário para organizações que optem por possuir toda a sua infraestrutura de servidores em um ambiente On Premisses, do contrário, o ambiente na nuvem gerencia toda essa carga de demanda alocando os recursos necessários.

Nota: Ambiente On Premisses, significa que toda uma infra de servidores está contida e é controlada pela própria organização, na verdade é o que existe na maioria das empresas, totalmente o oposto do cenário que temos quando utilizamos um serviço na nuvem.

Qual o objetivo de um teste Web de performance?

Testes de performance em aplicações Web, são testes que ajudam o desenvolvedor a verificar as respostas para cada requisição nos mais diversos cenários. Com esse teste é possível saber se o resultado obtido está dentro de um limite aceitável para o resultado esperado. O Visual Studio 2010 Ultimate, fornece diversos recursos para realizar esse tipo de teste, pois já sabemos que quando tratamos de aplicações Web os cenários são os mais variados possíveis.

Os testes de performance Web também incluem os testes de stress e os de carga. O primeiro executa um grande volume de dados para testar os limites do software e como ele se comporta. Já o segundo é a simulação de vários usuários acessando simultaneamente a aplicação, simulando também diversos ambientes, com diferentes tipos de navegadores, redes etc. A partir desses testes, o desenvolvedor consegue saber se a aplicação está atendendo um requisito aceitável de performance, além de poder identificar pontos da aplicação que necessitam de correção ou melhorias.

Como funciona um Web Test no Visual Studio

Uma vez que a nossa aplicação Web está pronta ou em condições de ser testada, é hora de partirmos para a criação dos testes. No Visual Studio 2010 temos diversas maneiras de realizar testes Web de desempenho, para que possamos avaliar as funcionalidades, as respostas e o comportamento da aplicação em ambientes distintos. Não há apenas uma única forma de realizar esses testes, a forma mais usada é a utilização de um gravador que registra cada ação que é feita na aplicação, nesse cenário, toda solicitação e resposta é capturada e, em sequência, gera um script que mais tarde será executado diretamente na IDE do Visual Studio. Com essa gravação das atividades feitas na página, fica mais fácil identificar possíveis retornos que não estariam de acordo com o resultado esperado.

...
Quer ler esse conteúdo completo? Tenha acesso completo