DEV Community

Francisco Zanfranceschi
Francisco Zanfranceschi

Posted on • Updated on

[Conceito] - Testes de Performance: Carga & Stress

Conteúdo original nessa thread to twitter.


#bolhadev,

Se você cansou desse assunto do tapão na noite do Oscar, cola mais e vem discutir sobre testes de carga e stress! Você sabe a diferença? Tem diferença, na verdade?

mmm…

🧵👇

cc @sseraphini

img


Na verdade, testes de carga e stress estão sob a categoria de testes de performance, mas falemos apenas sobre carga e stress, ok? Estes 2 são os mais confundidos entre si.
Apenas para curiosidade, outros testes de performance são de volume, estabilidade, endurance, pico, etc.


Vamos pegar o exemplo do diagrama abaixo, onde é enviada uma série de requisições de teste para um sistema ao ponto deste não mais responder da forma desejada (falha) por quem o requer.

Pois é, este tipo de teste (é, o cara testou o outro, vai?) é chamado de TESTE DE STRESS.

img


TESTE DE STRESS (stress test) é usado para se descobrir o ponto de falha de um sistema ─ até onde ele aguenta. É um teste de descoberta.


O TESTE DE CARGA (load test) tem um propósito um pouco diferente. Serve para COMPROVAR que um sistema suporta determinada carga.

Imagine um carro em que seu manual diz suportar 1000kg de carga. A gente vai lá, mete 1000kg de carga e testa ─ deveria aguentar.

img


Existem fatores comuns aplicáveis para os dois tipos de testes:

  • DURAÇÃO: Por quanto tempo executar o teste;

  • VARIABILIDADE: De tempo: 5mins com X requisições/seg; 20mins com Y requisições/seg; pausas. De conteúdo: variar o que se envia.


Uma parte difícil destes testes é o ambiente: ter um ambiente produtivo ou equivalente.

Na 1ª opção, vc corre o risco de alterar dados produtivos.

Na 2ª opção, vc corre o risco de não ter um ambiente equivalente de verdade ao de produção (não vale testar em dev ou homolog).


Outro ponto importante é que geralmente as ferramentas para os dois tipos de testes podem ser as mesmas. O que diferencia a execução de um tipo para o outro é mesmo sua configuração.

Algumas ferramentas:

  • K6
  • JMeter
  • Gatling
  • Apache Benchmark (ab)
  • Load Runner
  • Etc

Eita, chegou até aqui? 🥲

Muito obrigado pela moral! Dá um abraço aqui ó 🫂

Foi bom dar um tempo no assunto do tapa, né? hihihi

Discussion (0)