Testes de performance para a banco-api, cobrindo os endpoints de autenticação e transferências bancárias. Projeto desenvolvido a partir do material de mentoria do Júlio de Lima.
Repositório: https://github.com/MarceloSwap/banco-api-performance
- k6 — ferramenta de testes de performance
- JavaScript — linguagem utilizada nos scripts de teste
banco-api-performance/
├── config/
│ └── config.local.json
├── fixtures/
│ ├── postLogin.json
│ └── postTransferencias.json
├── helpers/
│ └── autenticacao.js
├── tests/
│ ├── login.test.js
│ └── transferencias.test.js
└── utils/
└── variaveis.js
config/— configurações locais do projeto, como a URL base da APIfixtures/— dados de entrada utilizados nas requisições (payloads)helpers/— funções auxiliares reutilizáveis, como obtenção de token de autenticaçãotests/— scripts de teste de performance organizados por endpointutils/— utilitários gerais, como leitura de variáveis de ambiente e configurações
- Instale o k6: https://grafana.com/docs/k6/latest/set-up/install-k6/
- Clone o repositório:
git clone https://github.com/MarceloSwap/banco-api-performance.git- Acesse o diretório do projeto:
cd banco-api-performanceA URL base da API é configurada via variável de ambiente BASE_URL. Caso não seja informada, o valor padrão definido em config/config.local.json será utilizado (http://localhost:3000).
K6_WEB_DASHBOARD=true K6_WEB_DASHBOARD_EXPORT=html-report.html k6 run tests/login.test.jsOu definindo a URL base via variável de ambiente:
K6_WEB_DASHBOARD=true K6_WEB_DASHBOARD_EXPORT=html-report.html k6 run tests/login.test.js -e BASE_URL=http://localhost:3000K6_WEB_DASHBOARD=true K6_WEB_DASHBOARD_EXPORT=html-report.html k6 run tests/transferencias.test.jsOu definindo a URL base via variável de ambiente:
K6_WEB_DASHBOARD=true K6_WEB_DASHBOARD_EXPORT=html-report.html k6 run tests/transferencias.test.js -e BASE_URL=http://localhost:3000
K6_WEB_DASHBOARD=truehabilita o acompanhamento do relatório em tempo real via browser.K6_WEB_DASHBOARD_EXPORT=html-report.htmlexporta o relatório ao final da execução para o arquivohtml-report.html.