Skip to content

Coleção de scripts k6 para testes de desempenho de apps web. Avalie escalabilidade e confiabilidade sob carga.

Notifications You must be signed in to change notification settings

sandrofunk/K6PerformanceTests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🧪 Testes de Performance — Conceitos Fundamentais


📘 Sumário

  1. O que são Testes de Performance
  2. Objetivos Principais
  3. Tipos de Testes
  4. Principais Métricas
  5. Conceitos Essenciais
  6. Processo Básico de Execução
  7. Estrutura do Repositório

🧩 1. O que são Testes de Performance

Os testes de performance têm como objetivo avaliar como um sistema se comporta sob diferentes condições de carga, medindo:

  • 🚀 Velocidade
  • 💪 Estabilidade
  • 📈 Escalabilidade
  • ⚙️ Uso de recursos

💬 “O sistema aguenta quantos usuários simultâneos sem degradar a experiência?”


🚀 2. Objetivos Principais

  • 🔹 Garantir estabilidade: validar se o sistema permanece funcional sob alta carga.
  • 🔹 Detectar gargalos: identificar pontos lentos (banco de dados, rede, API, etc.).
  • 🔹 Verificar escalabilidade: entender o comportamento quando há aumento de usuários.
  • 🔹 Comprovar SLAs: validar metas como “responder em até 2 segundos”.

⚙️ 3. Tipos de Testes de Performance

Tipo Objetivo Exemplo
Load Test (Carga) Avaliar o comportamento sob carga esperada 500 usuários simultâneos
Stress Test (Estresse) Testar o limite máximo antes da falha Aumentar até o sistema quebrar
Spike Test (Pico) Observar reação a picos súbitos Subir de 100 → 1000 usuários em 5 segundos
Endurance / Soak Test (Resistência) Avaliar estabilidade ao longo do tempo Rodar 8h com carga constante
Scalability Test (Escalabilidade) Medir comportamento ao adicionar recursos Subir número de instâncias e medir ganho

📊 4. Principais Métricas

Categoria Métrica O que indica
Tempo de resposta avg, median, p95, p99 Rapidez das respostas
Taxa de transferência requests/sec, throughput Quantidade de requisições processadas
Erros % de falhas Estabilidade e limites atingidos
Recursos CPU, RAM, I/O, latência de rede Capacidade de infraestrutura

⚠️ Dica: Sempre colete métricas em conjunto com logs e monitoramento de infraestrutura.


🧠 5. Conceitos Essenciais

Conceito Explicação
Throughput Volume de requisições processadas por segundo
Latency Tempo entre o envio da requisição e o início da resposta
Response Time Tempo total até a resposta completa
Bottleneck Gargalo que limita o desempenho
Ramp-up Tempo para aumentar gradualmente o número de usuários
SLA / SLO / SLI Acordos e indicadores de desempenho de serviço

🧩 6. Processo Básico de um Teste de Performance

  1. Definir o objetivo

    Exemplo: “O sistema deve suportar 1000 usuários simultâneos com tempo de resposta < 2s”.

  2. Identificar cenários críticos
    Login, busca, checkout e outras funcionalidades de alto impacto.

  3. Configurar ferramenta
    Configurar e parametrizar scripts no JMeter, k6, Gatling ou Locust.

  4. Executar testes
    Simular diferentes níveis de carga e ramp-ups.

  5. Analisar resultados
    Avaliar métricas e gargalos de desempenho.

  6. Reexecutar após ajustes
    Validar se as otimizações surtiram efeito.


📁 7. Estrutura do repositório

📦 testes-performance/
 ┣ 📂 docs/
 ┃ ┣ 📜 conceitos.md
 ┃ ┣ 📜 metricas.md
 ┃ ┣ 📜 processo.md
 ┃ ┗ 📜 tipos-de-testes.md
 ┣ 📜 README.md
 ┗ 📜 LICENSE

📘 **Autor:** Sandro Gonçales Funk  
🎯 *QA Engineer | Performance & Automation Enthusiast*  
📅 *Atualizado em 2025*

About

Coleção de scripts k6 para testes de desempenho de apps web. Avalie escalabilidade e confiabilidade sob carga.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published