jarvis-ai-framework 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- package/workflows/warm-up.md +574 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# Template de Comentário - Quality Gate
|
|
2
|
+
|
|
3
|
+
Estrutura padronizada para comentários de validação de tech spec no Jira.
|
|
4
|
+
|
|
5
|
+
## Estrutura Base
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
## 🎯 Quality Gate - Tech Spec
|
|
9
|
+
|
|
10
|
+
**Status**: [✅ Conforme / ⚠️ Parcialmente / 🚫 Não conforme]
|
|
11
|
+
**Score**: X/100
|
|
12
|
+
**Tipo de Card**: [Task / Spike / Bug]
|
|
13
|
+
|
|
14
|
+
### ✅ Pontos Positivos
|
|
15
|
+
- Item 1
|
|
16
|
+
- Item 2
|
|
17
|
+
- Item 3
|
|
18
|
+
|
|
19
|
+
### 🚫 Problemas Identificados
|
|
20
|
+
|
|
21
|
+
#### Bloqueantes
|
|
22
|
+
- [ ] **[Área]**: Descrição do problema e impacto
|
|
23
|
+
- [ ] **[Área]**: Descrição do problema e impacto
|
|
24
|
+
|
|
25
|
+
#### Melhorias Recomendadas
|
|
26
|
+
- [ ] **[Área]**: Sugestão de melhoria
|
|
27
|
+
- [ ] **[Área]**: Sugestão de melhoria
|
|
28
|
+
|
|
29
|
+
### 🔧 Recomendações
|
|
30
|
+
|
|
31
|
+
1. **[Área]**: Ação específica e acionável
|
|
32
|
+
- Exemplo concreto ou referência
|
|
33
|
+
|
|
34
|
+
2. **[Área]**: Ação específica e acionável
|
|
35
|
+
- Exemplo concreto ou referência
|
|
36
|
+
|
|
37
|
+
### 📚 Referência
|
|
38
|
+
Validação baseada em: (processo de quality gate do projeto)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
*Análise realizada pelo Quality Champion*
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Variações por Status
|
|
47
|
+
|
|
48
|
+
### ✅ CONFORME (Score 100%)
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
## 🎯 Quality Gate - Tech Spec
|
|
52
|
+
|
|
53
|
+
**Status**: ✅ Conforme
|
|
54
|
+
**Score**: 100/100
|
|
55
|
+
**Tipo de Card**: [Task/Spike/Bug]
|
|
56
|
+
|
|
57
|
+
### ✅ Pontos Positivos
|
|
58
|
+
- [Liste todos os critérios atendidos]
|
|
59
|
+
- [Destaque aspectos particularmente bem feitos]
|
|
60
|
+
- [Mencione completude da documentação]
|
|
61
|
+
|
|
62
|
+
### 🔧 Recomendações
|
|
63
|
+
|
|
64
|
+
Tech spec aprovada! Pode prosseguir para breakdown de subtarefas.
|
|
65
|
+
|
|
66
|
+
**Próximos passos**:
|
|
67
|
+
1. Executar `breakdown_spec_tech` para quebrar em subtarefas
|
|
68
|
+
2. Revisar subtarefas geradas
|
|
69
|
+
3. Iniciar implementação
|
|
70
|
+
|
|
71
|
+
### 📚 Referência
|
|
72
|
+
Validação baseada em: (processo de quality gate do projeto)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
*Análise realizada pelo Quality Champion*
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### ⚠️ PARCIAL (Score 50-99%)
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## 🎯 Quality Gate - Tech Spec
|
|
84
|
+
|
|
85
|
+
**Status**: ⚠️ Parcialmente conforme
|
|
86
|
+
**Score**: X/100
|
|
87
|
+
**Tipo de Card**: [Task/Spike/Bug]
|
|
88
|
+
|
|
89
|
+
### ✅ Pontos Positivos
|
|
90
|
+
- [Liste critérios já atendidos]
|
|
91
|
+
- [Destaque o que está bem feito]
|
|
92
|
+
|
|
93
|
+
### 🚫 Problemas Identificados
|
|
94
|
+
|
|
95
|
+
#### Melhorias Recomendadas
|
|
96
|
+
- [ ] **[Critério]**: Problema específico identificado
|
|
97
|
+
- **Como melhorar**: Ação específica
|
|
98
|
+
- **Exemplo**: [Forneça exemplo concreto]
|
|
99
|
+
|
|
100
|
+
- [ ] **[Critério]**: Problema específico identificado
|
|
101
|
+
- **Como melhorar**: Ação específica
|
|
102
|
+
|
|
103
|
+
### 🔧 Recomendações
|
|
104
|
+
|
|
105
|
+
1. **[Área crítica]**: Priorize esta correção
|
|
106
|
+
- [Orientação detalhada]
|
|
107
|
+
|
|
108
|
+
2. **[Área secundária]**: Melhoria incremental
|
|
109
|
+
- [Orientação detalhada]
|
|
110
|
+
|
|
111
|
+
**Decisão**: Card pode prosseguir com ressalvas. Considere as melhorias para aumentar qualidade.
|
|
112
|
+
|
|
113
|
+
### 📚 Referência
|
|
114
|
+
Validação baseada em: (processo de quality gate do projeto)
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
*Análise realizada pelo Quality Champion*
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### 🚫 BLOQUEADO (Score < 50%)
|
|
123
|
+
|
|
124
|
+
```markdown
|
|
125
|
+
## 🎯 Quality Gate - Tech Spec
|
|
126
|
+
|
|
127
|
+
**Status**: 🚫 Não conforme
|
|
128
|
+
**Score**: X/100
|
|
129
|
+
**Tipo de Card**: [Task/Spike/Bug]
|
|
130
|
+
|
|
131
|
+
### 🚫 Problemas Identificados
|
|
132
|
+
|
|
133
|
+
#### Bloqueantes (Obrigatório corrigir)
|
|
134
|
+
- [ ] **[Critério crítico]**: AUSENTE - Descrição do gap
|
|
135
|
+
- **Impacto**: Por que isso bloqueia a implementação
|
|
136
|
+
- **Como corrigir**: [Passo a passo ou exemplo]
|
|
137
|
+
|
|
138
|
+
- [ ] **[Critério crítico]**: AUSENTE - Descrição do gap
|
|
139
|
+
- **Impacto**: Por que isso bloqueia a implementação
|
|
140
|
+
- **Como corrigir**: [Passo a passo ou exemplo]
|
|
141
|
+
|
|
142
|
+
#### Melhorias Recomendadas
|
|
143
|
+
- [ ] **[Critério]**: Problema adicional
|
|
144
|
+
- **Como melhorar**: Sugestão específica
|
|
145
|
+
|
|
146
|
+
### 🔧 Recomendações
|
|
147
|
+
|
|
148
|
+
**⚠️ Card BLOQUEADO para breakdown**
|
|
149
|
+
|
|
150
|
+
Antes de prosseguir, é necessário:
|
|
151
|
+
|
|
152
|
+
1. **[Área crítica 1]**: [Ação obrigatória]
|
|
153
|
+
- Exemplo: [Fornecer exemplo concreto]
|
|
154
|
+
- Referência: [Link para template ou doc]
|
|
155
|
+
|
|
156
|
+
2. **[Área crítica 2]**: [Ação obrigatória]
|
|
157
|
+
- Exemplo: [Fornecer exemplo concreto]
|
|
158
|
+
- Referência: [Link para template ou doc]
|
|
159
|
+
|
|
160
|
+
**Após correções**:
|
|
161
|
+
- Solicite nova análise executando `quality_gate_tech_spec` novamente
|
|
162
|
+
- O card será reavaliado com os novos critérios
|
|
163
|
+
|
|
164
|
+
### 📚 Referência
|
|
165
|
+
Validação baseada em: (processo de quality gate do projeto)
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
*Análise realizada pelo Quality Champion*
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Guia de Preenchimento
|
|
174
|
+
|
|
175
|
+
### Seção: Pontos Positivos
|
|
176
|
+
- **Quando usar**: Sempre que houver critérios atendidos
|
|
177
|
+
- **Formato**: Lista com bullets
|
|
178
|
+
- **Tom**: Positivo e específico
|
|
179
|
+
- **Exemplo**: ❌ "Descrição boa" → ✅ "Descrição clara com contexto do problema e objetivo bem definido"
|
|
180
|
+
|
|
181
|
+
### Seção: Problemas Identificados
|
|
182
|
+
|
|
183
|
+
#### Bloqueantes
|
|
184
|
+
- **Quando usar**: Critérios obrigatórios não atendidos
|
|
185
|
+
- **Formato**: Checkbox + Área + Descrição
|
|
186
|
+
- **Tom**: Objetivo e direto
|
|
187
|
+
- **Sempre incluir**: Impacto + Como corrigir
|
|
188
|
+
|
|
189
|
+
#### Melhorias Recomendadas
|
|
190
|
+
- **Quando usar**: Critérios opcionais ou melhorias incrementais
|
|
191
|
+
- **Formato**: Checkbox + Área + Sugestão
|
|
192
|
+
- **Tom**: Construtivo e educativo
|
|
193
|
+
|
|
194
|
+
### Seção: Recomendações
|
|
195
|
+
- **Quando usar**: Sempre
|
|
196
|
+
- **Formato**: Numerado com ações específicas
|
|
197
|
+
- **Tom**: Acionável e prático
|
|
198
|
+
- **Sempre incluir**: Exemplos concretos ou referências
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Boas Práticas
|
|
203
|
+
|
|
204
|
+
### ✅ FAZER
|
|
205
|
+
|
|
206
|
+
- Ser específico nos problemas identificados
|
|
207
|
+
- Fornecer exemplos concretos
|
|
208
|
+
- Incluir links para templates ou documentação
|
|
209
|
+
- Usar checkboxes para facilitar acompanhamento
|
|
210
|
+
- Focar no "como corrigir", não apenas no problema
|
|
211
|
+
- Priorizar problemas bloqueantes no topo
|
|
212
|
+
|
|
213
|
+
### ❌ EVITAR
|
|
214
|
+
|
|
215
|
+
- Linguagem vaga ou genérica
|
|
216
|
+
- Críticas sem sugestões de correção
|
|
217
|
+
- Tom negativo ou desmotivador
|
|
218
|
+
- Excesso de formalidade
|
|
219
|
+
- Mencionar pessoas (removido do processo)
|
|
220
|
+
- Listar muitos problemas sem priorização
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Emojis Padronizados
|
|
225
|
+
|
|
226
|
+
| Emoji | Uso | Contexto |
|
|
227
|
+
|-------|-----|----------|
|
|
228
|
+
| 🎯 | Título principal | Quality Gate - Tech Spec |
|
|
229
|
+
| ✅ | Conformidade | Status conforme, pontos positivos |
|
|
230
|
+
| ⚠️ | Atenção | Status parcial, ressalvas |
|
|
231
|
+
| 🚫 | Bloqueio | Status não conforme, problemas críticos |
|
|
232
|
+
| 🔧 | Ação | Recomendações, próximos passos |
|
|
233
|
+
| 📚 | Referência | Links para documentação |
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Checklist Pré-Publicação
|
|
238
|
+
|
|
239
|
+
Antes de publicar o comentário, verifique:
|
|
240
|
+
|
|
241
|
+
- [ ] Status correto (Conforme/Parcial/Bloqueado)
|
|
242
|
+
- [ ] Score calculado está presente
|
|
243
|
+
- [ ] Tipo de card identificado
|
|
244
|
+
- [ ] Todos os problemas bloqueantes listados
|
|
245
|
+
- [ ] Recomendações são acionáveis
|
|
246
|
+
- [ ] Exemplos concretos fornecidos
|
|
247
|
+
- [ ] Link de referência incluído
|
|
248
|
+
- [ ] Tom objetivo e construtivo
|
|
249
|
+
- [ ] Checkboxes para acompanhamento
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Template — Spec Cypress + TypeScript
|
|
2
|
+
|
|
3
|
+
Template base para criação de specs `.cy.ts` seguindo os padrões definidos em
|
|
4
|
+
`$RULES_FOLDER/engineering/qa/eng.qa.cypress-standards-rules.md`.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Estrutura Base
|
|
9
|
+
|
|
10
|
+
```typescript
|
|
11
|
+
// e2e/{dominio}/{feature}.cy.ts
|
|
12
|
+
|
|
13
|
+
import { {Dominio}Page } from '../../support/pages/{Dominio}Page'
|
|
14
|
+
|
|
15
|
+
const page = new {Dominio}Page()
|
|
16
|
+
|
|
17
|
+
describe('{Domínio} — {Feature}', () => {
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
// Setup comum: autenticação e navegação
|
|
20
|
+
cy.loginAs('{perfil}')
|
|
21
|
+
page.visit()
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Happy Path
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
context('quando {condição principal — estado válido}', () => {
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
cy.intercept('{MÉTODO}', '**/api/{recurso}', {
|
|
30
|
+
fixture: '{dominio}/{recurso}-{metodo}.json',
|
|
31
|
+
}).as('{verbRecurso}')
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
it('deve {comportamento principal esperado}', () => {
|
|
35
|
+
// Arrange
|
|
36
|
+
// (dados já preparados no beforeEach)
|
|
37
|
+
|
|
38
|
+
// Act
|
|
39
|
+
page.{acao}()
|
|
40
|
+
cy.wait('@{verbRecurso}')
|
|
41
|
+
|
|
42
|
+
// Assert
|
|
43
|
+
page.shouldShow{Resultado}()
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// Edge Cases
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
context('quando {condição de borda}', () => {
|
|
51
|
+
it('deve {comportamento esperado no limite}', () => {
|
|
52
|
+
// ...
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Negative Tests
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
context('quando {condição de erro / dados inválidos}', () => {
|
|
60
|
+
it('deve exibir {mensagem de erro esperada}', () => {
|
|
61
|
+
cy.intercept('{MÉTODO}', '**/api/{recurso}', {
|
|
62
|
+
statusCode: 422,
|
|
63
|
+
body: { message: '{mensagem de erro da API}' },
|
|
64
|
+
}).as('{verbRecursoError}')
|
|
65
|
+
|
|
66
|
+
page.{acaoComDadosInvalidos}()
|
|
67
|
+
cy.wait('@{verbRecursoError}')
|
|
68
|
+
|
|
69
|
+
page.shouldShowError('{mensagem esperada}')
|
|
70
|
+
})
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Page Object Base
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
// support/pages/{Dominio}Page.ts
|
|
81
|
+
|
|
82
|
+
export class {Dominio}Page {
|
|
83
|
+
visit() {
|
|
84
|
+
cy.visit('/{rota}')
|
|
85
|
+
return this
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// --- Ações ---
|
|
89
|
+
|
|
90
|
+
{acao}() {
|
|
91
|
+
cy.get('[data-testid="{btn-dominio-acao}"]').click()
|
|
92
|
+
return this
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
fill{Campo}(valor: string) {
|
|
96
|
+
cy.get('[data-testid="input-{dominio}-{campo}"]').clear().type(valor)
|
|
97
|
+
return this
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
submit() {
|
|
101
|
+
cy.get('[data-testid="btn-{dominio}-submit"]').click()
|
|
102
|
+
return this
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// --- Asserções ---
|
|
106
|
+
|
|
107
|
+
shouldShow{Resultado}() {
|
|
108
|
+
cy.get('[data-testid="{el-dominio-resultado}"]').should('be.visible')
|
|
109
|
+
return this
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
shouldShowError(message: string) {
|
|
113
|
+
cy.get('[data-testid="alert-error-message"]').should('contain', message)
|
|
114
|
+
return this
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
shouldBeOnPage() {
|
|
118
|
+
cy.url().should('include', '/{rota}')
|
|
119
|
+
return this
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Custom Command de Autenticação (referência)
|
|
127
|
+
|
|
128
|
+
```typescript
|
|
129
|
+
// support/commands/auth.commands.ts
|
|
130
|
+
|
|
131
|
+
Cypress.Commands.add('loginAs', (perfil: '{perfil1}' | '{perfil2}') => {
|
|
132
|
+
cy.fixture(`usuarios/${perfil}`).then((usuario) => {
|
|
133
|
+
cy.request('POST', '/api/auth/login', {
|
|
134
|
+
email: usuario.email,
|
|
135
|
+
password: Cypress.env('DEFAULT_PASSWORD'),
|
|
136
|
+
}).then(({ body }) => {
|
|
137
|
+
window.localStorage.setItem('auth_token', body.token)
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Fixture de Intercept (referência)
|
|
146
|
+
|
|
147
|
+
```json
|
|
148
|
+
// fixtures/{dominio}/{recurso}-get.json
|
|
149
|
+
{
|
|
150
|
+
"data": [
|
|
151
|
+
{
|
|
152
|
+
"id": "{id-1}",
|
|
153
|
+
"{campo}": "{valor}"
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"total": 1,
|
|
157
|
+
"page": 1
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Checklist antes de fazer commit da spec
|
|
164
|
+
|
|
165
|
+
- [ ] Todos os seletores usam `data-testid`
|
|
166
|
+
- [ ] Nenhum `cy.wait({número})` hardcoded — apenas `cy.wait('@alias')`
|
|
167
|
+
- [ ] Cada `it` testa exatamente um comportamento
|
|
168
|
+
- [ ] Todas as chamadas de API estão interceptadas
|
|
169
|
+
- [ ] Fixtures tipadas com `cy.fixture<Tipo>(...)`
|
|
170
|
+
- [ ] Happy Path + pelo menos 1 Negative Test cobertos
|
|
171
|
+
- [ ] Page Object retorna `this` em todos os métodos de ação
|
|
172
|
+
- [ ] `beforeEach` garante estado limpo para cada teste
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Template — Sessão de Teste Exploratório
|
|
2
|
+
|
|
3
|
+
Documento de registro de sessão exploratória estruturada.
|
|
4
|
+
Preencher antes, durante e após a sessão conforme indicado.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Cabeçalho
|
|
9
|
+
|
|
10
|
+
```markdown
|
|
11
|
+
**Sessão ID**: EXP-{YYYYMMDD}-{N}
|
|
12
|
+
**Data**: {YYYY-MM-DD}
|
|
13
|
+
**QA Responsável**: {nome}
|
|
14
|
+
**Duração**: {30 / 60 / 90} minutos
|
|
15
|
+
**Início**: {HH:MM}
|
|
16
|
+
**Fim**: {HH:MM}
|
|
17
|
+
**Ambiente**: {staging / homologação / produção}
|
|
18
|
+
**Versão / Build**: {tag ou hash de deploy}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Charter
|
|
24
|
+
|
|
25
|
+
> Preencher antes de iniciar a sessão.
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
Explorar {área/feature/fluxo}
|
|
29
|
+
para descobrir {tipo de informação / riscos a validar}
|
|
30
|
+
com foco em {dimensão(ões) de qualidade — máximo 2}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Dimensões escolhidas:**
|
|
34
|
+
- [ ] Funcionalidade
|
|
35
|
+
- [ ] Robustez
|
|
36
|
+
- [ ] Consistência
|
|
37
|
+
- [ ] Performance percebida
|
|
38
|
+
- [ ] Acessibilidade
|
|
39
|
+
- [ ] Segurança superficial
|
|
40
|
+
- [ ] Integração
|
|
41
|
+
- [ ] Regressão
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Escopo
|
|
46
|
+
|
|
47
|
+
> O que está dentro e fora desta sessão.
|
|
48
|
+
|
|
49
|
+
**Incluído:**
|
|
50
|
+
- {fluxo/área 1}
|
|
51
|
+
- {fluxo/área 2}
|
|
52
|
+
|
|
53
|
+
**Excluído (coberto em outra sessão ou fora de escopo):**
|
|
54
|
+
- {item excluído e motivo}
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Roteiro de Risco (pré-sessão)
|
|
59
|
+
|
|
60
|
+
> Listar as hipóteses de risco a investigar — não é um script, é um guia de atenção.
|
|
61
|
+
|
|
62
|
+
| # | Hipótese de risco | Área | Prioridade |
|
|
63
|
+
|---|-------------------|------|------------|
|
|
64
|
+
| 1 | {o que pode falhar?} | {componente} | Alta / Média / Baixa |
|
|
65
|
+
| 2 | | | |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Log de Execução
|
|
70
|
+
|
|
71
|
+
> Preencher durante a sessão — anotações livres, não precisa ser formal.
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
{HH:MM} — {o que foi feito / observado}
|
|
75
|
+
{HH:MM} — {achado ou comportamento interessante}
|
|
76
|
+
{HH:MM} — {dúvida para investigar}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Achados
|
|
82
|
+
|
|
83
|
+
> Classificar com severidade conforme `eng.qa.exploratory-session-rules.md`.
|
|
84
|
+
|
|
85
|
+
### Bugs
|
|
86
|
+
|
|
87
|
+
| ID | Título | Severidade | Reprodutível? | Evidência |
|
|
88
|
+
|----|--------|------------|---------------|-----------|
|
|
89
|
+
| B01 | {título conciso} | S{1-4} | Sim / Às vezes / Não | {link / screenshot} |
|
|
90
|
+
|
|
91
|
+
**Detalhamento por bug:**
|
|
92
|
+
|
|
93
|
+
#### B01 — {título}
|
|
94
|
+
|
|
95
|
+
**Severidade:** S{N}
|
|
96
|
+
**Passos para reproduzir:**
|
|
97
|
+
1. {passo 1}
|
|
98
|
+
2. {passo 2}
|
|
99
|
+
3. {passo N}
|
|
100
|
+
|
|
101
|
+
**Comportamento observado:** {o que aconteceu}
|
|
102
|
+
**Comportamento esperado:** {o que deveria acontecer}
|
|
103
|
+
**Ambiente/dados:** {URL, dados utilizados, usuário, etc.}
|
|
104
|
+
**Evidência:** {link para screenshot/vídeo}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### Melhorias (S5 — não são bugs)
|
|
109
|
+
|
|
110
|
+
| ID | Sugestão | Área |
|
|
111
|
+
|----|----------|------|
|
|
112
|
+
| M01 | {sugestão de UX/comportamento} | {área} |
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Cobertura da Sessão
|
|
117
|
+
|
|
118
|
+
| Hipótese | Investigada? | Resultado |
|
|
119
|
+
|----------|-------------|-----------|
|
|
120
|
+
| {hipótese 1} | ✅ Sim / ⚠️ Parcial / ❌ Não | {o que foi encontrado} |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Status do Charter
|
|
125
|
+
|
|
126
|
+
- [ ] ✅ Completo — charter totalmente coberto
|
|
127
|
+
- [ ] ⚠️ Parcial — {o que ficou pendente e motivo}
|
|
128
|
+
- [ ] ❌ Bloqueado — {causa do bloqueio}
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Próximos Passos
|
|
133
|
+
|
|
134
|
+
- [ ] Criar cards no $TASK_MANAGER para bugs S1–S4 via `eng-qa-bug-report`
|
|
135
|
+
- [ ] {ação específica derivada dos achados}
|
|
136
|
+
- [ ] Agendar sessão de follow-up se necessário: {foco da próxima sessão}
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Métricas da Sessão
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Bugs encontrados : S1={N} · S2={N} · S3={N} · S4={N}
|
|
144
|
+
Melhorias (S5) : {N}
|
|
145
|
+
Hipóteses cobertas : {N}/{total}
|
|
146
|
+
Charter : completo / parcial / bloqueado
|
|
147
|
+
Tempo efetivo : {minutos} min de {total definido} min
|
|
148
|
+
```
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
period: "{Sprint N / Release X.Y}"
|
|
3
|
+
squad: "{SQUAD}"
|
|
4
|
+
version: "1.0"
|
|
5
|
+
status: Draft
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Template — Relatório de Qualidade por Sprint/Release
|
|
9
|
+
|
|
10
|
+
Relatório consolidado de qualidade para o período. Gerado pelo skill `eng-qa-quality-report`
|
|
11
|
+
a partir das sessões exploratórias, bug reports e quality gates do período.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Cabeçalho
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
**Relatório**: QA-REPORT-{SQUAD}-{PERIODO}
|
|
19
|
+
**Período**: {Sprint N / Release X.Y} — {YYYY-MM-DD} a {YYYY-MM-DD}
|
|
20
|
+
**Squad**: {SQUAD}
|
|
21
|
+
**QA Responsável**: {nome(s)}
|
|
22
|
+
**Gerado em**: {YYYY-MM-DD}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Resumo Executivo
|
|
28
|
+
|
|
29
|
+
> 3–5 linhas — visão geral da saúde de qualidade do período.
|
|
30
|
+
|
|
31
|
+
{Síntese do período: principais entregas validadas, riscos encontrados, tendências observadas.}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Métricas do Período
|
|
36
|
+
|
|
37
|
+
### Volume de Testes
|
|
38
|
+
|
|
39
|
+
| Tipo | Qtd | vs. Período Anterior |
|
|
40
|
+
|------|-----|----------------------|
|
|
41
|
+
| Sessões exploratórias realizadas | {N} | {+N / -N / igual} |
|
|
42
|
+
| Quality gates validados | {N} | |
|
|
43
|
+
| Testes E2E adicionados/atualizados | {N} | |
|
|
44
|
+
| Bugs reportados (total) | {N} | |
|
|
45
|
+
|
|
46
|
+
### Distribuição de Bugs por Severidade
|
|
47
|
+
|
|
48
|
+
| Severidade | Encontrados | Resolvidos | Em aberto |
|
|
49
|
+
|------------|------------|------------|-----------|
|
|
50
|
+
| S1 — Crítico | {N} | {N} | {N} |
|
|
51
|
+
| S2 — Alto | {N} | {N} | {N} |
|
|
52
|
+
| S3 — Médio | {N} | {N} | {N} |
|
|
53
|
+
| S4 — Baixo | {N} | {N} | {N} |
|
|
54
|
+
| **Total** | **{N}** | **{N}** | **{N}** |
|
|
55
|
+
|
|
56
|
+
### Quality Gates
|
|
57
|
+
|
|
58
|
+
| Status | Qtd | % do total |
|
|
59
|
+
|--------|-----|------------|
|
|
60
|
+
| ✅ Conforme (100%) | {N} | {%} |
|
|
61
|
+
| ⚠️ Parcial (50–99%) | {N} | {%} |
|
|
62
|
+
| 🚫 Bloqueado (< 50%) | {N} | {%} |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Features Validadas
|
|
67
|
+
|
|
68
|
+
| Feature / Task | QG | Sessões | Bugs S1/S2 | Status |
|
|
69
|
+
|---------------|-----|---------|------------|--------|
|
|
70
|
+
| {nome} | ✅/⚠️/🚫 | {N} | {N} | Aprovado / Pendente / Bloqueado |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Bugs em Destaque
|
|
75
|
+
|
|
76
|
+
### S1 — Críticos
|
|
77
|
+
|
|
78
|
+
> Listar todos os S1 do período — mesmo os já resolvidos.
|
|
79
|
+
|
|
80
|
+
| ID | Título | Descoberto em | Resolvido? | Tempo de resolução |
|
|
81
|
+
|----|--------|--------------|------------|-------------------|
|
|
82
|
+
| {ID} | {título} | {sessão / quality gate} | Sim / Não | {horas/dias} |
|
|
83
|
+
|
|
84
|
+
### S2 — Altos em Aberto
|
|
85
|
+
|
|
86
|
+
| ID | Título | Área | Há quanto tempo |
|
|
87
|
+
|----|--------|------|----------------|
|
|
88
|
+
| {ID} | {título} | {área} | {N dias} |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Tendências
|
|
93
|
+
|
|
94
|
+
### Áreas com Maior Concentração de Bugs
|
|
95
|
+
|
|
96
|
+
| Área / Módulo | Bugs no período | Tendência |
|
|
97
|
+
|---------------|----------------|-----------|
|
|
98
|
+
| {módulo} | {N} | ↑ aumentando / → estável / ↓ melhorando |
|
|
99
|
+
|
|
100
|
+
### Observações de Processo
|
|
101
|
+
|
|
102
|
+
- {O que funcionou bem neste período}
|
|
103
|
+
- {O que pode melhorar}
|
|
104
|
+
- {Risco identificado para o próximo período}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Cobertura de Testes E2E
|
|
109
|
+
|
|
110
|
+
| Domínio | Specs ativas | Cobertura estimada | Gaps identificados |
|
|
111
|
+
|---------|-------------|--------------------|--------------------|
|
|
112
|
+
| {domínio} | {N} | Alta / Média / Baixa | {o que falta} |
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Recomendações para o Próximo Período
|
|
117
|
+
|
|
118
|
+
| Prioridade | Ação | Responsável sugerido |
|
|
119
|
+
|------------|------|----------------------|
|
|
120
|
+
| Alta | {ação específica} | QA / Dev / PM |
|
|
121
|
+
| Média | {ação} | |
|
|
122
|
+
| Baixa | {ação} | |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Sessões Realizadas (referência)
|
|
127
|
+
|
|
128
|
+
| Sessão ID | Feature | Duração | Bugs | Charter |
|
|
129
|
+
|-----------|---------|---------|------|---------|
|
|
130
|
+
| EXP-{ID} | {feature} | {min} | S1={N} S2={N} | ✅/⚠️/❌ |
|