Pular para o conteúdo
SDETRole
SDETRole

Glossário · Performance

Teste de carga

Em inglês: Load testing

Também chamado de: load test, testes de carga, teste de carga de software

Definição

Teste de performance que submete o sistema ao tráfego real esperado para verificar tempos de resposta, taxa de erros e throughput contra metas acordadas.

O teste de carga (load testing) coloca o sistema sob o tráfego que você realmente espera, normalmente o pico normal de uso, e mede como ele se comporta: percentis de latência, taxa de erros, throughput e uso de recursos. A pergunta que ele responde é “o sistema atinge as metas de performance com a carga que planejamos?”. Não se trata de quebrar o sistema; isso é teste de estresse.

Exemplo (k6)

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 }, // ramp up to 100 virtual users
    { duration: '10m', target: 100 }, // hold at expected peak
    { duration: '1m', target: 0 },    // ramp down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500', 'p(99)<1200'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  const res = http.get('https://staging.example.com/api/products');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(1); // think time between iterations
}

Se qualquer um dos thresholds for violado, o k6 termina com código de saída diferente de zero, então o mesmo script pode funcionar como gate no CI.

Carga, estresse, soak e spike

Tipo Perfil de carga Pergunta que responde
Carga Pico esperado, mantido estável Atingimos as metas no pico normal?
Estresse Crescente, além do esperado Onde e como quebra, e ele se recupera?
Soak Carga normal por horas Degrada com o tempo (vazamentos, esgotamento de pool)?
Spike Salto repentino, depois queda Sobrevive a um pico súbito e volta a escalar para baixo?

Como fazer direito

  • Modele o tráfego real. Use a combinação de endpoints, tamanhos de payload e think times que você vê no analytics de produção, e não uma única URL martelada em loop.
  • Use um ambiente parecido com produção. Resultados de uma máquina de staging subdimensionada falam sobre aquela máquina, não sobre produção.
  • Avalie por percentis, não por médias. A média esconde a cauda lenta, que é justamente do que os usuários reclamam.
  • Observe também o lado do servidor. CPU, memória, conexões com o banco de dados e profundidade das filas explicam por que a latência mudou.
  • Combine as metas antes. Sem um objetivo explícito, como “p95 abaixo de 500 ms a 200 requisições por segundo”, o teste de carga produz números, mas nenhum veredito.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →