Personalize as preferências de consentimento
Utilizamos cookies para ajudá-lo a navegar com eficiência e executar determinadas funções. Você encontrará informações detalhadas sobre todos os cookies em cada categoria de consentimento abaixo.

Os cookies categorizados como “Necessários” são armazenados no seu navegador, pois são essenciais para ativar as funcionalidades básicas do site.

Também utilizamos cookies de terceiros que nos ajudam a analisar como você usa este site, armazenam suas preferências e fornecem conteúdo e anúncios que são relevantes para você. Estes cookies só serão armazenados no seu navegador com o seu consentimento prévio.

Você pode optar por ativar ou desativar alguns ou todos esses cookies, mas a desativação de alguns deles pode afetar sua experiência de navegação.
Sempre ativo

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Não há cookies para exibir.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Não há cookies para exibir.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Não há cookies para exibir.

Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Não há cookies para exibir.

Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.

Não há cookies para exibir.

Desenvolvimento

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

7 de julho de 2022

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

Imagem padrão

Autor

Julia Ilkiu

Artigos relacionados

Receba nossa
newsletter

Assine nossa newsletter e receba as últimas
novidades sobre o mundo da tecnologia.

    Eu autorizo a Luby a usar meus dados para o envio de conteúdos personalizados.