Pular para o conteúdo
Bruno Dórea
Todos os posts

4 mins de leitura


O que é teste de performance?


O que é testes de performance ou desempenho?

O teste de desempenho é uma abordagem de teste sistemático para validar o desempenho de um aplicativo sob carga.

Na definição acima, duas palavras importantes aparecem. Um é desempenho e outro é carga. A palavra desempenho refere-se ao comportamento de uma aplicação em termos de capacidade de resposta e estabilidade. A outra palavra carga refere-se à carga sobre um aplicativo em termos da contagem de usuários do mundo real. Portanto, o teste de desempenho é realizado para determinar a capacidade de resposta e a estabilidade de um aplicativo quando a carga de usuário do mundo real é aplicada.

Basicamente, o teste de desempenho vem sob verificações de garantia de qualidade de um software/aplicativo em que velocidade, capacidade e estabilidade são as principais verificações. O Software Quality Assurance tem duas categorias:

  1. Testes funcionais
  2. Testes não funcionais

O teste de desempenho é um tipo de teste não funcional no qual é dada mais preferência à carga do usuário e à resposta rápida em vez da correção da saída. O Teste funcional tem a responsabilidade de verificar a correção da saída. Por exemplo, quando um cliente faz um pedido on-line, ele deve obter um número de pedido correto. Esta é uma verificação funcional. E, ele deve obter o número do pedido dentro de 1 segundo. Esta é uma verificação de desempenho.

Tipos de Testes

Teste de desempenho é um termo muito genérico. Em testes de desempenho, há muitos tipos de testes. Cada teste tem uma meta de desempenho específica. A seguir está a lista de testes de desempenho e metas relativas:

Teste de Carga

Avaliar a capacidade do sistema em lidar com níveis crescentes de cargas reais devido a grande número de usuários ou processos concorrentes.

  • Controlado
  • Cargas previstas

Teste de Stress

Avalia a capacidade do sistema em lidar com picos de cargas no limite ou além do limite das cargas previstas ou especificadas. Também usa-se para avaliação com baixa disponibilidade de recursos.

  • Caótico
  • Situações imprevistas

Teste de Escalabilidade

Avalia a capacidade para atendimento a requisitos futuros de eficiência, podendo estar além dos especificados.

  • Qual a capacidade de expansão do sistema?

Teste de Pico

Avalia a capacidade do sistema em responder corretamente a picos súbitos de carga e retornar um estado estável.

Teste de Concorrência

Avalia ações específicas que ocorrem de forma simultânea.

Teste de Resistência

Estabilidade do sistema ao longo de um período de tempo.

  • capacidade de recursos
  • degradação

Abordagem genérica

O teste de desempenho simula a carga de usuário do mundo real no servidor e identifica o desempenho do sistema em termos de:

  1. Carregamento de usuários
  2. Tempo de resposta
  3. Taxa de Solicitação

Um testador de desempenho conduz o teste de desempenho com a ajuda de uma ferramenta de teste específica conhecida como Ferramenta de Teste de Desempenho. Alguns deles são LoadRunner, JMeter, NeoLoad etc. Essas ferramentas ajudam a criar scripts dos fluxos de negócios e gerar a carga desejada nos servidores. As ferramentas de monitoramento como SiteScope, DynaTrace, AppDynamics etc. monitoram o desempenho do servidor.

No final do teste, o testador de desempenho analisa o resultado do teste e destaca os defeitos (se houver). O defeito identificado durante o teste de desempenho é conhecido como Gargalo. A equipe de desenvolvimento de software (desenvolvedor) tem a responsabilidade de resolver esses gargalos e ajustar a aplicação.

Ferramentas para teste de performance

Muitas ferramentas de teste de desempenho estão disponíveis no mercado. Eles podem ser simplesmente categorizados em:

  • Código aberto / Open Source
  • Licenciado
  • Híbrido

Algumas ferramentas famosas de teste de desempenho:

  • LoadRunner
  • JMeter
  • NeoLoad
  • Blazemeter
  • LoadView
  • Gatling -> programático - java / scala
  • K6 -> programático - javascript
  • Solar Winds
  • LoadStorm
  • LoadNinja