Testes de Performance: o que são e como configurar?

Ainda pouco explorado ou pouco vivido por muitos engenheiros de qualidade, os Testes de Performance tem alto valor aplicado para você e para seu contexto de testes.

Neste artigo, vamos entender mais sobre os Testes de Performance NA PRÁTICA.

[adrotate banner=”4″]

O que são Testes de Performance?

O nome em si, muitas vezes, causa confusão na cabeça das pessoas. O conceito dos Testes de Performance engloba muitos sub-gêneros, iremos resumir em três mais utilizados. Em cada um deles, existe mais subtipos. Entretanto, neste artigo, iremos focar nestes que são a base para todos os outros.

Teste de Carga

O Teste de Carga é onde você “carrega” seu ambiente (pode ser um sistema inteiro, microsserviço, APIs, Brokers, etc) a ser testado com uma carga acima do seu workload atual durante um período. Assim, podendo também ir aumentando a carga durante um período. Entretanto, sempre dentro de um range aceitável para o seu contexto.

Teste de Stress

No Teste de Stress, você “carrega” seu ambiente a ser testado com uma carga muito acima do esperado para o seu contexto normal. Dessa forma, será possível entender como ele vai se comportar e se irá demonstrar falhas ou intermitências.

  • Teste de “spike”, endurance, volume e escalabilidade são todos subgêneros com pequenas diferentes nuances para o de stress.

Chaos Teste

Como o próprio nome já diz, o Chaos Teste se trata de você avaliar e saber a partir de qual ponto seu ambiente a ser testado irá quebrar. Assim, poderá extrair métricas necessárias para as análises correspondentes (iremos falar mais sobre abaixo).

Configuração do Teste de Performance

Todos tipos de testes de performance possuem diferentes tipos de configuração de injeção. Então, iremos trazer abaixo alguns exemplos:

  • Modelos de workloads abertos e fechados;

Aberto significa que seu ambiente a ser testado pode continuamente receber novas entradas de carga, independente como irá ser tratado isso.

Fechado significa que seu ambiente apenas pode receber nova carga a partir de um determinado momento ou critério pré-estabelecido.

  • Entrada de carga em concorrência, sequencial e/ou paralela.

Quais são as vantagens dos Testes de Performance?

Agora, vamos falar sobre as principais vantagens dos Testes de Performance:

  1. Assegurar disponibilidade, saúde e estabilidade do ambiente;
  2. Localizar pontos em que seu ambiente apresenta “gargalos”;
  3. Conhecer pontos de vulnerabilidade de segurança no seu ambiente;
  4. Produzir métricas para diferentes propósitos como:
  •  Ter um baixo tempo médio de recuperação do ambiente;
  •  Ter uma documentação sobre a performance do seu ambiente;
  •  Montar estratégias de recuperação (melhor se forem automatizadas);
  •  Criar estratégias de teste.

Testes de Performance na prática

Agora, iremos colocar a mão na massa para criar um step-by-step de como então desenhar sua estratégia!

  1. Primeiro e mais importante ponto: porque e para que você vai criar seus testes? Precisamos ter muito claro o porquê vamos testar esse ambiente. Por exemplo, você vai criar esses testes porque estamos enfrentando ataques brute force no ambiente e precisamos testar isso também ou porque teremos uma black friday se aproximando?
  2. Depois, em literal consequência ao anterior, qual é o seu objetivo final? Alguma área requisitou para um propósito? Benchmark? Testar os pontos de maior conversa ou de maior criticidade dentro de um microsserviço? Para entender melhor o seu ambiente e assim criar uma documentação?
  1. Identificar qual ou quais ambientes serão o alvo.
  1. Consequentemente, levantar todos possíveis gargalos que esse ambiente já tenha, levantar possíveis filtros que já exista. Por exemplo, firewall ou algumas regras de bloqueios de região, IP, etc.
  1. Levantar uma documentação prévia sobre esse ambiente e possíveis métricas já existentes.
  2. Definir ONDE será executado o teste (máquina local, docker, cloud, etc). Lembre-se que cada ambiente possui suas limitações.
  1. Começar de fato agora com todas essas informações a criar seu plano de teste. Assim, defina quais métricas serão usadas e avaliadas: Na criação: definição de tipos de injeção, qual a carga a ser enviada e quais os cenários. No resultado: fazer asserções (se necessárias), coleta das métrica, geração de reports e persistência em banco de dados.

Exemplos básicos de métricas:

  • Tempo de resposta, médio X pico;
  • Latência;
  • Taxa de erros;
  • Uso de CPU e Memória;
  • Tempo médio de recuperação;

Esses exemplos se aplicam em diversos contextos como HTTP, Infraestruturas, Brokers, Filas, banco de dados, etc.

  1. Terminado seu plano e sua execução, agora é só montar toda documentação e reports e entregar os resultados!  

Conclusão

Neste artigo, pudemos ver uma pequena parte, a ponta do iceberg, de o que é e como funcionam os testes de performance e sua enorme importância em diversos contextos. Então, não deixem de pesquisar mais a fundo e procurar oportunidades de inserir no seu contexto.

Por fim, seguem alguns links interessantes e ferramentas que recomendo:

Autor: Francisco Antônio Navarro Moral.

[adrotate banner=”5″]

Veja também:

Como fazer testes automatizados com react

Artigos sobre Testes da Luby

Rodrigo Gardin

Rodrigo Gardin

CTO da Luby

Gostou do conteúdo? Compartilhe

Últimos posts

Fique por dentro das últimas novidades do mundo da tecnologia com os conteúdos do nosso blog!

Acelere a Transformação Digital da sua Empresa

Basta preencher este formulário ou ligar para +55 11 3055 3404

Fale conosco​

Technology Intelligence

Luby - Latin America

Rua Amália de Noronha, nº 151, 3º Andar, Sala 303
Pinheiros, São Paulo – SP – Brasil
CEP: 05410-010

Luby - North America

1110 Brickell Avenue
Suite 310
Miami – FL
United States

AWS certifications - AWS Partner
AWS certifications - Solutions Architect
Azure logo - Certifications Luby
Google Cloud Partner logo, a symbol of Luby's certifications and recognitions collaboration with Google.
Copyright ©2024 Luby Software LLC. All rights reserved.
Rolar para cima