Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Site alvo: [Automation Exercise](https://automationexercise.com)

Quando a conta é só pré-condição (checkout, e-mail já existente), ela é criada pela API (`POST /api/createAccount`) em vez do formulário, o que deixa o cenário mais rápido e menos frágil. Toda conta de teste criada é excluída ao final do cenário por um hook `After` que chama a API do site (`DELETE /api/deleteAccount`). Como o hook roda mesmo quando o cenário falha, nenhuma conta fica acumulada no site. O cenário de cadastro (`@TC-009`) continua excluindo a conta pela interface, porque a exclusão faz parte do que ele testa.

Cada cenário é identificado e rastreável via tag `@TC-XXX`, listados em [`docs/test-cases.md`](docs/test-cases.md) junto com módulo, tipo, prioridade e status de automação. Os fluxos ponta-a-ponta mais críticos têm a tag `@smoke` (`npx cucumber-js --tags @smoke`).
Cada cenário é identificado e rastreável via tag `@TC-XXX`, listados em [`docs/test-cases.md`](docs/test-cases.md) junto com módulo, tipo, prioridade e status de automação. Os fluxos ponta-a-ponta mais críticos têm a tag `@smoke` e rodam sozinhos com `npm run test:smoke`, para uma checagem rápida antes de abrir um PR. O CI continua rodando a suíte completa em todo PR.

## Estrutura do projeto

Expand Down Expand Up @@ -53,6 +53,7 @@ cp .env.example .env
```bash
npm test # com browser visível
npm run test:headless # em modo headless
npm run test:smoke # só os cenários @smoke (checagem rápida)
npm run test:api # só os testes de API, sem browser
```

Expand Down
2 changes: 1 addition & 1 deletion docs/test-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,4 @@ Cada test case referencia o `.feature` correspondente via tag (`@TC-XXX`) para r
- **Tipo**: `Funcional` (caminho feliz) ou `Negativo` (validação de bloqueio/erro esperado).
- **Prioridade**: importância do caso para o negócio — `Crítica` > `Alta` > `Média` > `Baixa`. Não confundir com a prioridade (P0–P3) usada nos [bug reports](../.github/ISSUE_TEMPLATE/bug_report.md), que mede urgência de correção de um defeito, não importância de um caso de teste.
- **Automação**: `Automatizado`, `Manual` ou `Planejado` (caso ainda não implementado, mas já identificado como necessário).
- **`@smoke`**: cenários ponta-a-ponta críticos, candidatos a uma suíte rápida (`cucumber-js --tags @smoke`) separada da suíte de regressão completa.
- **`@smoke`**: cenários ponta-a-ponta críticos, que formam uma suíte rápida (`npm run test:smoke`) separada da suíte de regressão completa.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"scripts": {
"test": "cucumber-js",
"test:headless": "cross-env HEADLESS=true cucumber-js",
"test:smoke": "cucumber-js --tags @smoke",
"test:api": "cucumber-js --tags @api",
"report:flaky": "ts-node src/tools/flaky-report.ts",
"lint": "eslint src",
Expand Down
Loading