Teste de carga, Stress e Performance


Saiba exatamente o que oferecer para seus clientes quando quiserem avaliar sua aplicação.

O nome do serviço que você está oferecendo, ou que seu cliente está solicitando, é muito importante para determinar a expectativa do trabalho. Hoje em dia está muito comum as empresas correrem atrás de executar um teste de stress em suas aplicações para determinar se eles suportam o volume de acessos que está planejado, mas será que é realmente um teste de stress que eles precisam? Ou seria um teste de carga? Ou teste de performance? Vamos colocar sanar as duvidas.

Teste de Carga

O Teste de Carga é aquele onde o volume gerado pela ferramenta de geração de carga é crescente no decorrer do tempo. O objetivo principal é encontrar o limite de capacidade da aplicação e identificar qual o limitante (codificação, hardware, tempo de resposta excessivo). Da mesma forma que os outros testes, não é objetivo do teste de carga encontrar problemas funcionais na aplicação.

Algumas respostas que podem ser encontradas com um teste de carga são:

  • Throughput
  • Limite de capacidade de hardware
  • Requisitos de balanceamento de carga

Um entregável interessante de um projeto com o teste de carga é a quantidade de transações simultâneas, para sistemas baseados em serviços (web services, por exemplo), e qual a quantidade de usuários simultâneos, para sistemas de interação com o usuário (como um site).

Teste de Stress

Em um teste de stress, além de uma grande carga disparada contra a aplicação, alguns cenários de crash da aplicação são testados, com o objetivo também de determinar a capacidade de recuperação e estabilidade do sistema. Um exemplo é a retirada de um nó do cluster de servidores de aplicação ou uma eventual indisponibilidade do banco de dados.

Um subtipo do teste de stress são os spike tests, também chamados de storm. Basicamente, nesse cenário é executada uma quantidade massiva de uma determinada funcionalidade, para determinar como a aplicação se comporta. Por exemplo, quando há uma troca de turno em um sistema de call center e todos os novos usuários têm que fazer login ao mesmo tempo.

Após todos os cenários, em uma aplicação robusta e estável, é avaliado o tempo que a aplicação retorna para uma condição normal de utilização sem nenhuma intervenção.

Teste de Performance

O conceito de testes de performance (em português desempenho) é o mais abrangente e genérico de todos. Ele é usado para referenciar qualquer tipo de avaliação que esteja sendo feito em uma aplicação ou ambiente e seu resultado não é simples como “sucesso” ou “falha”.

Os resultados dos testes são usados para determinar um padrão de comportamento e capacidade da aplicação que está sendo testada. Esses limites e padrões são chamados de baseline e servem de referência para testes de carga, stress, spike ou outros que estejam sendo planejados/executados no ambiente.

Existem alguns outros tipos de teste , como por exemplo o teste de vulnerabilidade, testes de configuração e o teste de resistência ou endurance test. Todos acabam sendo um sub conjunto dos testes de performance e são variações do que esta nesse post.

http://jmeter.com.br/2013/04/qual-a-diferenca-entre-teste-de-stress-performance-e-carga/
credito : Oscar Nogueira Neto

Leia também : Ferramentas da qualidade , Lado Negro da Força 

Deixe um comentário