qa-skills 3.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.
Files changed (262) hide show
  1. package/README.md +168 -0
  2. package/bin/cli.js +42 -0
  3. package/dist/agents/registry.d.ts +5 -0
  4. package/dist/agents/registry.d.ts.map +1 -0
  5. package/dist/agents/registry.js +101 -0
  6. package/dist/agents/registry.js.map +1 -0
  7. package/dist/agents/types.d.ts +9 -0
  8. package/dist/agents/types.d.ts.map +1 -0
  9. package/dist/agents/types.js +2 -0
  10. package/dist/agents/types.js.map +1 -0
  11. package/dist/dependencies.d.ts +21 -0
  12. package/dist/dependencies.d.ts.map +1 -0
  13. package/dist/dependencies.js +125 -0
  14. package/dist/dependencies.js.map +1 -0
  15. package/dist/installer.d.ts +25 -0
  16. package/dist/installer.d.ts.map +1 -0
  17. package/dist/installer.js +437 -0
  18. package/dist/installer.js.map +1 -0
  19. package/dist/scaffold.d.ts +27 -0
  20. package/dist/scaffold.d.ts.map +1 -0
  21. package/dist/scaffold.js +182 -0
  22. package/dist/scaffold.js.map +1 -0
  23. package/package.json +40 -0
  24. package/skills/qa-accessibility-test-writer/SKILL.md +127 -0
  25. package/skills/qa-accessibility-test-writer/references/axe-core-patterns.md +349 -0
  26. package/skills/qa-accessibility-test-writer/references/best-practices.md +184 -0
  27. package/skills/qa-accessibility-test-writer/references/wcag-tests.md +331 -0
  28. package/skills/qa-api-contract-curator/SKILL.md +104 -0
  29. package/skills/qa-api-contract-curator/references/breaking-changes.md +363 -0
  30. package/skills/qa-api-contract-curator/references/openapi-structure.md +404 -0
  31. package/skills/qa-browser-data-collector/SKILL.md +132 -0
  32. package/skills/qa-browser-data-collector/references/data-collection-checklist.md +91 -0
  33. package/skills/qa-browser-data-collector/references/playwright-mcp-patterns.md +113 -0
  34. package/skills/qa-bug-ticket-creator/SKILL.md +148 -0
  35. package/skills/qa-bug-ticket-creator/references/bug-report-format.md +149 -0
  36. package/skills/qa-bug-ticket-creator/references/severity-guide.md +81 -0
  37. package/skills/qa-bug-ticket-creator/templates/bug-ticket-template.md +39 -0
  38. package/skills/qa-changelog-analyzer/SKILL.md +134 -0
  39. package/skills/qa-changelog-analyzer/references/git-analysis-patterns.md +138 -0
  40. package/skills/qa-changelog-analyzer/references/impact-mapping.md +120 -0
  41. package/skills/qa-clickup-integration/SKILL.md +166 -0
  42. package/skills/qa-clickup-integration/references/api-patterns.md +102 -0
  43. package/skills/qa-clickup-integration/references/field-mapping.md +71 -0
  44. package/skills/qa-codeceptjs-writer/SKILL.md +136 -0
  45. package/skills/qa-codeceptjs-writer/references/best-practices.md +207 -0
  46. package/skills/qa-codeceptjs-writer/references/config.md +255 -0
  47. package/skills/qa-codeceptjs-writer/references/patterns.md +285 -0
  48. package/skills/qa-coverage-analyzer/SKILL.md +166 -0
  49. package/skills/qa-coverage-analyzer/references/best-practices.md +142 -0
  50. package/skills/qa-coverage-analyzer/references/coverage-dimensions.md +155 -0
  51. package/skills/qa-coverage-analyzer/references/tools.md +204 -0
  52. package/skills/qa-cypress-writer/SKILL.md +134 -0
  53. package/skills/qa-cypress-writer/references/assertions.md +121 -0
  54. package/skills/qa-cypress-writer/references/best-practices.md +82 -0
  55. package/skills/qa-cypress-writer/references/config.md +121 -0
  56. package/skills/qa-cypress-writer/references/patterns.md +170 -0
  57. package/skills/qa-data-factory/SKILL.md +126 -0
  58. package/skills/qa-data-factory/references/factory-patterns.md +164 -0
  59. package/skills/qa-data-factory/references/faker-guide.md +131 -0
  60. package/skills/qa-diagram-generator/SKILL.md +125 -0
  61. package/skills/qa-diagram-generator/references/c4-model.md +53 -0
  62. package/skills/qa-diagram-generator/references/charts.md +58 -0
  63. package/skills/qa-diagram-generator/references/class-diagram.md +85 -0
  64. package/skills/qa-diagram-generator/references/er-diagram.md +69 -0
  65. package/skills/qa-diagram-generator/references/flowchart.md +92 -0
  66. package/skills/qa-diagram-generator/references/from-screenshot.md +45 -0
  67. package/skills/qa-diagram-generator/references/gantt.md +49 -0
  68. package/skills/qa-diagram-generator/references/journey.md +50 -0
  69. package/skills/qa-diagram-generator/references/mindmap.md +75 -0
  70. package/skills/qa-diagram-generator/references/sequence.md +69 -0
  71. package/skills/qa-diagram-generator/references/state-diagram.md +56 -0
  72. package/skills/qa-discovery-interview/SKILL.md +182 -0
  73. package/skills/qa-discovery-interview/references/completeness-checklist.md +53 -0
  74. package/skills/qa-discovery-interview/references/conflict-patterns.md +101 -0
  75. package/skills/qa-discovery-interview/references/qa-categories.md +147 -0
  76. package/skills/qa-discovery-interview/templates/qa-brief-template.md +168 -0
  77. package/skills/qa-environment-checker/SKILL.md +142 -0
  78. package/skills/qa-environment-checker/references/dependency-matrix.md +101 -0
  79. package/skills/qa-environment-checker/references/health-checks.md +209 -0
  80. package/skills/qa-environment-checker/templates/env-readiness-template.md +64 -0
  81. package/skills/qa-flaky-detector/SKILL.md +153 -0
  82. package/skills/qa-flaky-detector/references/ci-analysis.md +140 -0
  83. package/skills/qa-flaky-detector/references/flaky-patterns.md +247 -0
  84. package/skills/qa-github-issues-enhanced/SKILL.md +175 -0
  85. package/skills/qa-github-issues-enhanced/references/issue-templates.md +425 -0
  86. package/skills/qa-github-issues-enhanced/references/label-taxonomy.md +130 -0
  87. package/skills/qa-github-issues-enhanced/references/workflow-patterns.md +188 -0
  88. package/skills/qa-httpx-writer/SKILL.md +138 -0
  89. package/skills/qa-httpx-writer/references/assertions.md +195 -0
  90. package/skills/qa-httpx-writer/references/best-practices.md +140 -0
  91. package/skills/qa-httpx-writer/references/config.md +212 -0
  92. package/skills/qa-httpx-writer/references/patterns.md +262 -0
  93. package/skills/qa-jest-writer/SKILL.md +131 -0
  94. package/skills/qa-jest-writer/references/assertions.md +125 -0
  95. package/skills/qa-jest-writer/references/best-practices.md +136 -0
  96. package/skills/qa-jest-writer/references/config.md +134 -0
  97. package/skills/qa-jest-writer/references/patterns.md +172 -0
  98. package/skills/qa-jira-integration/SKILL.md +135 -0
  99. package/skills/qa-jira-integration/references/api-patterns.md +143 -0
  100. package/skills/qa-jira-integration/references/field-mapping.md +79 -0
  101. package/skills/qa-jira-integration/references/xray-integration.md +85 -0
  102. package/skills/qa-jmeter-writer/SKILL.md +171 -0
  103. package/skills/qa-jmeter-writer/references/best-practices.md +157 -0
  104. package/skills/qa-jmeter-writer/references/config.md +204 -0
  105. package/skills/qa-jmeter-writer/references/patterns.md +242 -0
  106. package/skills/qa-junit5-writer/SKILL.md +157 -0
  107. package/skills/qa-junit5-writer/references/assertions.md +118 -0
  108. package/skills/qa-junit5-writer/references/config.md +97 -0
  109. package/skills/qa-junit5-writer/references/patterns.md +162 -0
  110. package/skills/qa-k6-writer/SKILL.md +155 -0
  111. package/skills/qa-k6-writer/references/best-practices.md +236 -0
  112. package/skills/qa-k6-writer/references/config.md +219 -0
  113. package/skills/qa-k6-writer/references/patterns.md +304 -0
  114. package/skills/qa-linear-integration/SKILL.md +137 -0
  115. package/skills/qa-linear-integration/references/api-patterns.md +249 -0
  116. package/skills/qa-linear-integration/references/field-mapping.md +121 -0
  117. package/skills/qa-locust-writer/SKILL.md +151 -0
  118. package/skills/qa-locust-writer/references/best-practices.md +126 -0
  119. package/skills/qa-locust-writer/references/config.md +170 -0
  120. package/skills/qa-locust-writer/references/patterns.md +235 -0
  121. package/skills/qa-manual-test-designer/SKILL.md +145 -0
  122. package/skills/qa-manual-test-designer/references/exploratory-charters.md +138 -0
  123. package/skills/qa-manual-test-designer/references/personas.md +146 -0
  124. package/skills/qa-manual-test-designer/templates/exploratory-charter-template.md +47 -0
  125. package/skills/qa-manual-test-designer/templates/test-case-template.md +31 -0
  126. package/skills/qa-mobile-test-writer/SKILL.md +144 -0
  127. package/skills/qa-mobile-test-writer/references/best-practices.md +214 -0
  128. package/skills/qa-mobile-test-writer/references/config.md +309 -0
  129. package/skills/qa-mobile-test-writer/references/patterns.md +304 -0
  130. package/skills/qa-nfr-analyst/SKILL.md +177 -0
  131. package/skills/qa-nfr-analyst/references/iso-25010-model.md +159 -0
  132. package/skills/qa-nfr-analyst/references/owasp-wstg-baseline.md +202 -0
  133. package/skills/qa-nfr-analyst/references/wcag-checklist.md +184 -0
  134. package/skills/qa-nfr-analyst/templates/owasp-checklist-template.md +89 -0
  135. package/skills/qa-nfr-analyst/templates/wcag-checklist-template.md +48 -0
  136. package/skills/qa-orchestrator/SKILL.md +132 -0
  137. package/skills/qa-orchestrator/references/handoff-chains.md +105 -0
  138. package/skills/qa-orchestrator/references/pipeline-modes.md +115 -0
  139. package/skills/qa-orchestrator/references/scheduler-rules.md +84 -0
  140. package/skills/qa-pact-writer/SKILL.md +133 -0
  141. package/skills/qa-pact-writer/references/best-practices.md +100 -0
  142. package/skills/qa-pact-writer/references/config.md +135 -0
  143. package/skills/qa-pact-writer/references/patterns.md +161 -0
  144. package/skills/qa-plan-creator/SKILL.md +139 -0
  145. package/skills/qa-plan-creator/references/introduction-plan.md +43 -0
  146. package/skills/qa-plan-creator/references/migration-plan.md +44 -0
  147. package/skills/qa-plan-creator/references/onboarding-plan.md +46 -0
  148. package/skills/qa-plan-creator/references/performance-plan.md +44 -0
  149. package/skills/qa-plan-creator/references/regression-plan.md +45 -0
  150. package/skills/qa-plan-creator/references/release-plan.md +45 -0
  151. package/skills/qa-plan-creator/references/sprint-plan.md +44 -0
  152. package/skills/qa-plan-creator/references/test-plan.md +59 -0
  153. package/skills/qa-plan-creator/references/uat-plan.md +43 -0
  154. package/skills/qa-plan-creator/templates/checklist-template.md +36 -0
  155. package/skills/qa-plan-creator/templates/regression-checklist-template.md +49 -0
  156. package/skills/qa-plan-creator/templates/release-checklist-template.md +46 -0
  157. package/skills/qa-plan-creator/templates/test-plan-template.md +74 -0
  158. package/skills/qa-playwright-py-writer/SKILL.md +156 -0
  159. package/skills/qa-playwright-py-writer/references/best-practices.md +194 -0
  160. package/skills/qa-playwright-py-writer/references/config.md +195 -0
  161. package/skills/qa-playwright-py-writer/references/patterns.md +212 -0
  162. package/skills/qa-playwright-ts-writer/SKILL.md +151 -0
  163. package/skills/qa-playwright-ts-writer/references/assertions.md +109 -0
  164. package/skills/qa-playwright-ts-writer/references/best-practices.md +191 -0
  165. package/skills/qa-playwright-ts-writer/references/config.md +144 -0
  166. package/skills/qa-playwright-ts-writer/references/patterns.md +171 -0
  167. package/skills/qa-pytest-writer/SKILL.md +145 -0
  168. package/skills/qa-pytest-writer/references/assertions.md +149 -0
  169. package/skills/qa-pytest-writer/references/best-practices.md +97 -0
  170. package/skills/qa-pytest-writer/references/config.md +176 -0
  171. package/skills/qa-pytest-writer/references/patterns.md +251 -0
  172. package/skills/qa-qase-integration/SKILL.md +149 -0
  173. package/skills/qa-qase-integration/references/api-reference.md +354 -0
  174. package/skills/qa-qase-integration/references/ci-integration.md +196 -0
  175. package/skills/qa-qase-integration/references/field-mapping.md +157 -0
  176. package/skills/qa-requirements-generator/SKILL.md +152 -0
  177. package/skills/qa-requirements-generator/references/iso-29148-structure.md +153 -0
  178. package/skills/qa-requirements-generator/references/requirement-patterns.md +278 -0
  179. package/skills/qa-rest-assured-writer/SKILL.md +137 -0
  180. package/skills/qa-rest-assured-writer/references/best-practices.md +50 -0
  181. package/skills/qa-rest-assured-writer/references/config.md +124 -0
  182. package/skills/qa-rest-assured-writer/references/patterns.md +192 -0
  183. package/skills/qa-risk-analyzer/SKILL.md +158 -0
  184. package/skills/qa-risk-analyzer/references/impact-analysis.md +133 -0
  185. package/skills/qa-risk-analyzer/references/risk-factors.md +123 -0
  186. package/skills/qa-robot-framework-writer/SKILL.md +147 -0
  187. package/skills/qa-robot-framework-writer/references/best-practices.md +249 -0
  188. package/skills/qa-robot-framework-writer/references/config.md +204 -0
  189. package/skills/qa-robot-framework-writer/references/libraries.md +273 -0
  190. package/skills/qa-robot-framework-writer/references/patterns.md +216 -0
  191. package/skills/qa-security-test-writer/SKILL.md +123 -0
  192. package/skills/qa-security-test-writer/references/best-practices.md +155 -0
  193. package/skills/qa-security-test-writer/references/owasp-top10.md +331 -0
  194. package/skills/qa-security-test-writer/references/zap-config.md +258 -0
  195. package/skills/qa-selenium-java-writer/SKILL.md +143 -0
  196. package/skills/qa-selenium-java-writer/references/best-practices.md +59 -0
  197. package/skills/qa-selenium-java-writer/references/config.md +143 -0
  198. package/skills/qa-selenium-java-writer/references/patterns.md +170 -0
  199. package/skills/qa-selenium-py-writer/SKILL.md +150 -0
  200. package/skills/qa-selenium-py-writer/references/best-practices.md +175 -0
  201. package/skills/qa-selenium-py-writer/references/config.md +224 -0
  202. package/skills/qa-selenium-py-writer/references/patterns.md +255 -0
  203. package/skills/qa-shortcut-integration/SKILL.md +143 -0
  204. package/skills/qa-shortcut-integration/references/api-patterns.md +126 -0
  205. package/skills/qa-shortcut-integration/references/field-mapping.md +66 -0
  206. package/skills/qa-spec-auditor/SKILL.md +162 -0
  207. package/skills/qa-spec-auditor/references/audit-checklist.md +144 -0
  208. package/skills/qa-spec-auditor/references/drift-patterns.md +207 -0
  209. package/skills/qa-spec-writer/SKILL.md +143 -0
  210. package/skills/qa-spec-writer/references/gherkin-guide.md +253 -0
  211. package/skills/qa-spec-writer/references/specification-patterns.md +274 -0
  212. package/skills/qa-spring-test-writer/SKILL.md +170 -0
  213. package/skills/qa-spring-test-writer/references/best-practices.md +57 -0
  214. package/skills/qa-spring-test-writer/references/config.md +179 -0
  215. package/skills/qa-spring-test-writer/references/patterns.md +235 -0
  216. package/skills/qa-supertest-writer/SKILL.md +150 -0
  217. package/skills/qa-supertest-writer/references/assertions.md +192 -0
  218. package/skills/qa-supertest-writer/references/best-practices.md +102 -0
  219. package/skills/qa-supertest-writer/references/config.md +166 -0
  220. package/skills/qa-supertest-writer/references/patterns.md +242 -0
  221. package/skills/qa-task-creator/SKILL.md +142 -0
  222. package/skills/qa-task-creator/references/linking-patterns.md +127 -0
  223. package/skills/qa-task-creator/references/task-types.md +169 -0
  224. package/skills/qa-task-creator/templates/task-template.md +24 -0
  225. package/skills/qa-test-doc-compiler/SKILL.md +114 -0
  226. package/skills/qa-test-doc-compiler/references/agile-tailoring.md +220 -0
  227. package/skills/qa-test-doc-compiler/references/iso-29119-3-documents.md +302 -0
  228. package/skills/qa-test-healer/SKILL.md +101 -0
  229. package/skills/qa-test-healer/references/diagnosis-patterns.md +142 -0
  230. package/skills/qa-test-healer/references/fix-strategies.md +177 -0
  231. package/skills/qa-test-reporter/SKILL.md +130 -0
  232. package/skills/qa-test-reporter/references/best-practices.md +162 -0
  233. package/skills/qa-test-reporter/references/iso-29119-reports.md +236 -0
  234. package/skills/qa-test-reporter/references/report-formats.md +287 -0
  235. package/skills/qa-test-reviewer/SKILL.md +142 -0
  236. package/skills/qa-test-reviewer/references/anti-patterns.md +268 -0
  237. package/skills/qa-test-reviewer/references/review-checklist.md +93 -0
  238. package/skills/qa-test-strategy/SKILL.md +133 -0
  239. package/skills/qa-test-strategy/references/entry-exit-criteria.md +176 -0
  240. package/skills/qa-test-strategy/references/risk-matrix.md +102 -0
  241. package/skills/qa-test-strategy/references/testing-types.md +143 -0
  242. package/skills/qa-testcase-from-docs/SKILL.md +161 -0
  243. package/skills/qa-testcase-from-docs/references/test-case-format.md +196 -0
  244. package/skills/qa-testcase-from-docs/references/test-design-techniques.md +126 -0
  245. package/skills/qa-testcase-from-docs/templates/test-case-template.md +31 -0
  246. package/skills/qa-testcase-from-ui/SKILL.md +109 -0
  247. package/skills/qa-testcase-from-ui/references/ui-element-patterns.md +126 -0
  248. package/skills/qa-testcase-from-ui/references/visual-analysis-guide.md +146 -0
  249. package/skills/qa-testcase-from-ui/templates/test-case-template.md +31 -0
  250. package/skills/qa-visual-regression-writer/SKILL.md +175 -0
  251. package/skills/qa-visual-regression-writer/references/best-practices.md +154 -0
  252. package/skills/qa-visual-regression-writer/references/config.md +220 -0
  253. package/skills/qa-visual-regression-writer/references/patterns.md +213 -0
  254. package/skills/qa-vitest-writer/SKILL.md +141 -0
  255. package/skills/qa-vitest-writer/references/assertions.md +105 -0
  256. package/skills/qa-vitest-writer/references/best-practices.md +62 -0
  257. package/skills/qa-vitest-writer/references/config.md +127 -0
  258. package/skills/qa-vitest-writer/references/patterns.md +141 -0
  259. package/skills/qa-webdriverio-writer/SKILL.md +145 -0
  260. package/skills/qa-webdriverio-writer/references/best-practices.md +176 -0
  261. package/skills/qa-webdriverio-writer/references/config.md +240 -0
  262. package/skills/qa-webdriverio-writer/references/patterns.md +269 -0
@@ -0,0 +1,196 @@
1
+ # Test Case Format Reference
2
+
3
+ Detailed format for test cases generated by qa-testcase-from-docs. Examples for positive, negative, boundary, and edge case types.
4
+
5
+ ---
6
+
7
+ ## Standard Fields
8
+
9
+ | Field | Required | Description | Example |
10
+ | ----- | -------- | ----------- | ------- |
11
+ | ID | Yes | Unique identifier | TC-AUTH-001 |
12
+ | Title | Yes | Short descriptive name | Valid login with correct credentials |
13
+ | Module | Yes | Feature/component | Authentication |
14
+ | Priority | Yes | Critical / High / Medium / Low | High |
15
+ | Type | Yes | positive / negative / boundary / edge | positive |
16
+ | Preconditions | No | State before execution | User exists, account not locked |
17
+ | Steps | Yes | Action + Expected Result table | See below |
18
+ | Postconditions | No | State after execution | User logged in, session created |
19
+ | Test Data | No | Input values, fixtures | email: test@example.com, password: ValidPass1! |
20
+ | Traceability | Yes | Requirement ID(s) | REQ-FN-001 |
21
+
22
+ ---
23
+
24
+ ## Steps Table
25
+
26
+ | Step# | Action | Expected Result |
27
+ | ----- | ------ | --------------- |
28
+ | 1 | Navigate to login page | Login form displayed |
29
+ | 2 | Enter email "test@example.com" | Email field populated |
30
+ | 3 | Enter password "ValidPass1!" | Password masked |
31
+ | 4 | Click "Sign In" | User redirected to dashboard |
32
+
33
+ **Guidelines:**
34
+ - One action per step
35
+ - Expected result must be observable and verifiable
36
+ - Avoid subjective language ("should", "might", "quickly")
37
+ - Use specific values, not placeholders
38
+
39
+ ---
40
+
41
+ ## Example: Positive Test Case
42
+
43
+ ```
44
+ ID: TC-LOGIN-001
45
+ Title: Valid login with correct credentials
46
+ Module: Authentication
47
+ Priority: High
48
+ Type: positive
49
+ Traceability: REQ-FN-001
50
+
51
+ Preconditions:
52
+ - User "test@example.com" exists with password "ValidPass1!"
53
+ - Application is accessible
54
+
55
+ Steps:
56
+ | Step# | Action | Expected Result |
57
+ | ----- | ------ | --------------- |
58
+ | 1 | Open application login page | Login form displayed |
59
+ | 2 | Enter "test@example.com" in email field | Email field shows entered value |
60
+ | 3 | Enter "ValidPass1!" in password field | Password masked with dots |
61
+ | 4 | Click "Sign In" button | User redirected to dashboard |
62
+ | 5 | Verify dashboard loads | Dashboard displays user name and menu |
63
+
64
+ Postconditions:
65
+ - User session active
66
+ - Session cookie set
67
+
68
+ Test Data: email=test@example.com, password=ValidPass1!
69
+ ```
70
+
71
+ ---
72
+
73
+ ## Example: Negative Test Case
74
+
75
+ ```
76
+ ID: TC-LOGIN-002
77
+ Title: Login fails with incorrect password
78
+ Module: Authentication
79
+ Priority: High
80
+ Type: negative
81
+ Traceability: REQ-FN-001
82
+
83
+ Preconditions:
84
+ - User "test@example.com" exists
85
+ - Application is accessible
86
+
87
+ Steps:
88
+ | Step# | Action | Expected Result |
89
+ | ----- | ------ | --------------- |
90
+ | 1 | Open application login page | Login form displayed |
91
+ | 2 | Enter "test@example.com" in email field | Email field shows entered value |
92
+ | 3 | Enter "WrongPassword123" in password field | Password masked |
93
+ | 4 | Click "Sign In" button | Error message: "Invalid email or password" |
94
+ | 5 | Verify user remains on login page | No redirect, form still visible |
95
+ | 6 | Verify no session created | No session cookie set |
96
+
97
+ Postconditions:
98
+ - User not logged in
99
+ - Failed attempt logged (if applicable)
100
+
101
+ Test Data: email=test@example.com, password=WrongPassword123
102
+ ```
103
+
104
+ ---
105
+
106
+ ## Example: Boundary Test Case
107
+
108
+ ```
109
+ ID: TC-LOGIN-003
110
+ Title: Login with minimum valid password length (8 characters)
111
+ Module: Authentication
112
+ Priority: Medium
113
+ Type: boundary
114
+ Traceability: REQ-FN-001
115
+
116
+ Preconditions:
117
+ - User "test@example.com" exists with password "Abcd1234" (exactly 8 chars)
118
+ - Application is accessible
119
+
120
+ Steps:
121
+ | Step# | Action | Expected Result |
122
+ | ----- | ------ | --------------- |
123
+ | 1 | Open application login page | Login form displayed |
124
+ | 2 | Enter "test@example.com" in email field | Email field shows entered value |
125
+ | 3 | Enter "Abcd1234" in password field | Password accepted (8 chars = min valid) |
126
+ | 4 | Click "Sign In" button | User redirected to dashboard |
127
+
128
+ Postconditions:
129
+ - User logged in successfully
130
+
131
+ Test Data: email=test@example.com, password=Abcd1234 (length=8)
132
+ ```
133
+
134
+ ---
135
+
136
+ ## Example: Edge Case Test Case
137
+
138
+ ```
139
+ ID: TC-LOGIN-004
140
+ Title: Login with optional "Remember me" unchecked (default state)
141
+ Module: Authentication
142
+ Priority: Low
143
+ Type: edge
144
+ Traceability: REQ-FN-001
145
+
146
+ Preconditions:
147
+ - User exists
148
+ - Application is accessible
149
+ - "Remember me" is optional and unchecked by default
150
+
151
+ Steps:
152
+ | Step# | Action | Expected Result |
153
+ | ----- | ------ | --------------- |
154
+ | 1 | Open application login page | Login form displayed, "Remember me" unchecked |
155
+ | 2 | Enter valid credentials | Fields populated |
156
+ | 3 | Leave "Remember me" unchecked | No change to default |
157
+ | 4 | Click "Sign In" button | User logged in |
158
+ | 5 | Close browser completely | Browser closed |
159
+ | 6 | Reopen application | User prompted to login (session not persisted) |
160
+
161
+ Postconditions:
162
+ - Session was non-persistent (session cookie, not persistent)
163
+ ```
164
+
165
+ ---
166
+
167
+ ## JSON Structure (Export Format)
168
+
169
+ ```json
170
+ {
171
+ "id": "TC-LOGIN-001",
172
+ "title": "Valid login with correct credentials",
173
+ "module": "Authentication",
174
+ "priority": "High",
175
+ "type": "positive",
176
+ "traceability": ["REQ-FN-001"],
177
+ "preconditions": "User exists, application accessible",
178
+ "steps": [
179
+ { "step": 1, "action": "Open application login page", "expectedResult": "Login form displayed" },
180
+ { "step": 2, "action": "Enter valid email", "expectedResult": "Email field populated" }
181
+ ],
182
+ "postconditions": "User session active",
183
+ "testData": { "email": "test@example.com", "password": "ValidPass1!" }
184
+ }
185
+ ```
186
+
187
+ ---
188
+
189
+ ## CSV Structure (Export Format)
190
+
191
+ ```csv
192
+ ID,Title,Module,Priority,Type,Preconditions,Steps,Postconditions,Test Data,Traceability
193
+ TC-LOGIN-001,Valid login with correct credentials,Authentication,High,positive,"User exists","1. Open login page|2. Enter credentials|3. Click Sign In","User logged in","email=test@example.com","REQ-FN-001"
194
+ ```
195
+
196
+ Note: Steps may use `|` or `;` as delimiter within the cell; format depends on target tool.
@@ -0,0 +1,126 @@
1
+ # ISO 29119-4 Test Design Techniques
2
+
3
+ Test design techniques per ISO/IEC/IEEE 29119-4. Use these to build test models and derive test cases with measurable coverage.
4
+
5
+ ---
6
+
7
+ ## Equivalence Partitioning (EP)
8
+
9
+ **Description:** Partition input domain into equivalence classes where members are expected to behave identically. Select one representative from each partition to reduce test count while maintaining coverage.
10
+
11
+ **When to use:** Input fields with ranges, sets of valid/invalid values, enumerated types, validation rules.
12
+
13
+ **Example:** Password field (8–128 chars)
14
+ - Partition 1: Valid (8–128 chars) → pick 12 chars
15
+ - Partition 2: Too short (< 8) → pick 5 chars
16
+ - Partition 3: Too long (> 128) → pick 130 chars
17
+ - Partition 4: Empty → empty string
18
+ - Partition 5: Null (if applicable) → null
19
+
20
+ **Coverage:** At least one test per partition.
21
+
22
+ ---
23
+
24
+ ## Boundary Value Analysis (BVA)
25
+
26
+ **Description:** Test at and around boundaries of input domains. Defects often occur at min, max, and off-by-one values.
27
+
28
+ **When to use:** Numeric ranges, string lengths, array sizes, pagination limits, date ranges.
29
+
30
+ **Example:** Age field (18–120)
31
+ - Min boundary: 18 (valid)
32
+ - Min - 1: 17 (invalid)
33
+ - Max boundary: 120 (valid)
34
+ - Max + 1: 121 (invalid)
35
+ - Typical: 25 (valid)
36
+
37
+ **Coverage:** Min, min-1, max, max+1, and optionally typical value per boundary.
38
+
39
+ ---
40
+
41
+ ## Decision Tables
42
+
43
+ **Description:** Tabular representation of business rules. Rows = rule combinations, columns = conditions and actions. Each row yields a test case.
44
+
45
+ **When to use:** Multiple conditions affecting outcome, business rules, discount/eligibility logic, access control.
46
+
47
+ **Example:** Login (2FA enabled/disabled, valid/invalid password)
48
+
49
+ | 2FA Enabled | Password Valid | Expected |
50
+ | ----------- | -------------- | -------- |
51
+ | No | Yes | Login success |
52
+ | No | No | Error: invalid password |
53
+ | Yes | Yes | Prompt for 2FA code |
54
+ | Yes | No | Error: invalid password |
55
+
56
+ **Coverage:** One test per rule (row). Consider all combinations or use techniques to reduce (e.g., pairwise) if combinatorial explosion.
57
+
58
+ ---
59
+
60
+ ## State Transition Testing
61
+
62
+ **Description:** Model system as states and transitions. Test paths through the state machine: all states, all transitions, or specific paths (e.g., happy path, error paths).
63
+
64
+ **When to use:** Workflows, lifecycles, multi-step processes, order status, user sessions, wizards.
65
+
66
+ **Example:** Order lifecycle: Draft → Submitted → Paid → Shipped → Delivered
67
+
68
+ - States: Draft, Submitted, Paid, Shipped, Delivered, Cancelled
69
+ - Transitions: submit, pay, ship, deliver, cancel
70
+ - Test paths: Draft→Submitted→Paid→Shipped→Delivered; Draft→Cancelled; invalid transitions (e.g., Paid→Draft)
71
+
72
+ **Coverage:** All states, all transitions, or transition pairs (0-switch, 1-switch coverage).
73
+
74
+ ---
75
+
76
+ ## Use Case Testing
77
+
78
+ **Description:** Derive test scenarios from use cases. Cover main success scenario, extensions (alternate flows), and exception flows.
79
+
80
+ **When to use:** User-facing features, documented use cases, user stories with Given/When/Then.
81
+
82
+ **Example:** Use case "Place Order"
83
+ - Main: Add items → Enter shipping → Pay → Order confirmed
84
+ - Extension 2a: Apply discount code
85
+ - Extension 3a: Save for later
86
+ - Exception 2b: Invalid payment → retry or cancel
87
+
88
+ **Coverage:** Main scenario + each extension + each exception.
89
+
90
+ ---
91
+
92
+ ## Classification Trees
93
+
94
+ **Description:** Hierarchical decomposition of test object into classifications and classes. Combine classes across classifications to form test cases.
95
+
96
+ **When to use:** Complex objects with multiple attributes, configuration testing, combinatorial selection.
97
+
98
+ **Example:** Search filters: Category (Electronics, Clothing, Books), Price (Low, Mid, High), Sort (Relevance, Price, Date)
99
+
100
+ - Classes: 3 × 3 × 3 = 27 combinations
101
+ - Use pairwise or risk-based selection to reduce
102
+
103
+ **Coverage:** All classes exercised; combination coverage as defined (full, pairwise, etc.).
104
+
105
+ ---
106
+
107
+ ## Technique Selection Guide
108
+
109
+ | Situation | Preferred Technique(s) |
110
+ | --------- | ---------------------- |
111
+ | Input validation | EP, BVA |
112
+ | Business rules | Decision tables |
113
+ | Workflows, lifecycles | State transition |
114
+ | User flows | Use case testing |
115
+ | Complex combinations | Classification trees, decision tables |
116
+ | API parameters | EP, BVA |
117
+ | Form fields | EP, BVA, decision tables (for conditional validation) |
118
+
119
+ ---
120
+
121
+ ## Combining Techniques
122
+
123
+ Often combine techniques for full coverage:
124
+ - **EP + BVA:** Partition first, then add boundary tests
125
+ - **State + Use case:** Model workflow as state machine, derive scenarios from use case
126
+ - **Decision table + EP:** Rules define partitions, EP refines input selection
@@ -0,0 +1,31 @@
1
+ # Test Case
2
+
3
+ ## [TC-{ID}] {Title}
4
+
5
+ **Module:** {module name}
6
+ **Priority:** {P1 | P2 | P3 | P4}
7
+ **Type:** {Functional | Regression | Smoke | Integration | E2E | Other}
8
+
9
+ ## Preconditions
10
+ {Prerequisites, data state, environment setup}
11
+
12
+ ## Test Steps
13
+
14
+ | # | Action | Expected Result |
15
+ |---|--------|-----------------|
16
+ | 1 | {action} | {expected} |
17
+ | 2 | {action} | {expected} |
18
+ | 3 | {action} | {expected} |
19
+
20
+ ## Postconditions
21
+ {Cleanup, state after test}
22
+
23
+ ## Test Data
24
+ {Input values, test accounts, sample data}
25
+
26
+ ## Traceability
27
+ - **Requirement ID:** [REQ-{ID}]
28
+ - **Spec Reference:** {section or link}
29
+
30
+ ## Automation Status
31
+ {Manual | Automated | Planned | N/A}
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: qa-testcase-from-ui
3
+ description: Generate test cases from screenshots, UI mockups, and Figma exports using vision analysis to identify interactive elements and derive test scenarios.
4
+ output_dir: test-cases/from-ui
5
+ dependencies:
6
+ recommended:
7
+ - qa-browser-data-collector
8
+ ---
9
+
10
+ # QA Test Case from UI
11
+
12
+ ## Purpose
13
+
14
+ Generate UI-specific test cases from visual representations of interfaces. Use vision analysis to identify interactive elements, infer user actions, and produce structured test scenarios with visual references (element descriptions, coordinates) for manual or automated testing.
15
+
16
+ ## Trigger Phrases
17
+
18
+ - "Generate test cases from this screenshot" / "Create tests from UI image"
19
+ - "Test cases from Figma export" / "Tests from mockup"
20
+ - "Analyze this wireframe and write test scenarios"
21
+ - "UI test cases from [screenshot/mockup/wireframe]"
22
+ - "Identify interactive elements and create test cases"
23
+ - "Vision-based test case generation" / "Visual UI testing scenarios"
24
+
25
+ ## Input Types
26
+
27
+ | Type | Formats | Notes |
28
+ |------|---------|-------|
29
+ | **Screenshots** | PNG, JPG, WebP | Live app captures, design exports |
30
+ | **Figma exports** | PNG, SVG, PDF | Design-to-test workflow |
31
+ | **UI mockups** | PNG, JPG | Static design comps |
32
+ | **Wireframes** | PNG, PDF | Low-fidelity layouts |
33
+
34
+ ## Vision Analysis Workflow
35
+
36
+ 1. **Accept image paths** — User provides one or more image file paths
37
+ 2. **Identify UI elements** — Detect fields, buttons, tables, modals, forms, navigation, links, icons
38
+ 3. **Semantic mapping** — Infer possible user actions from context (labels, layout, conventions)
39
+ 4. **Generate UI test scenarios** — Produce scenarios covering navigation, forms, validation, responsiveness, edge cases
40
+
41
+ ## Test Scenario Categories
42
+
43
+ | Category | Examples |
44
+ |----------|----------|
45
+ | **Form interactions** | Input, validation, submission, reset |
46
+ | **Navigation flows** | Menu, breadcrumbs, tabs, links |
47
+ | **Modal/dialog interactions** | Open, close, confirm, cancel |
48
+ | **Table/list operations** | Sort, filter, pagination, row actions |
49
+ | **Responsive layout** | Breakpoints, overflow, touch targets |
50
+ | **Error states** | Validation messages, empty states |
51
+ | **Loading states** | Spinners, skeletons, disabled states |
52
+ | **Accessibility** | Focus order, labels, contrast |
53
+
54
+ ## Output Format
55
+
56
+ Test cases include visual references for traceability:
57
+
58
+ ```markdown
59
+ ## TC-UI-001: Login form submission
60
+ **Visual ref:** Login form, center of screen (~50%, 40%)
61
+ **Elements:** Email input, Password input, "Sign In" button
62
+
63
+ | Step | Action | Expected Result |
64
+ |------|--------|-----------------|
65
+ | 1 | Enter valid email in Email field | Value accepted |
66
+ | 2 | Enter valid password | Value masked |
67
+ | 3 | Click "Sign In" | Redirect to dashboard |
68
+ ```
69
+
70
+ ## Scope
71
+
72
+ **Can do (autonomous):**
73
+ - Analyze provided image paths for UI elements
74
+ - Identify common patterns (forms, buttons, tables, modals, nav)
75
+ - Generate test scenarios with element descriptions
76
+ - Infer semantic actions from labels and layout
77
+ - Produce structured output (tables, Gherkin, or project format)
78
+ - Reference `references/ui-element-patterns.md` and `references/visual-analysis-guide.md`
79
+
80
+ **Cannot do (requires confirmation):**
81
+ - Access images without explicit paths
82
+ - Assume element behavior not visible in image
83
+ - Generate assertions for dynamic behavior (e.g., API responses) without context
84
+
85
+ **Will not do (out of scope):**
86
+ - Execute tests or interact with live applications
87
+ - Modify source images or designs
88
+ - Generate test code (hand off to qa-playwright-ts-writer or similar)
89
+
90
+ ## Quality Checklist
91
+
92
+ - [ ] All visible interactive elements identified
93
+ - [ ] Test scenarios map to inferred user actions
94
+ - [ ] Visual references included (element descriptions, approximate location)
95
+ - [ ] Categories cover forms, navigation, modals, tables, states
96
+ - [ ] Edge cases considered (empty, invalid, loading)
97
+ - [ ] Output format matches project convention
98
+ - [ ] No assumptions about backend behavior without context
99
+
100
+ ## Troubleshooting
101
+
102
+ | Symptom | Likely Cause | Fix |
103
+ |---------|--------------|-----|
104
+ | Elements not identified | Low resolution, overlapping UI | Ask for higher-res image or zoomed crop |
105
+ | Wrong element type inferred | Ambiguous visual design | Use conservative labels; flag for review |
106
+ | Too many/too few scenarios | Scope unclear | Ask user for priority (smoke vs full coverage) |
107
+ | Coordinates inaccurate | Vision model variance | Use semantic descriptions over coordinates |
108
+ | Figma export differs from screenshot | Design vs implementation gap | Note "design intent"; suggest live capture for implementation tests |
109
+ | Non-interactive elements flagged | Decorative elements look clickable | Apply visual-analysis-guide heuristics |
@@ -0,0 +1,126 @@
1
+ # UI Element Patterns and Test Scenarios
2
+
3
+ Common UI element patterns and their associated test scenarios. Use this reference when generating test cases from visual UI analysis.
4
+
5
+ ---
6
+
7
+ ## Forms
8
+
9
+ | Element | Visual Cues | Test Scenarios |
10
+ |---------|-------------|----------------|
11
+ | **Text input** | Rectangular field, placeholder/label | Valid input, empty submit, max length, special chars, paste |
12
+ | **Password input** | Masked dots, "show/hide" toggle | Valid password, empty, strength indicator, show/hide toggle |
13
+ | **Email input** | Label "Email", @ in placeholder | Valid format, invalid format, duplicate, empty |
14
+ | **Textarea** | Multi-line box | Valid text, resize, max chars, line breaks |
15
+ | **Checkbox** | Square, checked/unchecked | Toggle on/off, required unchecked, multiple selection |
16
+ | **Radio group** | Circles, one selected | Select option, required unselected, change selection |
17
+ | **Select/Dropdown** | Arrow, single visible value | Open, select option, keyboard nav, empty option |
18
+ | **Multi-select** | Chips/tags, "x" to remove | Add, remove, select all, clear all |
19
+ | **Date picker** | Calendar icon, date format | Select date, invalid date, past/future constraints |
20
+ | **File upload** | "Choose file" / drag zone | Valid file, invalid type, size limit, multiple files |
21
+ | **Submit button** | Primary CTA, often bottom-right | Click submit, disabled when invalid, loading state |
22
+
23
+ **Form-level scenarios:** Required field validation, inline vs on-submit validation, reset/clear, tab order, error message display.
24
+
25
+ ---
26
+
27
+ ## Buttons
28
+
29
+ | Type | Visual Cues | Test Scenarios |
30
+ |------|-------------|----------------|
31
+ | **Primary** | Filled, prominent color | Click action, disabled state, loading spinner |
32
+ | **Secondary** | Outline or muted | Click action, consistency with primary |
33
+ | **Destructive** | Red/danger color | Confirmation flow, cancel option |
34
+ | **Icon button** | Icon only, optional tooltip | Click, keyboard, tooltip on hover |
35
+ | **Link-styled** | Underlined text, cursor pointer | Navigate, open in new tab, disabled |
36
+
37
+ ---
38
+
39
+ ## Dropdowns
40
+
41
+ | Pattern | Visual Cues | Test Scenarios |
42
+ |---------|-------------|----------------|
43
+ | **Single select** | One value shown, chevron | Open, select, close on outside click, keyboard |
44
+ | **Multi-select** | Chips/tags | Add, remove, select all, search/filter |
45
+ | **Cascading** | Parent selection enables child | Parent change clears child, dependent options |
46
+ | **Searchable** | Input inside dropdown | Type to filter, no results state |
47
+ | **Grouped options** | Section headers | Navigate groups, select from group |
48
+
49
+ ---
50
+
51
+ ## Modals / Dialogs
52
+
53
+ | Pattern | Visual Cues | Test Scenarios |
54
+ |---------|-------------|----------------|
55
+ | **Confirmation** | Title, message, OK/Cancel | Confirm, cancel, ESC key, backdrop click |
56
+ | **Form modal** | Form inside overlay | Submit, cancel, validation, focus trap |
57
+ | **Alert** | Icon, message, single button | Dismiss, auto-close (if applicable) |
58
+ | **Full-screen modal** | Overlay covers viewport | Close button, ESC, scroll behavior |
59
+
60
+ **Common scenarios:** Focus trapped inside, focus returns on close, scroll lock on body, aria attributes.
61
+
62
+ ---
63
+
64
+ ## Tables
65
+
66
+ | Element | Visual Cues | Test Scenarios |
67
+ |---------|-------------|----------------|
68
+ | **Sortable columns** | Header arrows/icons | Sort asc/desc, multi-column sort |
69
+ | **Row actions** | Icons/buttons per row | Edit, delete, expand, bulk select |
70
+ | **Pagination** | Page numbers, prev/next | Navigate pages, change page size |
71
+ | **Filter** | Input above table | Filter by column, clear filter |
72
+ | **Empty state** | "No data" message | Display when no rows |
73
+ | **Loading** | Skeleton or spinner | Display during fetch |
74
+
75
+ ---
76
+
77
+ ## Navigation Bars
78
+
79
+ | Pattern | Visual Cues | Test Scenarios |
80
+ |---------|-------------|----------------|
81
+ | **Top nav** | Horizontal links, logo | Click each link, active state, responsive collapse |
82
+ | **Sidebar** | Vertical menu | Expand/collapse, nested items, active state |
83
+ | **Breadcrumbs** | Path: Home > Section > Page | Click each level, truncation |
84
+ | **Mega menu** | Hover reveals panel | Hover, click sub-items, keyboard nav |
85
+
86
+ ---
87
+
88
+ ## Tabs
89
+
90
+ | Pattern | Visual Cues | Test Scenarios |
91
+ |---------|-------------|----------------|
92
+ | **Horizontal tabs** | Underline or pill for active | Switch tabs, keyboard (arrow keys) |
93
+ | **Vertical tabs** | Side panel | Same as horizontal |
94
+ | **Scrollable tabs** | Overflow with arrows | Scroll, select from overflow |
95
+ | **Add/close tabs** | "+" or "x" on tab | Add tab, close tab, close last tab |
96
+
97
+ ---
98
+
99
+ ## Tooltips
100
+
101
+ | Pattern | Visual Cues | Test Scenarios |
102
+ |---------|-------------|----------------|
103
+ | **Hover tooltip** | Small popover on hover | Appear on hover, disappear on leave |
104
+ | **Focus tooltip** | Appears on focus | Keyboard focus, dismiss |
105
+ | **Rich tooltip** | Multi-line, links | Content display, link click |
106
+
107
+ ---
108
+
109
+ ## Notifications
110
+
111
+ | Pattern | Visual Cues | Test Scenarios |
112
+ |---------|-------------|----------------|
113
+ | **Toast** | Corner popup, auto-dismiss | Appear, auto-close, manual dismiss |
114
+ | **Inline alert** | Banner above/below content | Dismiss, persist until action |
115
+ | **Badge** | Count on icon (e.g., cart) | Display count, click navigates |
116
+ | **Status indicator** | Dot or icon (success/error) | Correct color for state |
117
+
118
+ ---
119
+
120
+ ## Cross-Cutting Scenarios
121
+
122
+ - **Responsive:** Element visibility at breakpoints, touch target size, overflow
123
+ - **Loading:** Skeleton, spinner, disabled state during async
124
+ - **Error:** Validation message placement, retry option
125
+ - **Empty:** Empty state message, CTA when no data
126
+ - **Accessibility:** Focus order, aria-labels, keyboard navigation