qa-skills 3.0.0 → 3.1.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.
Files changed (262) hide show
  1. package/README.md +20 -149
  2. package/bin/cli.js +1 -40
  3. package/package.json +23 -26
  4. package/dist/agents/registry.d.ts +0 -5
  5. package/dist/agents/registry.d.ts.map +0 -1
  6. package/dist/agents/registry.js +0 -101
  7. package/dist/agents/registry.js.map +0 -1
  8. package/dist/agents/types.d.ts +0 -9
  9. package/dist/agents/types.d.ts.map +0 -1
  10. package/dist/agents/types.js +0 -2
  11. package/dist/agents/types.js.map +0 -1
  12. package/dist/dependencies.d.ts +0 -21
  13. package/dist/dependencies.d.ts.map +0 -1
  14. package/dist/dependencies.js +0 -125
  15. package/dist/dependencies.js.map +0 -1
  16. package/dist/installer.d.ts +0 -25
  17. package/dist/installer.d.ts.map +0 -1
  18. package/dist/installer.js +0 -437
  19. package/dist/installer.js.map +0 -1
  20. package/dist/scaffold.d.ts +0 -27
  21. package/dist/scaffold.d.ts.map +0 -1
  22. package/dist/scaffold.js +0 -182
  23. package/dist/scaffold.js.map +0 -1
  24. package/skills/qa-accessibility-test-writer/SKILL.md +0 -127
  25. package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +0 -349
  26. package/skills/qa-accessibility-test-writer/references/best-practices.md +0 -184
  27. package/skills/qa-accessibility-test-writer/references/wcag-tests.md +0 -331
  28. package/skills/qa-api-contract-curator/SKILL.md +0 -104
  29. package/skills/qa-api-contract-curator/references/breaking-changes.md +0 -363
  30. package/skills/qa-api-contract-curator/references/openapi-structure.md +0 -404
  31. package/skills/qa-browser-data-collector/SKILL.md +0 -132
  32. package/skills/qa-browser-data-collector/references/data-collection-checklist.md +0 -91
  33. package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +0 -113
  34. package/skills/qa-bug-ticket-creator/SKILL.md +0 -148
  35. package/skills/qa-bug-ticket-creator/references/bug-report-format.md +0 -149
  36. package/skills/qa-bug-ticket-creator/references/severity-guide.md +0 -81
  37. package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +0 -39
  38. package/skills/qa-changelog-analyzer/SKILL.md +0 -134
  39. package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +0 -138
  40. package/skills/qa-changelog-analyzer/references/impact-mapping.md +0 -120
  41. package/skills/qa-clickup-integration/SKILL.md +0 -166
  42. package/skills/qa-clickup-integration/references/api-patterns.md +0 -102
  43. package/skills/qa-clickup-integration/references/field-mapping.md +0 -71
  44. package/skills/qa-codeceptjs-writer/SKILL.md +0 -136
  45. package/skills/qa-codeceptjs-writer/references/best-practices.md +0 -207
  46. package/skills/qa-codeceptjs-writer/references/config.md +0 -255
  47. package/skills/qa-codeceptjs-writer/references/patterns.md +0 -285
  48. package/skills/qa-coverage-analyzer/SKILL.md +0 -166
  49. package/skills/qa-coverage-analyzer/references/best-practices.md +0 -142
  50. package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +0 -155
  51. package/skills/qa-coverage-analyzer/references/tools.md +0 -204
  52. package/skills/qa-cypress-writer/SKILL.md +0 -134
  53. package/skills/qa-cypress-writer/references/assertions.md +0 -121
  54. package/skills/qa-cypress-writer/references/best-practices.md +0 -82
  55. package/skills/qa-cypress-writer/references/config.md +0 -121
  56. package/skills/qa-cypress-writer/references/patterns.md +0 -170
  57. package/skills/qa-data-factory/SKILL.md +0 -126
  58. package/skills/qa-data-factory/references/factory-patterns.md +0 -164
  59. package/skills/qa-data-factory/references/faker-guide.md +0 -131
  60. package/skills/qa-diagram-generator/SKILL.md +0 -125
  61. package/skills/qa-diagram-generator/references/c4-model.md +0 -53
  62. package/skills/qa-diagram-generator/references/charts.md +0 -58
  63. package/skills/qa-diagram-generator/references/class-diagram.md +0 -85
  64. package/skills/qa-diagram-generator/references/er-diagram.md +0 -69
  65. package/skills/qa-diagram-generator/references/flowchart.md +0 -92
  66. package/skills/qa-diagram-generator/references/from-screenshot.md +0 -45
  67. package/skills/qa-diagram-generator/references/gantt.md +0 -49
  68. package/skills/qa-diagram-generator/references/journey.md +0 -50
  69. package/skills/qa-diagram-generator/references/mindmap.md +0 -75
  70. package/skills/qa-diagram-generator/references/sequence.md +0 -69
  71. package/skills/qa-diagram-generator/references/state-diagram.md +0 -56
  72. package/skills/qa-discovery-interview/SKILL.md +0 -182
  73. package/skills/qa-discovery-interview/references/completeness-checklist.md +0 -53
  74. package/skills/qa-discovery-interview/references/conflict-patterns.md +0 -101
  75. package/skills/qa-discovery-interview/references/qa-categories.md +0 -147
  76. package/skills/qa-discovery-interview/templates/qa-brief-template.md +0 -168
  77. package/skills/qa-environment-checker/SKILL.md +0 -142
  78. package/skills/qa-environment-checker/references/dependency-matrix.md +0 -101
  79. package/skills/qa-environment-checker/references/health-checks.md +0 -209
  80. package/skills/qa-environment-checker/templates/env-readiness-template.md +0 -64
  81. package/skills/qa-flaky-detector/SKILL.md +0 -153
  82. package/skills/qa-flaky-detector/references/ci-analysis.md +0 -140
  83. package/skills/qa-flaky-detector/references/flaky-patterns.md +0 -247
  84. package/skills/qa-github-issues-enhanced/SKILL.md +0 -175
  85. package/skills/qa-github-issues-enhanced/references/issue-templates.md +0 -425
  86. package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +0 -130
  87. package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +0 -188
  88. package/skills/qa-httpx-writer/SKILL.md +0 -138
  89. package/skills/qa-httpx-writer/references/assertions.md +0 -195
  90. package/skills/qa-httpx-writer/references/best-practices.md +0 -140
  91. package/skills/qa-httpx-writer/references/config.md +0 -212
  92. package/skills/qa-httpx-writer/references/patterns.md +0 -262
  93. package/skills/qa-jest-writer/SKILL.md +0 -131
  94. package/skills/qa-jest-writer/references/assertions.md +0 -125
  95. package/skills/qa-jest-writer/references/best-practices.md +0 -136
  96. package/skills/qa-jest-writer/references/config.md +0 -134
  97. package/skills/qa-jest-writer/references/patterns.md +0 -172
  98. package/skills/qa-jira-integration/SKILL.md +0 -135
  99. package/skills/qa-jira-integration/references/api-patterns.md +0 -143
  100. package/skills/qa-jira-integration/references/field-mapping.md +0 -79
  101. package/skills/qa-jira-integration/references/xray-integration.md +0 -85
  102. package/skills/qa-jmeter-writer/SKILL.md +0 -171
  103. package/skills/qa-jmeter-writer/references/best-practices.md +0 -157
  104. package/skills/qa-jmeter-writer/references/config.md +0 -204
  105. package/skills/qa-jmeter-writer/references/patterns.md +0 -242
  106. package/skills/qa-junit5-writer/SKILL.md +0 -157
  107. package/skills/qa-junit5-writer/references/assertions.md +0 -118
  108. package/skills/qa-junit5-writer/references/config.md +0 -97
  109. package/skills/qa-junit5-writer/references/patterns.md +0 -162
  110. package/skills/qa-k6-writer/SKILL.md +0 -155
  111. package/skills/qa-k6-writer/references/best-practices.md +0 -236
  112. package/skills/qa-k6-writer/references/config.md +0 -219
  113. package/skills/qa-k6-writer/references/patterns.md +0 -304
  114. package/skills/qa-linear-integration/SKILL.md +0 -137
  115. package/skills/qa-linear-integration/references/api-patterns.md +0 -249
  116. package/skills/qa-linear-integration/references/field-mapping.md +0 -121
  117. package/skills/qa-locust-writer/SKILL.md +0 -151
  118. package/skills/qa-locust-writer/references/best-practices.md +0 -126
  119. package/skills/qa-locust-writer/references/config.md +0 -170
  120. package/skills/qa-locust-writer/references/patterns.md +0 -235
  121. package/skills/qa-manual-test-designer/SKILL.md +0 -145
  122. package/skills/qa-manual-test-designer/references/exploratory-charters.md +0 -138
  123. package/skills/qa-manual-test-designer/references/personas.md +0 -146
  124. package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +0 -47
  125. package/skills/qa-manual-test-designer/templates/test-case-template.md +0 -31
  126. package/skills/qa-mobile-test-writer/SKILL.md +0 -144
  127. package/skills/qa-mobile-test-writer/references/best-practices.md +0 -214
  128. package/skills/qa-mobile-test-writer/references/config.md +0 -309
  129. package/skills/qa-mobile-test-writer/references/patterns.md +0 -304
  130. package/skills/qa-nfr-analyst/SKILL.md +0 -177
  131. package/skills/qa-nfr-analyst/references/iso-25010-model.md +0 -159
  132. package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +0 -202
  133. package/skills/qa-nfr-analyst/references/wcag-checklist.md +0 -184
  134. package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +0 -89
  135. package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +0 -48
  136. package/skills/qa-orchestrator/SKILL.md +0 -132
  137. package/skills/qa-orchestrator/references/handoff-chains.md +0 -105
  138. package/skills/qa-orchestrator/references/pipeline-modes.md +0 -115
  139. package/skills/qa-orchestrator/references/scheduler-rules.md +0 -84
  140. package/skills/qa-pact-writer/SKILL.md +0 -133
  141. package/skills/qa-pact-writer/references/best-practices.md +0 -100
  142. package/skills/qa-pact-writer/references/config.md +0 -135
  143. package/skills/qa-pact-writer/references/patterns.md +0 -161
  144. package/skills/qa-plan-creator/SKILL.md +0 -139
  145. package/skills/qa-plan-creator/references/introduction-plan.md +0 -43
  146. package/skills/qa-plan-creator/references/migration-plan.md +0 -44
  147. package/skills/qa-plan-creator/references/onboarding-plan.md +0 -46
  148. package/skills/qa-plan-creator/references/performance-plan.md +0 -44
  149. package/skills/qa-plan-creator/references/regression-plan.md +0 -45
  150. package/skills/qa-plan-creator/references/release-plan.md +0 -45
  151. package/skills/qa-plan-creator/references/sprint-plan.md +0 -44
  152. package/skills/qa-plan-creator/references/test-plan.md +0 -59
  153. package/skills/qa-plan-creator/references/uat-plan.md +0 -43
  154. package/skills/qa-plan-creator/templates/checklist-template.md +0 -36
  155. package/skills/qa-plan-creator/templates/regression-checklist-template.md +0 -49
  156. package/skills/qa-plan-creator/templates/release-checklist-template.md +0 -46
  157. package/skills/qa-plan-creator/templates/test-plan-template.md +0 -74
  158. package/skills/qa-playwright-py-writer/SKILL.md +0 -156
  159. package/skills/qa-playwright-py-writer/references/best-practices.md +0 -194
  160. package/skills/qa-playwright-py-writer/references/config.md +0 -195
  161. package/skills/qa-playwright-py-writer/references/patterns.md +0 -212
  162. package/skills/qa-playwright-ts-writer/SKILL.md +0 -151
  163. package/skills/qa-playwright-ts-writer/references/assertions.md +0 -109
  164. package/skills/qa-playwright-ts-writer/references/best-practices.md +0 -191
  165. package/skills/qa-playwright-ts-writer/references/config.md +0 -144
  166. package/skills/qa-playwright-ts-writer/references/patterns.md +0 -171
  167. package/skills/qa-pytest-writer/SKILL.md +0 -145
  168. package/skills/qa-pytest-writer/references/assertions.md +0 -149
  169. package/skills/qa-pytest-writer/references/best-practices.md +0 -97
  170. package/skills/qa-pytest-writer/references/config.md +0 -176
  171. package/skills/qa-pytest-writer/references/patterns.md +0 -251
  172. package/skills/qa-qase-integration/SKILL.md +0 -149
  173. package/skills/qa-qase-integration/references/api-reference.md +0 -354
  174. package/skills/qa-qase-integration/references/ci-integration.md +0 -196
  175. package/skills/qa-qase-integration/references/field-mapping.md +0 -157
  176. package/skills/qa-requirements-generator/SKILL.md +0 -152
  177. package/skills/qa-requirements-generator/references/iso-29148-structure.md +0 -153
  178. package/skills/qa-requirements-generator/references/requirement-patterns.md +0 -278
  179. package/skills/qa-rest-assured-writer/SKILL.md +0 -137
  180. package/skills/qa-rest-assured-writer/references/best-practices.md +0 -50
  181. package/skills/qa-rest-assured-writer/references/config.md +0 -124
  182. package/skills/qa-rest-assured-writer/references/patterns.md +0 -192
  183. package/skills/qa-risk-analyzer/SKILL.md +0 -158
  184. package/skills/qa-risk-analyzer/references/impact-analysis.md +0 -133
  185. package/skills/qa-risk-analyzer/references/risk-factors.md +0 -123
  186. package/skills/qa-robot-framework-writer/SKILL.md +0 -147
  187. package/skills/qa-robot-framework-writer/references/best-practices.md +0 -249
  188. package/skills/qa-robot-framework-writer/references/config.md +0 -204
  189. package/skills/qa-robot-framework-writer/references/libraries.md +0 -273
  190. package/skills/qa-robot-framework-writer/references/patterns.md +0 -216
  191. package/skills/qa-security-test-writer/SKILL.md +0 -123
  192. package/skills/qa-security-test-writer/references/best-practices.md +0 -155
  193. package/skills/qa-security-test-writer/references/owasp-top10.md +0 -331
  194. package/skills/qa-security-test-writer/references/zap-config.md +0 -258
  195. package/skills/qa-selenium-java-writer/SKILL.md +0 -143
  196. package/skills/qa-selenium-java-writer/references/best-practices.md +0 -59
  197. package/skills/qa-selenium-java-writer/references/config.md +0 -143
  198. package/skills/qa-selenium-java-writer/references/patterns.md +0 -170
  199. package/skills/qa-selenium-py-writer/SKILL.md +0 -150
  200. package/skills/qa-selenium-py-writer/references/best-practices.md +0 -175
  201. package/skills/qa-selenium-py-writer/references/config.md +0 -224
  202. package/skills/qa-selenium-py-writer/references/patterns.md +0 -255
  203. package/skills/qa-shortcut-integration/SKILL.md +0 -143
  204. package/skills/qa-shortcut-integration/references/api-patterns.md +0 -126
  205. package/skills/qa-shortcut-integration/references/field-mapping.md +0 -66
  206. package/skills/qa-spec-auditor/SKILL.md +0 -162
  207. package/skills/qa-spec-auditor/references/audit-checklist.md +0 -144
  208. package/skills/qa-spec-auditor/references/drift-patterns.md +0 -207
  209. package/skills/qa-spec-writer/SKILL.md +0 -143
  210. package/skills/qa-spec-writer/references/gherkin-guide.md +0 -253
  211. package/skills/qa-spec-writer/references/specification-patterns.md +0 -274
  212. package/skills/qa-spring-test-writer/SKILL.md +0 -170
  213. package/skills/qa-spring-test-writer/references/best-practices.md +0 -57
  214. package/skills/qa-spring-test-writer/references/config.md +0 -179
  215. package/skills/qa-spring-test-writer/references/patterns.md +0 -235
  216. package/skills/qa-supertest-writer/SKILL.md +0 -150
  217. package/skills/qa-supertest-writer/references/assertions.md +0 -192
  218. package/skills/qa-supertest-writer/references/best-practices.md +0 -102
  219. package/skills/qa-supertest-writer/references/config.md +0 -166
  220. package/skills/qa-supertest-writer/references/patterns.md +0 -242
  221. package/skills/qa-task-creator/SKILL.md +0 -142
  222. package/skills/qa-task-creator/references/linking-patterns.md +0 -127
  223. package/skills/qa-task-creator/references/task-types.md +0 -169
  224. package/skills/qa-task-creator/templates/task-template.md +0 -24
  225. package/skills/qa-test-doc-compiler/SKILL.md +0 -114
  226. package/skills/qa-test-doc-compiler/references/agile-tailoring.md +0 -220
  227. package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +0 -302
  228. package/skills/qa-test-healer/SKILL.md +0 -101
  229. package/skills/qa-test-healer/references/diagnosis-patterns.md +0 -142
  230. package/skills/qa-test-healer/references/fix-strategies.md +0 -177
  231. package/skills/qa-test-reporter/SKILL.md +0 -130
  232. package/skills/qa-test-reporter/references/best-practices.md +0 -162
  233. package/skills/qa-test-reporter/references/iso-29119-reports.md +0 -236
  234. package/skills/qa-test-reporter/references/report-formats.md +0 -287
  235. package/skills/qa-test-reviewer/SKILL.md +0 -142
  236. package/skills/qa-test-reviewer/references/anti-patterns.md +0 -268
  237. package/skills/qa-test-reviewer/references/review-checklist.md +0 -93
  238. package/skills/qa-test-strategy/SKILL.md +0 -133
  239. package/skills/qa-test-strategy/references/entry-exit-criteria.md +0 -176
  240. package/skills/qa-test-strategy/references/risk-matrix.md +0 -102
  241. package/skills/qa-test-strategy/references/testing-types.md +0 -143
  242. package/skills/qa-testcase-from-docs/SKILL.md +0 -161
  243. package/skills/qa-testcase-from-docs/references/test-case-format.md +0 -196
  244. package/skills/qa-testcase-from-docs/references/test-design-techniques.md +0 -126
  245. package/skills/qa-testcase-from-docs/templates/test-case-template.md +0 -31
  246. package/skills/qa-testcase-from-ui/SKILL.md +0 -109
  247. package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +0 -126
  248. package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +0 -146
  249. package/skills/qa-testcase-from-ui/templates/test-case-template.md +0 -31
  250. package/skills/qa-visual-regression-writer/SKILL.md +0 -175
  251. package/skills/qa-visual-regression-writer/references/best-practices.md +0 -154
  252. package/skills/qa-visual-regression-writer/references/config.md +0 -220
  253. package/skills/qa-visual-regression-writer/references/patterns.md +0 -213
  254. package/skills/qa-vitest-writer/SKILL.md +0 -141
  255. package/skills/qa-vitest-writer/references/assertions.md +0 -105
  256. package/skills/qa-vitest-writer/references/best-practices.md +0 -62
  257. package/skills/qa-vitest-writer/references/config.md +0 -127
  258. package/skills/qa-vitest-writer/references/patterns.md +0 -141
  259. package/skills/qa-webdriverio-writer/SKILL.md +0 -145
  260. package/skills/qa-webdriverio-writer/references/best-practices.md +0 -176
  261. package/skills/qa-webdriverio-writer/references/config.md +0 -240
  262. package/skills/qa-webdriverio-writer/references/patterns.md +0 -269
@@ -1,162 +0,0 @@
1
- # Test Reporting Best Practices
2
-
3
- *Guidance for meaningful metrics, trend analysis, and stakeholder communication.*
4
-
5
- ---
6
-
7
- ## Meaningful Metrics
8
-
9
- ### Primary Metrics
10
-
11
- | Metric | Use | Avoid |
12
- | ------ | --- | ----- |
13
- | **Pass rate** | % passed / total executed | Excluding skipped inflates rate; document skip reasons |
14
- | **Failure count** | Absolute and trend | Ignoring flaky tests masks real regressions |
15
- | **Duration** | Trend over time; SLA compliance | Single-run duration without context |
16
- | **Coverage** | Risk areas; uncovered code | Coverage as sole quality gate |
17
-
18
- ### Secondary Metrics
19
-
20
- - **Flaky rate** — Tests that pass/fail inconsistently; prioritize stabilization
21
- - **Failure density** — Failures per module/suite; identify hotspots
22
- - **Blocked count** — Tests blocked by environment or defects
23
- - **Defect escape rate** — Production defects / total defects found (post-release)
24
-
25
- ### Anti-Patterns
26
-
27
- 1. **Vanity metrics** — High pass rate with many skipped tests
28
- 2. **Single-number focus** — Pass rate alone without failure analysis
29
- 3. **Ignoring trends** — One bad run vs. sustained regression
30
- 4. **Coverage as proxy for quality** — 100% coverage with weak assertions
31
-
32
- ---
33
-
34
- ## Trend Analysis
35
-
36
- ### What to Track
37
-
38
- | Data Point | Purpose |
39
- | ---------- | ------- |
40
- | Pass rate over last N runs | Detect regression |
41
- | Failure count trend | New vs. recurring failures |
42
- | Duration trend | Performance degradation |
43
- | Flaky test list | Prioritize stabilization |
44
- | Coverage trend | Coverage growth or regression |
45
-
46
- ### Storage (Memory MCP)
47
-
48
- Store per run:
49
-
50
- ```json
51
- {
52
- "runId": "build-123",
53
- "timestamp": "2025-03-07T10:00:00Z",
54
- "total": 100,
55
- "passed": 92,
56
- "failed": 5,
57
- "skipped": 3,
58
- "duration": 120000,
59
- "passRate": 92
60
- }
61
- ```
62
-
63
- Query for:
64
-
65
- - Last 7 days
66
- - Last 10 builds
67
- - Same branch/commit family
68
-
69
- ### Reporting Trends
70
-
71
- - **Improving** — Pass rate up, failures down
72
- - **Stable** — No significant change
73
- - **Regressing** — Pass rate down, failures up; flag for investigation
74
- - **New baseline** — First run or major scope change; avoid over-interpretation
75
-
76
- ---
77
-
78
- ## Stakeholder Communication
79
-
80
- ### Audience Tiers
81
-
82
- | Audience | Focus | Detail Level |
83
- | -------- | ----- | ------------- |
84
- | **Executive** | Go/no-go, risk, timeline | 1-page summary |
85
- | **Project manager** | Progress, blockers, next steps | Status report |
86
- | **Developers** | Failures, flaky tests, top issues | Failure analysis, links to failures |
87
- | **QA** | Full metrics, trends, coverage | Full dashboard |
88
-
89
- ### Report Cadence
90
-
91
- - **Daily/Sprint** — Status report (progress, blockers)
92
- - **Release** — Completion report (go/no-go, recommendations)
93
- - **Ad-hoc** — HTML dashboard, Markdown summary for PRs
94
-
95
- ### Clarity Principles
96
-
97
- 1. **Lead with the answer** — Go/no-go and key metrics first
98
- 2. **Use plain language** — Avoid jargon for non-technical readers
99
- 3. **Provide context** — "Pass rate 92%, up from 88% last week"
100
- 4. **Actionable** — "5 flaky tests in checkout flow — stabilize before release"
101
- 5. **Traceability** — Link failures to test IDs, defects, requirements
102
-
103
- ---
104
-
105
- ## Failure Analysis
106
-
107
- ### Top Failures
108
-
109
- Rank failures by:
110
-
111
- 1. **Frequency** — Same test failing across runs
112
- 2. **Impact** — Critical path, high-priority area
113
- 3. **Recency** — New failures vs. long-standing
114
-
115
- ### Flaky Detection
116
-
117
- - Same test: pass and fail across runs without code change
118
- - Require minimum runs (e.g., 5+) before flagging
119
- - Report: "Flaky (3/10 runs failed)"
120
-
121
- ### Failure Grouping
122
-
123
- Group by:
124
-
125
- - **Module/suite** — Identify weak areas
126
- - **Error type** — Timeout, assertion, environment
127
- - **Root cause** — When known, tag for reporting
128
-
129
- ---
130
-
131
- ## Risk Areas
132
-
133
- Flag when:
134
-
135
- - **Low coverage** — Module/suite below threshold (e.g., < 70%)
136
- - **High failure density** — Many failures in one area
137
- - **Blocked tests** — Cannot execute; blocks exit criteria
138
- - **Open Critical/High** — Unresolved defects in scope
139
- - **Duration spike** — Significant slowdown vs. baseline
140
-
141
- Present in report: "Risk areas: Checkout module (65% coverage, 3 open High defects)"
142
-
143
- ---
144
-
145
- ## ISO 29119-3 Alignment
146
-
147
- - Use **Test Status Report** for periodic updates; **Test Completion Report** for release
148
- - Include all mandatory sections per `references/iso-29119-reports.md`
149
- - Tailor for Agile: shorter cycles, lighter documentation, focus on working software
150
- - Traceability: link tests to requirements, defects to test cases
151
-
152
- ---
153
-
154
- ## Tool Integration
155
-
156
- | Tool | Best Practice |
157
- | ---- | ------------- |
158
- | **CI/CD** | Publish reports as artifacts; parse in post-job step |
159
- | **GitHub Actions** | Use `actions/upload-artifact` for JUnit/JSON; fetch via GitHub MCP |
160
- | **Allure** | Rich metadata; use labels for suite, priority, epic |
161
- | **Coverage** | Merge with test results; include in same report |
162
- | **Memory MCP** | Store trends; query before generating report |
@@ -1,236 +0,0 @@
1
- # ISO 29119-3 Test Status and Completion Report Templates
2
-
3
- *Per ISO/IEC/IEEE 29119-3:2021 — Software and systems engineering — Software testing — Part 3: Test documentation*
4
-
5
- ---
6
-
7
- ## Test Status Report
8
-
9
- **Purpose:** Periodic progress report during test execution. Use for sprint reviews, standups, or milestone checkpoints.
10
-
11
- ### Template
12
-
13
- ```markdown
14
- # Test Status Report
15
-
16
- **Identifier:** TSR-{YYYYMMDD}-{sequence}
17
- **Reporting Period:** {start date} to {end date}
18
- **Report Date:** {date}
19
- **Project/Release:** {name}
20
-
21
- ---
22
-
23
- ## 1. Summary
24
-
25
- {Brief executive summary: overall progress, key achievements, blockers.}
26
-
27
- ---
28
-
29
- ## 2. Test Execution Summary
30
-
31
- | Metric | Planned | Executed | Passed | Failed | Blocked | Skipped | Pass Rate |
32
- | ------ | ------- | -------- | ------ | ------ | ------- | ------- | --------- |
33
- | Total | {n} | {n} | {n} | {n} | {n} | {n} | {pct}% |
34
-
35
- *Breakdown by level/type if applicable:*
36
-
37
- | Category | Passed | Failed | Skipped | Pass Rate |
38
- | ------------ | ------ | ------ | ------- | --------- |
39
- | Unit | {n} | {n} | {n} | {pct}% |
40
- | Integration | {n} | {n} | {n} | {pct}% |
41
- | E2E / System | {n} | {n} | {n} | {pct}% |
42
-
43
- ---
44
-
45
- ## 3. Incidents
46
-
47
- | Status | Count | Notes |
48
- | ------ | ----- | ----- |
49
- | Open | {n} | {High/Critical: n} |
50
- | Closed | {n} | — |
51
- | Deferred | {n} | — |
52
-
53
- *Top open incidents (ID, summary, severity):*
54
-
55
- - TIR-001: {summary} — {severity}
56
- - TIR-002: {summary} — {severity}
57
-
58
- ---
59
-
60
- ## 4. Risks and Issues
61
-
62
- - {Risk/blocker 1}
63
- - {Risk/blocker 2}
64
-
65
- ---
66
-
67
- ## 5. Next Period Plan
68
-
69
- - {Planned activity 1}
70
- - {Planned activity 2}
71
-
72
- ---
73
-
74
- ## 6. Metrics (Optional)
75
-
76
- - **Coverage:** {line}% lines, {branch}% branches
77
- - **Progress:** {pct}% of planned tests executed
78
- - **Trend:** Pass rate vs. previous period: {up/down/stable}
79
- ```
80
-
81
- ### Mandatory Sections (ISO 29119-3)
82
-
83
- | Section | Mandatory | Description |
84
- | ------- | --------- | ----------- |
85
- | Identifier | ✓ | Unique report ID |
86
- | Reporting period | ✓ | Date range covered |
87
- | Summary | ✓ | Executive summary |
88
- | Test execution summary | ✓ | Pass/fail/blocked counts |
89
- | Incidents | ✓ | Open/closed incident summary |
90
- | Risks and issues | | Blockers, risks |
91
- | Next period plan | | Planned activities |
92
- | Metrics | | Coverage, progress % |
93
-
94
- ---
95
-
96
- ## Test Completion Report
97
-
98
- **Purpose:** Final report when testing is complete. Summarizes outcomes, exit criteria, and release readiness.
99
-
100
- ### Template
101
-
102
- ```markdown
103
- # Test Completion Report
104
-
105
- **Identifier:** TCR-{YYYYMMDD}-{sequence}
106
- **Report Date:** {date}
107
- **Project/Release:** {name}
108
- **Testing Period:** {start date} to {end date}
109
-
110
- ---
111
-
112
- ## 1. Summary
113
-
114
- {Executive summary: testing complete, overall outcome, go/no-go recommendation.}
115
-
116
- ---
117
-
118
- ## 2. Test Execution Summary
119
-
120
- | Metric | Total | Passed | Failed | Blocked | Skipped | Pass Rate |
121
- | ------ | ----- | ------ | ------ | ------- | ------- | --------- |
122
- | Count | {n} | {n} | {n} | {n} | {n} | {pct}% |
123
-
124
- **Duration:** {total hours} hours
125
-
126
- *By category:*
127
-
128
- | Category | Passed | Failed | Skipped | Pass Rate |
129
- | ------------ | ------ | ------ | ------- | --------- |
130
- | Unit | {n} | {n} | {n} | {pct}% |
131
- | Integration | {n} | {n} | {n} | {pct}% |
132
- | E2E / System | {n} | {n} | {n} | {pct}% |
133
-
134
- ---
135
-
136
- ## 3. Exit Criteria
137
-
138
- | Criterion | Target | Actual | Met? |
139
- | --------- | ------ | ------ | ---- |
140
- | Pass rate ≥ X% | {target}% | {actual}% | Yes/No |
141
- | No Critical/High open | 0 | {n} | Yes/No |
142
- | Coverage ≥ Y% | {target}% | {actual}% | Yes/No |
143
- | {Custom criterion} | — | — | Yes/No |
144
-
145
- **Overall:** {All criteria met / Criteria not met}
146
-
147
- ---
148
-
149
- ## 4. Incidents Summary
150
-
151
- | Status | Count |
152
- | ------ | ----- |
153
- | Open | {n} |
154
- | Closed | {n} |
155
- | Deferred | {n} |
156
-
157
- *Open defects by severity:*
158
-
159
- - Critical: {n}
160
- - High: {n}
161
- - Medium: {n}
162
- - Low: {n}
163
-
164
- ---
165
-
166
- ## 5. Recommendations
167
-
168
- **Release Readiness:** {Go / No-Go / Conditional}
169
-
170
- **Rationale:**
171
- - {Point 1}
172
- - {Point 2}
173
-
174
- **Follow-up:**
175
- - {Action 1}
176
- - {Action 2}
177
-
178
- ---
179
-
180
- ## 6. Lessons Learned (Optional)
181
-
182
- - {Improvement 1}
183
- - {Improvement 2}
184
-
185
- ---
186
-
187
- ## 7. Metrics (Optional)
188
-
189
- - **Coverage:** {line}% lines, {branch}% branches
190
- - **Defect density:** {defects per KLOC or per test}
191
- - **Flaky tests:** {count} identified
192
- ```
193
-
194
- ### Mandatory Sections (ISO 29119-3)
195
-
196
- | Section | Mandatory | Description |
197
- | ------- | --------- | ----------- |
198
- | Identifier | ✓ | Unique report ID |
199
- | Summary | ✓ | Executive summary |
200
- | Test execution summary | ✓ | Final pass/fail/blocked counts |
201
- | Exit criteria met | ✓ | Whether criteria were satisfied |
202
- | Incidents summary | ✓ | Open, closed, deferred |
203
- | Recommendations | ✓ | Release readiness, follow-up |
204
- | Lessons learned | | Process improvements |
205
- | Metrics | | Coverage, defect density |
206
-
207
- ---
208
-
209
- ## Go/No-Go Recommendation Format
210
-
211
- Use in both Status and Completion reports, and in executive summaries:
212
-
213
- ```markdown
214
- ## Go/No-Go Recommendation
215
-
216
- **Recommendation:** {Go | No-Go | Conditional}
217
-
218
- **Summary:**
219
- - Pass rate: {pct}%
220
- - Open Critical/High: {n}
221
- - Exit criteria: {met / not met}
222
- - Risk areas: {list}
223
-
224
- **Rationale:** {2-3 sentence justification}
225
- ```
226
-
227
- ### Decision Matrix (Example)
228
-
229
- | Condition | Go | Conditional | No-Go |
230
- | --------- | --- | ----------- | ----- |
231
- | Pass rate | ≥ 95% | 90–95% | < 90% |
232
- | Critical open | 0 | 0 | > 0 |
233
- | High open | 0 | 1–2 (documented) | > 2 |
234
- | Exit criteria | All met | Most met, minor gaps | Not met |
235
-
236
- *Tailor thresholds per project.*
@@ -1,287 +0,0 @@
1
- # Report Format Reference
2
-
3
- *Reference for parsing test results from common frameworks and CI systems.*
4
-
5
- ---
6
-
7
- ## JUnit XML
8
-
9
- Widely supported by Jest, pytest, Maven, Gradle, PHPUnit, and most CI runners.
10
-
11
- ### Schema Overview
12
-
13
- ```xml
14
- <testsuites>
15
- <testsuite name="Suite Name" tests="10" failures="1" skipped="2" errors="0" time="5.23">
16
- <testcase name="test_name" classname="module.Class" time="0.5">
17
- <!-- Pass: no child elements -->
18
- </testcase>
19
- <testcase name="failing_test" classname="module.Class" time="0.1">
20
- <failure message="AssertionError">Stack trace...</failure>
21
- </testcase>
22
- <testcase name="skipped_test" classname="module.Class">
23
- <skipped message="Not implemented"/>
24
- </testcase>
25
- <testcase name="error_test" classname="module.Class">
26
- <error message="RuntimeError">Error details...</error>
27
- </testcase>
28
- </testsuite>
29
- </testsuites>
30
- ```
31
-
32
- ### Key Attributes
33
-
34
- | Element | Attribute | Description |
35
- | ------- | --------- | ----------- |
36
- | `testsuites` | — | Root; may have `name`, `tests`, `failures`, `errors`, `time` |
37
- | `testsuite` | `name` | Suite/module name |
38
- | `testsuite` | `tests` | Total test count |
39
- | `testsuite` | `failures` | Failed count |
40
- | `testsuite` | `skipped` | Skipped count |
41
- | `testsuite` | `errors` | Error count (uncaught exceptions) |
42
- | `testsuite` | `time` | Total duration (seconds) |
43
- | `testcase` | `name` | Test name |
44
- | `testcase` | `classname` | Class/module (often `file.Class` or `path`) |
45
- | `testcase` | `time` | Duration (seconds) |
46
- | `failure` / `error` | `message` | Short error message |
47
- | `failure` / `error` | (text) | Full stack trace |
48
- | `skipped` | `message` | Skip reason |
49
-
50
- ### Framework Variations
51
-
52
- | Framework | Notes |
53
- | --------- | ----- |
54
- | **Jest** | `testsuites` → `testsuite` per file; `classname` = file path |
55
- | **pytest** | `classname` = `ClassName` or module; `file` attribute sometimes present |
56
- | **Vitest** | JUnit-compatible; similar to Jest |
57
- | **Playwright** | JUnit reporter outputs per project/shard |
58
- | **Maven/Gradle** | Standard JUnit 4/5 schema |
59
-
60
- ### Parsing Rules
61
-
62
- 1. Treat `failure` and `error` as **failed**.
63
- 2. `skipped` = **skipped**; absence of failure/error/skipped = **passed**.
64
- 3. Use `classname` + `name` for unique ID; `classname` often maps to suite/module.
65
- 4. Aggregate `testsuite`-level counts if `testcase` children are present; prefer sum of children for accuracy.
66
-
67
- ---
68
-
69
- ## JSON Reports
70
-
71
- Format varies by framework. Common patterns:
72
-
73
- ### Vitest JSON
74
-
75
- ```json
76
- {
77
- "result": {
78
- "startTime": 1234567890,
79
- "totalDuration": 5000,
80
- "numTotalTestSuites": 5,
81
- "numTotalTests": 50,
82
- "numPassedTests": 45,
83
- "numFailedTests": 3,
84
- "numSkippedTests": 2,
85
- "testResults": [
86
- {
87
- "name": "suite.spec.ts",
88
- "assertionResults": [
89
- {
90
- "ancestorTitles": ["Suite"],
91
- "title": "test name",
92
- "status": "passed",
93
- "duration": 100
94
- }
95
- ]
96
- }
97
- ]
98
- }
99
- }
100
- ```
101
-
102
- ### Playwright JSON
103
-
104
- ```json
105
- {
106
- "config": { "projects": [...] },
107
- "suites": [
108
- {
109
- "title": "Suite",
110
- "specs": [
111
- {
112
- "title": "test name",
113
- "tests": [
114
- {
115
- "results": [
116
- {
117
- "status": "passed",
118
- "duration": 100
119
- }
120
- ]
121
- }
122
- ]
123
- }
124
- ]
125
- }
126
- ]
127
- }
128
- ```
129
-
130
- ### Generic Aggregated JSON (Suggested)
131
-
132
- When generating or normalizing:
133
-
134
- ```json
135
- {
136
- "summary": {
137
- "total": 50,
138
- "passed": 45,
139
- "failed": 3,
140
- "skipped": 2,
141
- "duration": 5000
142
- },
143
- "suites": [
144
- {
145
- "name": "Suite",
146
- "tests": [
147
- {
148
- "name": "test name",
149
- "result": "passed",
150
- "duration": 100,
151
- "failureMessage": null
152
- }
153
- ]
154
- }
155
- ]
156
- }
157
- ```
158
-
159
- ---
160
-
161
- ## Allure Results
162
-
163
- Allure uses a directory of JSON files.
164
-
165
- ### result.json (per test)
166
-
167
- ```json
168
- {
169
- "uuid": "abc-123",
170
- "name": "Test name",
171
- "fullName": "Suite.Test name",
172
- "status": "passed",
173
- "stage": "finished",
174
- "start": 1234567890000,
175
- "stop": 1234567890100,
176
- "labels": [
177
- { "name": "suite", "value": "Suite" },
178
- { "name": "priority", "value": "critical" }
179
- ],
180
- "steps": [...],
181
- "attachments": [...]
182
- }
183
- ```
184
-
185
- **Status values:** `passed`, `failed`, `broken`, `skipped`, `unknown`
186
-
187
- ### container.json (per suite/container)
188
-
189
- ```json
190
- {
191
- "uuid": "container-uuid",
192
- "children": ["test-uuid-1", "test-uuid-2"],
193
- "befores": [...],
194
- "afters": [...]
195
- }
196
- ```
197
-
198
- ### Parsing Rules
199
-
200
- 1. Read all `*-result.json` and `*-container.json` in the results directory.
201
- 2. Build hierarchy from `container.json` → `children` → `result.json`.
202
- 3. Map `status`: `passed`→pass, `failed`/`broken`→fail, `skipped`→skip.
203
- 4. Use `labels` for suite, priority, epic, feature when present.
204
-
205
- ---
206
-
207
- ## Coverage JSON
208
-
209
- ### Istanbul / c8 (Node.js)
210
-
211
- ```json
212
- {
213
- "total": {
214
- "lines": { "total": 100, "covered": 80, "pct": 80 },
215
- "statements": { "total": 120, "covered": 95, "pct": 79.17 },
216
- "functions": { "total": 20, "covered": 18, "pct": 90 },
217
- "branches": { "total": 40, "covered": 30, "pct": 75 }
218
- }
219
- }
220
- ```
221
-
222
- ### pytest-cov JSON
223
-
224
- ```json
225
- {
226
- "totals": {
227
- "num_statements": 100,
228
- "covered_lines": 80,
229
- "percent_covered": 80.0,
230
- "missing_lines": 20
231
- }
232
- }
233
- ```
234
-
235
- ### JaCoCo XML (common in Java)
236
-
237
- ```xml
238
- <report>
239
- <counter type="LINE" missed="20" covered="80"/>
240
- <counter type="BRANCH" missed="10" covered="30"/>
241
- </report>
242
- ```
243
-
244
- ### Parsing Rules
245
-
246
- 1. Normalize to: `lines`, `branches`, `functions` (or `statements`) with `covered` and `total` or `pct`.
247
- 2. If only one metric (e.g., `lines`), use that for coverage summary.
248
- 3. Flag files or packages below threshold (e.g., &lt; 70%) as risk areas.
249
-
250
- ---
251
-
252
- ## CI/CD Output
253
-
254
- ### GitHub Actions
255
-
256
- - **Workflow runs:** `GET /repos/{owner}/{repo}/actions/runs`
257
- - **Job logs:** `GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`
258
- - **Artifacts:** `GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts`
259
-
260
- Artifacts often contain JUnit XML or JSON. Download artifact ZIP, extract, then parse.
261
-
262
- ### GitLab CI
263
-
264
- - JUnit report artifact path configurable (e.g., `junit: report.xml`)
265
- - Coverage from `coverage` keyword or regex in job log
266
-
267
- ### Jenkins
268
-
269
- - JUnit plugin publishes from `**/target/surefire-reports/*.xml` or similar
270
- - Coverage from JaCoCo, Cobertura plugins
271
-
272
- ---
273
-
274
- ## Normalized Internal Model
275
-
276
- Use a common structure for aggregation:
277
-
278
- | Field | Type | Source |
279
- | ----- | ---- | ------ |
280
- | `id` | string | `classname` + `name` or `fullName` |
281
- | `name` | string | Test name |
282
- | `suite` | string | Suite/module/class |
283
- | `result` | enum | `passed`, `failed`, `skipped`, `blocked` |
284
- | `duration` | number | ms or seconds (normalize to ms) |
285
- | `failureMessage` | string? | From `failure`/`error` message |
286
- | `stackTrace` | string? | Full trace if available |
287
- | `labels` | object? | `priority`, `type`, `epic`, etc. |