Visão Geral: Testes de Performance

TÚLIO MENEZES
3 min readMay 16, 2018

--

Definição: Teste de Performance é normalmente executado para ajudar a identificar gargalos do sistema, estabelecer uma baseline para futuras análises/testes, determinar a conformidade com requisitos e metas de performance, e/ou coleta de outros dados relacionados ao desempenho para assim ajudar os stakeholders a tomar decisões relacionados com a qualidade total da aplicação que está sendo testada. Além disso, os resultados do Teste de Performance e análises podem ajudar você a estimar a configuração do hardware necessária para suportar a aplicação quando você liberar para o uso em produção.

Porquê devemos executar?

  • Identificar e quantificar o risco dos serviços/aplicações;
  • Definir configurações mínimas para rodar o sistema;
  • Determinar tempos de respostas de uma forma que conseguimos “aferir”, são os chamados throughputs;
  • Identificar os possíveis gargalos (bottlenecks) da aplicação;
  • Gestão de configuração, comprar as diversas plataformas de hardware e Sistemas Operacionais.

E quais são os benefícios?

  • Melhoria da qualidade da aplicação para o usuário final;
  • Aumento dos lucros, por estar prevendo falhas e corrigindo-as, antes do produto entrar em produção.

Porquê é difícil de executar?

  • Teste Complexo, exige expertise na área;
  • Devem ser iniciados assim que os requisitos forem estabelecidos;
  • Requer ferramentas de automação, e uma boa infraestrutura de hardware;
  • Primordial um ambiente propício, com banda, configuração do sistema, acessos concorrentes, para que dessa forma os resultados sejam mais reais possíveis;
  • Não se deve realizar estes tipos de testes em produção.

O que podemos testar?

  • Carga (Load): Identifica os níveis máximos, os quais um sistema/aplicação pode realizar com sucesso em termos de carga de trabalho(workload) e número de usuários virtuais(Virtual Users).
  • Stress: É realizado para submeter o software a situações extremas. Basicamente, o teste de estresse baseia-se em testar os limites do software e avaliar seu comportamento. Assim, avalia-se até quando o software pode ser exigido e quais as falhas (se existirem) decorrentes do teste.
  • Capacidade: Responsáveis por medir até aonde o seu sistema/aplicação é capaz de atuar sem falhas com dada “carga normal” até que o tempo de resposta seja inaceitável.

Quais as diferenças entre Testes de Performance x Testes Funcionais?

Performance — Não testa o front, testa apenas os requisitos não funcionais Funcional — Testa o Front, bem como usabilidade e funcionalidades

Performance — Testa a escalabilidade da aplicação e monitora o uso dos recursos de hardware
Funcional — Não testa a escalabilidade da aplicação e monitora o uso dos recursos de hardware

Performance — Projetado para determinar como uma aplicação / sistema irá realizar ao longo do tempo
Funcional — Não pode determinar como uma aplicação / sistema irá realizar ao longo do tempo

Performance — Requer uma aplicação totalmente funcional para que os cenários sejam executados adequadamente
Funcional — Não requer uma aplicação totalmente funcional para que os cenários sejam executados adequadamente

Performance Tuning(Otimização da Performance)

Em resumo, é a ação de realizar os testes de performance de forma completa, revelando assim características do sistema/aplicação, para que haja intervenção quando necessária nos pontos em que são encontrados bottlenecks críticos, que venham comprometer a disponibilidade do sistema, independente de como e de que forma as requisições são submetidas.

Referências

--

--