Testes de performance e carga de APIs REST com Apache JMeter: plano de teste parametrizado, assertions de SLA, execução headless (não-GUI) e dashboard HTML publicado no CI.
🇬🇧 API performance & load testing with Apache JMeter — parameterized test plan, SLA assertions, headless execution and an HTML dashboard published in CI.
App alvo: JSONPlaceholder (API REST pública e estável).
- Plano parametrizado — usuários, ramp-up e loops definidos por propriedades (
-Jusers,-Jrampup,-Jloops); host/protocolo configuráveis. - Response Assertions — valida status
200e conteúdo do corpo. - Duration Assertion — SLA de tempo de resposta (< 2s).
- Execução não-GUI — modo recomendado para carga real, gera
.jtl. - Dashboard HTML — relatório visual gerado automaticamente (latência, throughput, percentis).
- CI — GitHub Actions roda o plano e publica o relatório como artifact.
test-plan/
└── api-load-test.jmx → plano de teste (Thread Group, samplers, assertions)
.github/workflows/
└── performance.yml → execução headless + dashboard no CI
- JDK 8+
- Apache JMeter 5.6+ (download)
jmeter -t test-plan/api-load-test.jmxjmeter -n -t test-plan/api-load-test.jmx \
-Jusers=50 -Jrampup=10 -Jloops=10 \
-l results/result.jtl \
-e -o results/dashboardAbra results/dashboard/index.html para ver o relatório.
| Propriedade | Padrão | Descrição |
|---|---|---|
users |
10 | usuários virtuais (threads) |
rampup |
5 | tempo de ramp-up (s) |
loops |
5 | iterações por usuário |
host |
jsonplaceholder.typicode.com | host alvo |
protocol |
https | http/https |
- Throughput (req/s) · Tempo de resposta médio e percentis (p90/p95/p99) · Taxa de erro · APDEX
Jose Luis Vieira — QA Engineer | Automation (Web, Mobile & API) GitHub · LinkedIn