Teste de Desempenho/Carga/Stress

A 29ª Mesa Redonda do DFTestes foi sobre “Teste de Desempenho/Carga/Stress”. A discussão teve 4 respostas e 3 participantes, sendo eles: eu, Felipe Silva e a Vivian Lagares.

A seguir faço um resumo dessa mesa redonda, quem quiser ver a discussão na íntegra, é só acessar esse link.

Qual a diferença entre teste de desempenho, carga e stress?

Na minha opinião, tais testes têm como característica prover informações a respeito do sistema sob teste, diferente de outros que focam mais em buscar defeitos, mas cada um deles busca tipos de informações diferentes:

  • Teste de desempenho: busca extrair informações sobre o desempenho do sistema em cenários normais de uso;
  • Teste de carga: busca extrair informações sobre o volume de usuários, transações, etc o sistema suporta;
  • Teste de stress: busca extrair informações sobre quando o sistema não suporta a carga aplicada, sendo muito importante para saber estruturar e dimensionar a arquitetura do sistema e prover informações para escalar o sistema.

O Felipe Silva respondeu a questão dizendo:

Eu descreveria da seguinte forma:

-> Teste de desempenho: Testa e mede o desempenho do sistema em uma situação normal de uso, bem como quanto requer de recursos de hardware, tempo de espera entre as ações e transações, com base no cenário que se espera ter normalmente em produção (posso dizer um teste de benchmark?);
-> Teste de carga: Testa e mede a alteração no desempenho do sistema sob um volume maior de carga, um horário de pico por exemplo (uma carga máxima esperada que possa acontecer algum dia em produção);
-> Teste de stress: Buscar descobrir qual é o ponto em que o sistema já não suportaria mais, para descobrir o limite do sistema, a carga máxima suportada, diferente do teste de carga porque a carga não para de aumentar enquanto o sistema não “quebra” (pode ser um valor muitas vezes acima do esperado em um pico de uso).

O Felipe ainda colocou na mesa algumas questões relevantes ao tema.

Qual a melhor ferramenta pra teste de desempenho? e pra teste de carga? e pra teste de stress?

Ao meu ver uma melhor ferramenta não existe. O que existe são ferramentas boas para determinados contextos.

Exemplo:

  • JMeter para testar aplicações web;
  • SIPp para testar aplicações SIP.

Há várias outras ferramentas para realizar tais tipos de testes, desde pagas até free. É importante que o profissional conheça tais ferramentas, para que possa fazer o uso da que melhor encaixe para a sua demanda.

Alguém usa uma ferramenta diferente pra um desses três tipos de testes e uma outra ferramenta para outro destes três tipos de testes? (exemplo, ferramenta A para teste de carga e ferramenta B para teste de stress)

O meu conhecimento prático foi mais com testes de desempenho,carga e stress para aplicações SIP, e na ocasião usávamos uma mesma ferramenta para a realizações dos três tipos de testes.

Qual a importância e atenção é dado pelos stakeholdes nos últimos 3 projetos em que você atuou? Estes testes eram feitos? Eram valorizados? Quanto?

Nas primeiras entregas não era muito comum haver uma preocupação com a performance, e sim mais como o funcionamento do sistema em si. Mas depois houve um grande foco na performance do sistema, tanto que havia entregas onde o foco principal nosso era avaliar a performance.

Mas isso varia muito de sistema para sistema, e também do estágio que está o desenvolvimento, mas na empresa a performance sempre acaba sendo uma característica que necessita ser avaliada, tanto para avaliar a infraestrutura necessária ou avaliar ferramentas para definir o escopo do projeto, quanto para ir melhorando a performance das aplicações já comercializadas.

Na opinião do Felipe Silva:

Nos três último, apenas no último (que inclusive é outra empresa) que dão importância e muita, tem uma equipe até de outra empresa focada só neste tipo de teste, em todos outros anteriores só era feito quando estava no “contrato” que tal teste ia ser feito e ainda era fazer por fazer.

Testador funcional obrigatóriamente deve saber fazer este tipo de testes? Para os gestores: O melhor que dividir os recursos ou fazer com que todos saibam tudo?

Obrigatoriamente não, principalmente se na empresa há essa distinção entre funcional e não-funcional.

O melhor, mais uma vez dependerá do contexto que o gestor tem. Às vezes pode até ser melhor para o gestor terceirizar tais testes.

O Felipe Silva respondeu a pergunta dizendo:

Creio que não, se a pessoa só tem este papel. Na minha opinião sempre que possível o melhor é dividir, testes é uma área muito ampla, é impossível ser senior em tudo, mas saber um pouco da outra área é sempre bem vindo, fato.

A Vivian Lagares também colocou boas perguntas sobre o tema.

Quais são os passos para realizar um teste de carga e de performance?

Avaliar as ferramentas disponíveis -> Levantar os cenários que serão testados -> Preparar o ambiente de teste -> Executar os testes -> Monitorar os testes -> Relatar os resultados obtidos

O que devo fazer para começar a realizar estes tipos de teste?

Levantar quais são as necessidades de performance do sistema que será testado, pesquisar ferramentas que poderão te ajudar e avaliar o grau de importância de tais testes para o seu projeto.

Bem pessoal é isso. Continuem de olho na lista do DFTestes, pois sempre há assuntos bem interessantes lá.

Fique por dentro das novidades, assine o feed do QualidadeBR.

5 comentários sobre “Teste de Desempenho/Carga/Stress

  1. Pingback: Tweets that mention Teste de Desempenho/Carga/Stress « QualidadeBR -- Topsy.com

  2. Parabéns novamente Fabrício!

    Nossas mesas não são agitadas como antigamente, também porque os assuntos de maior interesse foram votados primeiros, mas continuam boas e agregando valor a nós mesmos ^^.

    Agradecido e Atenciosamente / Thanks and Regards,

    – Felipe da Silva
    “Loucura é continuar fazendo o mesmo e esperar resultados diferentes” (Albert Einstein)
    http://www.formspring.me/dexfelipe
    http://br.linkedin.com/in/dexfelipe

    Responder
    • Verdade Felipe, mas acredito que elas também agregam ao pessoal que apenas ler a lista. Como algumas tem assuntos mais específicos e/ou avançados fica difícil de serem tão agitadas mesmo, só quando há alguma discussão mesmo para agitar um pouco (rs).

      Abraços! E obrigado pelos comentários!😉

  3. Fabricio,
    Parabéns pela postagem, ficou muito bom.
    Trabalho na área de testes de performance e realmente ainda existe uma grande dificuldade sobre entender as diferenças de cada teste e com relação aos projetos nesta área entender do cliente o que ele realmente quer que seja testado em sua aplicação.

    Responder
    • Olá Fabrício, vi em seu comentário que você trabalha com testes de performance e então resolvi te perguntar… Sabe de algum curso on line sobre teste de performance, carga e stress? Obrigada!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s