Projeto de arquitetura e esqueleto de testes de performance utilizando o K6.
-
Documentação do k6
-
npm i
- Smoke test
npm run docker:FullFlowSmoke
- Load test
npm run docker:FullFlowLoad
- Soak test
npm run docker:FullFlowSoak
- Spike test
npm run docker:FullFlowSpike
- Stress test
npm run docker:FullFlowStress
- Os dashboards do Grafana ficam disponíveis aqui
- Com npm:
npm run FullFlowLoadTest
- Sem npm:
k6 run src/simulations/FullFlowLoad.test.js
npm run docker:up
npm run docker:down
-
Smoke Test
-
Load Test (Teste de Carga)
- O teste de carga se preocupa principalmente em avaliar o desempenho atual do seu sistema em termos de usuários ou solicitações simultâneas por segundo.
- Utilizado para verificar se a aplicação está batendo as metas de desempenho.
- As metas normalmente são definidas pelo conhecimento que se tem das médias das execuções passadas.
- É possível certificar o atendimento dos padrões de desempenho ao fazer alterações tanto na aplicação (código) quanto na infraestrutura.
-
Stress Test
- Diferente do teste de carga que avalia o desempenho da aplicação, o teste de estresse é um tipo de teste de carga usado para determinar os limites do sistema.
- O objetivo deste teste é verificar a estabilidade e confiabilidade do sistema sob condições extremas e carga pesada.
- Avalia a capacidade máxima em termos de usuários ou taxa de transferência.
- E também como falha e quando falha.
-
Soak Test (Testes de imersão)
- Testes de imersão revela problemas de desempenho e confiabilidade decorrentes de um sistema sob pressão por um período prolongado.
- Com um teste de imersão, você pode simular dias de tráfego em apenas algumas horas.
- Pode ser encontrados de bugs ou memory leak, que resultam em travamento ou reinicialização após várias horas de execução.
- Identifica exaustão tanto dos logs quanto do banco de dados
- Certifique que os serviços externos também não vão parar
-
Spike Test