universal-dev-standards 3.5.1-beta.1 → 3.5.1-beta.11

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 (433) hide show
  1. package/bin/uds.js +2 -0
  2. package/bundled/core/ai-instruction-standards.md +205 -0
  3. package/bundled/core/anti-hallucination.md +684 -0
  4. package/bundled/core/changelog-standards.md +556 -0
  5. package/bundled/core/checkin-standards.md +935 -0
  6. package/bundled/core/code-review-checklist.md +684 -0
  7. package/bundled/core/commit-message-guide.md +915 -0
  8. package/bundled/core/documentation-structure.md +1117 -0
  9. package/bundled/core/documentation-writing-standards.md +487 -0
  10. package/bundled/core/error-code-standards.md +382 -0
  11. package/bundled/core/git-workflow.md +859 -0
  12. package/bundled/core/logging-standards.md +323 -0
  13. package/bundled/core/project-structure.md +354 -0
  14. package/bundled/core/refactoring-standards.md +636 -0
  15. package/bundled/core/spec-driven-development.md +207 -0
  16. package/bundled/core/test-completeness-dimensions.md +536 -0
  17. package/bundled/core/test-driven-development.md +995 -0
  18. package/bundled/core/testing-standards.md +3061 -0
  19. package/bundled/core/versioning.md +902 -0
  20. package/bundled/locales/README.md +88 -0
  21. package/bundled/locales/zh-CN/CHANGELOG.md +705 -0
  22. package/bundled/locales/zh-CN/CLAUDE.md +213 -0
  23. package/bundled/locales/zh-CN/MAINTENANCE.md +689 -0
  24. package/bundled/locales/zh-CN/README.md +707 -0
  25. package/bundled/locales/zh-CN/STANDARDS-MAPPING.md +177 -0
  26. package/bundled/locales/zh-CN/adoption/ADOPTION-GUIDE.md +392 -0
  27. package/bundled/locales/zh-CN/adoption/STATIC-DYNAMIC-GUIDE.md +302 -0
  28. package/bundled/locales/zh-CN/adoption/checklists/enterprise.md +332 -0
  29. package/bundled/locales/zh-CN/adoption/checklists/minimal.md +141 -0
  30. package/bundled/locales/zh-CN/adoption/checklists/recommended.md +272 -0
  31. package/bundled/locales/zh-CN/ai/MAINTENANCE.md +739 -0
  32. package/bundled/locales/zh-CN/ai/options/changelog/auto-generated.ai.yaml +76 -0
  33. package/bundled/locales/zh-CN/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
  34. package/bundled/locales/zh-CN/ai/options/code-review/automated-review.ai.yaml +120 -0
  35. package/bundled/locales/zh-CN/ai/options/code-review/pair-programming.ai.yaml +109 -0
  36. package/bundled/locales/zh-CN/ai/options/code-review/pr-review.ai.yaml +104 -0
  37. package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +105 -0
  38. package/bundled/locales/zh-CN/ai/options/commit-message/english.ai.yaml +79 -0
  39. package/bundled/locales/zh-CN/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
  40. package/bundled/locales/zh-CN/ai/options/documentation/api-docs.ai.yaml +140 -0
  41. package/bundled/locales/zh-CN/ai/options/documentation/markdown-docs.ai.yaml +89 -0
  42. package/bundled/locales/zh-CN/ai/options/documentation/wiki-style.ai.yaml +119 -0
  43. package/bundled/locales/zh-CN/ai/options/git-workflow/gitflow.ai.yaml +133 -0
  44. package/bundled/locales/zh-CN/ai/options/git-workflow/github-flow.ai.yaml +73 -0
  45. package/bundled/locales/zh-CN/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
  46. package/bundled/locales/zh-CN/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
  47. package/bundled/locales/zh-CN/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
  48. package/bundled/locales/zh-CN/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
  49. package/bundled/locales/zh-CN/ai/options/project-structure/dotnet.ai.yaml +108 -0
  50. package/bundled/locales/zh-CN/ai/options/project-structure/go.ai.yaml +115 -0
  51. package/bundled/locales/zh-CN/ai/options/project-structure/java.ai.yaml +113 -0
  52. package/bundled/locales/zh-CN/ai/options/project-structure/kotlin.ai.yaml +123 -0
  53. package/bundled/locales/zh-CN/ai/options/project-structure/nodejs.ai.yaml +101 -0
  54. package/bundled/locales/zh-CN/ai/options/project-structure/php.ai.yaml +147 -0
  55. package/bundled/locales/zh-CN/ai/options/project-structure/python.ai.yaml +116 -0
  56. package/bundled/locales/zh-CN/ai/options/project-structure/ruby.ai.yaml +140 -0
  57. package/bundled/locales/zh-CN/ai/options/project-structure/rust.ai.yaml +117 -0
  58. package/bundled/locales/zh-CN/ai/options/project-structure/swift.ai.yaml +143 -0
  59. package/bundled/locales/zh-CN/ai/options/testing/contract-testing.ai.yaml +254 -0
  60. package/bundled/locales/zh-CN/ai/options/testing/e2e-testing.ai.yaml +116 -0
  61. package/bundled/locales/zh-CN/ai/options/testing/industry-pyramid.ai.yaml +144 -0
  62. package/bundled/locales/zh-CN/ai/options/testing/integration-testing.ai.yaml +90 -0
  63. package/bundled/locales/zh-CN/ai/options/testing/istqb-framework.ai.yaml +108 -0
  64. package/bundled/locales/zh-CN/ai/options/testing/performance-testing.ai.yaml +272 -0
  65. package/bundled/locales/zh-CN/ai/options/testing/security-testing.ai.yaml +160 -0
  66. package/bundled/locales/zh-CN/ai/options/testing/system-testing.ai.yaml +101 -0
  67. package/bundled/locales/zh-CN/ai/options/testing/unit-testing.ai.yaml +82 -0
  68. package/bundled/locales/zh-CN/ai/standards/anti-hallucination.ai.yaml +145 -0
  69. package/bundled/locales/zh-CN/ai/standards/changelog.ai.yaml +146 -0
  70. package/bundled/locales/zh-CN/ai/standards/checkin-standards.ai.yaml +170 -0
  71. package/bundled/locales/zh-CN/ai/standards/code-review.ai.yaml +148 -0
  72. package/bundled/locales/zh-CN/ai/standards/commit-message.ai.yaml +175 -0
  73. package/bundled/locales/zh-CN/ai/standards/documentation-structure.ai.yaml +124 -0
  74. package/bundled/locales/zh-CN/ai/standards/documentation-writing-standards.ai.yaml +190 -0
  75. package/bundled/locales/zh-CN/ai/standards/error-codes.ai.yaml +139 -0
  76. package/bundled/locales/zh-CN/ai/standards/git-workflow.ai.yaml +95 -0
  77. package/bundled/locales/zh-CN/ai/standards/logging.ai.yaml +128 -0
  78. package/bundled/locales/zh-CN/ai/standards/project-structure.ai.yaml +134 -0
  79. package/bundled/locales/zh-CN/ai/standards/spec-driven-development.ai.yaml +169 -0
  80. package/bundled/locales/zh-CN/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
  81. package/bundled/locales/zh-CN/ai/standards/testing.ai.yaml +137 -0
  82. package/bundled/locales/zh-CN/ai/standards/versioning.ai.yaml +211 -0
  83. package/bundled/locales/zh-CN/core/ai-instruction-standards.md +213 -0
  84. package/bundled/locales/zh-CN/core/anti-hallucination.md +691 -0
  85. package/bundled/locales/zh-CN/core/changelog-standards.md +147 -0
  86. package/bundled/locales/zh-CN/core/checkin-standards.md +943 -0
  87. package/bundled/locales/zh-CN/core/code-review-guide.md +693 -0
  88. package/bundled/locales/zh-CN/core/commit-message-guide.md +129 -0
  89. package/bundled/locales/zh-CN/core/documentation-structure.md +173 -0
  90. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +495 -0
  91. package/bundled/locales/zh-CN/core/error-code-standards.md +180 -0
  92. package/bundled/locales/zh-CN/core/git-workflow.md +193 -0
  93. package/bundled/locales/zh-CN/core/logging-standards.md +174 -0
  94. package/bundled/locales/zh-CN/core/project-structure.md +184 -0
  95. package/bundled/locales/zh-CN/core/refactoring-standards.md +642 -0
  96. package/bundled/locales/zh-CN/core/spec-driven-development.md +215 -0
  97. package/bundled/locales/zh-CN/core/test-completeness-dimensions.md +544 -0
  98. package/bundled/locales/zh-CN/core/test-driven-development.md +1002 -0
  99. package/bundled/locales/zh-CN/core/testing-standards.md +170 -0
  100. package/bundled/locales/zh-CN/core/versioning.md +177 -0
  101. package/bundled/locales/zh-CN/docs/AI-AGENT-ROADMAP.md +303 -0
  102. package/bundled/locales/zh-CN/docs/CLI-INIT-OPTIONS.md +990 -0
  103. package/bundled/locales/zh-CN/docs/OPERATION-WORKFLOW.md +1064 -0
  104. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +333 -0
  105. package/bundled/locales/zh-CN/docs/WINDOWS-GUIDE.md +215 -0
  106. package/bundled/locales/zh-CN/integrations/codex/AGENTS.md +115 -0
  107. package/bundled/locales/zh-CN/integrations/codex/README.md +67 -0
  108. package/bundled/locales/zh-CN/integrations/gemini-cli/GEMINI.md +102 -0
  109. package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +140 -0
  110. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
  111. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +167 -0
  112. package/bundled/locales/zh-CN/integrations/github-copilot/copilot-instructions.md +263 -0
  113. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +192 -0
  114. package/bundled/locales/zh-CN/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
  115. package/bundled/locales/zh-CN/integrations/google-antigravity/README.md +84 -0
  116. package/bundled/locales/zh-CN/integrations/opencode/AGENTS.md +111 -0
  117. package/bundled/locales/zh-CN/integrations/opencode/README.md +176 -0
  118. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +396 -0
  119. package/bundled/locales/zh-CN/integrations/openspec/AGENTS.md +301 -0
  120. package/bundled/locales/zh-CN/integrations/openspec/README.md +43 -0
  121. package/bundled/locales/zh-CN/integrations/spec-kit/AGENTS.md +184 -0
  122. package/bundled/locales/zh-CN/integrations/spec-kit/README.md +43 -0
  123. package/bundled/locales/zh-CN/options/commit-message/bilingual.md +161 -0
  124. package/bundled/locales/zh-CN/options/commit-message/english.md +137 -0
  125. package/bundled/locales/zh-CN/options/commit-message/traditional-chinese.md +162 -0
  126. package/bundled/locales/zh-CN/options/git-workflow/gitflow.md +147 -0
  127. package/bundled/locales/zh-CN/options/git-workflow/github-flow.md +124 -0
  128. package/bundled/locales/zh-CN/options/git-workflow/merge-commit.md +124 -0
  129. package/bundled/locales/zh-CN/options/git-workflow/rebase-ff.md +160 -0
  130. package/bundled/locales/zh-CN/options/git-workflow/squash-merge.md +117 -0
  131. package/bundled/locales/zh-CN/options/git-workflow/trunk-based.md +125 -0
  132. package/bundled/locales/zh-CN/options/project-structure/dotnet.md +183 -0
  133. package/bundled/locales/zh-CN/options/project-structure/go.md +226 -0
  134. package/bundled/locales/zh-CN/options/project-structure/java.md +213 -0
  135. package/bundled/locales/zh-CN/options/project-structure/nodejs.md +185 -0
  136. package/bundled/locales/zh-CN/options/project-structure/python.md +229 -0
  137. package/bundled/locales/zh-CN/options/testing/e2e-testing.md +207 -0
  138. package/bundled/locales/zh-CN/options/testing/integration-testing.md +230 -0
  139. package/bundled/locales/zh-CN/options/testing/system-testing.md +183 -0
  140. package/bundled/locales/zh-CN/options/testing/unit-testing.md +165 -0
  141. package/bundled/locales/zh-CN/skills/INTEGRATION-GUIDE.md +218 -0
  142. package/bundled/locales/zh-CN/skills/README.md +134 -0
  143. package/bundled/locales/zh-CN/skills/_shared/README.md +68 -0
  144. package/bundled/locales/zh-CN/skills/claude-code/CONTRIBUTING.template.md +151 -0
  145. package/bundled/locales/zh-CN/skills/claude-code/README.md +174 -0
  146. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  147. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
  148. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
  149. package/bundled/locales/zh-CN/skills/claude-code/changelog-guide/SKILL.md +237 -0
  150. package/bundled/locales/zh-CN/skills/claude-code/checkin-assistant/SKILL.md +407 -0
  151. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/SKILL.md +154 -0
  152. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
  153. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
  154. package/bundled/locales/zh-CN/skills/claude-code/commands/bdd.md +142 -0
  155. package/bundled/locales/zh-CN/skills/claude-code/commands/methodology.md +274 -0
  156. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/SKILL.md +191 -0
  157. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/conventional-commits.md +264 -0
  158. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/language-options.md +172 -0
  159. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/SKILL.md +421 -0
  160. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
  161. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/readme-template.md +412 -0
  162. package/bundled/locales/zh-CN/skills/claude-code/error-code-guide/SKILL.md +269 -0
  163. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
  164. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
  165. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
  166. package/bundled/locales/zh-CN/skills/claude-code/logging-guide/SKILL.md +285 -0
  167. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/SKILL.md +131 -0
  168. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/create-methodology.md +350 -0
  169. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/runtime.md +279 -0
  170. package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  171. package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
  172. package/bundled/locales/zh-CN/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
  173. package/bundled/locales/zh-CN/skills/claude-code/release-standards/SKILL.md +191 -0
  174. package/bundled/locales/zh-CN/skills/claude-code/release-standards/changelog-format.md +247 -0
  175. package/bundled/locales/zh-CN/skills/claude-code/release-standards/release-workflow.md +345 -0
  176. package/bundled/locales/zh-CN/skills/claude-code/release-standards/semantic-versioning.md +250 -0
  177. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/SKILL.md +227 -0
  178. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
  179. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
  180. package/bundled/locales/zh-CN/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
  181. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/SKILL.md +332 -0
  182. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/language-examples.md +639 -0
  183. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
  184. package/bundled/locales/zh-CN/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
  185. package/bundled/locales/zh-CN/skills/claude-code/testing-guide/SKILL.md +234 -0
  186. package/bundled/locales/zh-CN/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
  187. package/bundled/locales/zh-CN/skills/cline/README.md +58 -0
  188. package/bundled/locales/zh-CN/skills/copilot/README.md +61 -0
  189. package/bundled/locales/zh-CN/skills/copilot/copilot-instructions.md +79 -0
  190. package/bundled/locales/zh-CN/skills/cursor/README.md +58 -0
  191. package/bundled/locales/zh-CN/skills/windsurf/README.md +59 -0
  192. package/bundled/locales/zh-TW/CHANGELOG.md +707 -0
  193. package/bundled/locales/zh-TW/CLAUDE.md +213 -0
  194. package/bundled/locales/zh-TW/MAINTENANCE.md +683 -0
  195. package/bundled/locales/zh-TW/README.md +687 -0
  196. package/bundled/locales/zh-TW/STANDARDS-MAPPING.md +177 -0
  197. package/bundled/locales/zh-TW/adoption/ADOPTION-GUIDE.md +392 -0
  198. package/bundled/locales/zh-TW/adoption/STATIC-DYNAMIC-GUIDE.md +299 -0
  199. package/bundled/locales/zh-TW/adoption/checklists/enterprise.md +332 -0
  200. package/bundled/locales/zh-TW/adoption/checklists/minimal.md +141 -0
  201. package/bundled/locales/zh-TW/adoption/checklists/recommended.md +272 -0
  202. package/bundled/locales/zh-TW/ai/MAINTENANCE.md +754 -0
  203. package/bundled/locales/zh-TW/ai/options/changelog/auto-generated.ai.yaml +76 -0
  204. package/bundled/locales/zh-TW/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
  205. package/bundled/locales/zh-TW/ai/options/code-review/automated-review.ai.yaml +120 -0
  206. package/bundled/locales/zh-TW/ai/options/code-review/pair-programming.ai.yaml +109 -0
  207. package/bundled/locales/zh-TW/ai/options/code-review/pr-review.ai.yaml +104 -0
  208. package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +105 -0
  209. package/bundled/locales/zh-TW/ai/options/commit-message/english.ai.yaml +79 -0
  210. package/bundled/locales/zh-TW/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
  211. package/bundled/locales/zh-TW/ai/options/documentation/api-docs.ai.yaml +140 -0
  212. package/bundled/locales/zh-TW/ai/options/documentation/markdown-docs.ai.yaml +89 -0
  213. package/bundled/locales/zh-TW/ai/options/documentation/wiki-style.ai.yaml +119 -0
  214. package/bundled/locales/zh-TW/ai/options/git-workflow/gitflow.ai.yaml +133 -0
  215. package/bundled/locales/zh-TW/ai/options/git-workflow/github-flow.ai.yaml +73 -0
  216. package/bundled/locales/zh-TW/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
  217. package/bundled/locales/zh-TW/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
  218. package/bundled/locales/zh-TW/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
  219. package/bundled/locales/zh-TW/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
  220. package/bundled/locales/zh-TW/ai/options/project-structure/dotnet.ai.yaml +108 -0
  221. package/bundled/locales/zh-TW/ai/options/project-structure/go.ai.yaml +115 -0
  222. package/bundled/locales/zh-TW/ai/options/project-structure/java.ai.yaml +113 -0
  223. package/bundled/locales/zh-TW/ai/options/project-structure/kotlin.ai.yaml +123 -0
  224. package/bundled/locales/zh-TW/ai/options/project-structure/nodejs.ai.yaml +101 -0
  225. package/bundled/locales/zh-TW/ai/options/project-structure/php.ai.yaml +147 -0
  226. package/bundled/locales/zh-TW/ai/options/project-structure/python.ai.yaml +116 -0
  227. package/bundled/locales/zh-TW/ai/options/project-structure/ruby.ai.yaml +140 -0
  228. package/bundled/locales/zh-TW/ai/options/project-structure/rust.ai.yaml +117 -0
  229. package/bundled/locales/zh-TW/ai/options/project-structure/swift.ai.yaml +143 -0
  230. package/bundled/locales/zh-TW/ai/options/testing/contract-testing.ai.yaml +254 -0
  231. package/bundled/locales/zh-TW/ai/options/testing/e2e-testing.ai.yaml +116 -0
  232. package/bundled/locales/zh-TW/ai/options/testing/industry-pyramid.ai.yaml +144 -0
  233. package/bundled/locales/zh-TW/ai/options/testing/integration-testing.ai.yaml +90 -0
  234. package/bundled/locales/zh-TW/ai/options/testing/istqb-framework.ai.yaml +108 -0
  235. package/bundled/locales/zh-TW/ai/options/testing/performance-testing.ai.yaml +272 -0
  236. package/bundled/locales/zh-TW/ai/options/testing/security-testing.ai.yaml +160 -0
  237. package/bundled/locales/zh-TW/ai/options/testing/system-testing.ai.yaml +101 -0
  238. package/bundled/locales/zh-TW/ai/options/testing/unit-testing.ai.yaml +82 -0
  239. package/bundled/locales/zh-TW/ai/standards/anti-hallucination.ai.yaml +145 -0
  240. package/bundled/locales/zh-TW/ai/standards/changelog.ai.yaml +146 -0
  241. package/bundled/locales/zh-TW/ai/standards/checkin-standards.ai.yaml +170 -0
  242. package/bundled/locales/zh-TW/ai/standards/code-review.ai.yaml +148 -0
  243. package/bundled/locales/zh-TW/ai/standards/commit-message.ai.yaml +175 -0
  244. package/bundled/locales/zh-TW/ai/standards/documentation-structure.ai.yaml +124 -0
  245. package/bundled/locales/zh-TW/ai/standards/documentation-writing-standards.ai.yaml +190 -0
  246. package/bundled/locales/zh-TW/ai/standards/error-codes.ai.yaml +139 -0
  247. package/bundled/locales/zh-TW/ai/standards/git-workflow.ai.yaml +95 -0
  248. package/bundled/locales/zh-TW/ai/standards/logging.ai.yaml +128 -0
  249. package/bundled/locales/zh-TW/ai/standards/project-structure.ai.yaml +134 -0
  250. package/bundled/locales/zh-TW/ai/standards/spec-driven-development.ai.yaml +169 -0
  251. package/bundled/locales/zh-TW/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
  252. package/bundled/locales/zh-TW/ai/standards/testing.ai.yaml +137 -0
  253. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +211 -0
  254. package/bundled/locales/zh-TW/core/ai-instruction-standards.md +213 -0
  255. package/bundled/locales/zh-TW/core/anti-hallucination.md +691 -0
  256. package/bundled/locales/zh-TW/core/changelog-standards.md +564 -0
  257. package/bundled/locales/zh-TW/core/checkin-standards.md +943 -0
  258. package/bundled/locales/zh-TW/core/code-review-checklist.md +693 -0
  259. package/bundled/locales/zh-TW/core/commit-message-guide.md +809 -0
  260. package/bundled/locales/zh-TW/core/documentation-structure.md +1125 -0
  261. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +495 -0
  262. package/bundled/locales/zh-TW/core/error-code-standards.md +384 -0
  263. package/bundled/locales/zh-TW/core/git-workflow.md +860 -0
  264. package/bundled/locales/zh-TW/core/logging-standards.md +325 -0
  265. package/bundled/locales/zh-TW/core/project-structure.md +362 -0
  266. package/bundled/locales/zh-TW/core/refactoring-standards.md +642 -0
  267. package/bundled/locales/zh-TW/core/spec-driven-development.md +215 -0
  268. package/bundled/locales/zh-TW/core/test-completeness-dimensions.md +544 -0
  269. package/bundled/locales/zh-TW/core/test-driven-development.md +1004 -0
  270. package/bundled/locales/zh-TW/core/testing-standards.md +2158 -0
  271. package/bundled/locales/zh-TW/core/versioning.md +909 -0
  272. package/bundled/locales/zh-TW/docs/AI-AGENT-ROADMAP.md +303 -0
  273. package/bundled/locales/zh-TW/docs/CLI-INIT-OPTIONS.md +990 -0
  274. package/bundled/locales/zh-TW/docs/OPERATION-WORKFLOW.md +1064 -0
  275. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +333 -0
  276. package/bundled/locales/zh-TW/docs/WINDOWS-GUIDE.md +215 -0
  277. package/bundled/locales/zh-TW/integrations/codex/AGENTS.md +115 -0
  278. package/bundled/locales/zh-TW/integrations/codex/README.md +113 -0
  279. package/bundled/locales/zh-TW/integrations/gemini-cli/GEMINI.md +102 -0
  280. package/bundled/locales/zh-TW/integrations/gemini-cli/README.md +140 -0
  281. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
  282. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +167 -0
  283. package/bundled/locales/zh-TW/integrations/github-copilot/copilot-instructions.md +263 -0
  284. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +192 -0
  285. package/bundled/locales/zh-TW/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
  286. package/bundled/locales/zh-TW/integrations/google-antigravity/README.md +84 -0
  287. package/bundled/locales/zh-TW/integrations/opencode/AGENTS.md +111 -0
  288. package/bundled/locales/zh-TW/integrations/opencode/README.md +176 -0
  289. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +396 -0
  290. package/bundled/locales/zh-TW/integrations/openspec/AGENTS.md +301 -0
  291. package/bundled/locales/zh-TW/integrations/openspec/README.md +43 -0
  292. package/bundled/locales/zh-TW/integrations/spec-kit/AGENTS.md +184 -0
  293. package/bundled/locales/zh-TW/integrations/spec-kit/README.md +43 -0
  294. package/bundled/locales/zh-TW/options/commit-message/bilingual.md +161 -0
  295. package/bundled/locales/zh-TW/options/commit-message/english.md +137 -0
  296. package/bundled/locales/zh-TW/options/commit-message/traditional-chinese.md +162 -0
  297. package/bundled/locales/zh-TW/options/git-workflow/gitflow.md +147 -0
  298. package/bundled/locales/zh-TW/options/git-workflow/github-flow.md +124 -0
  299. package/bundled/locales/zh-TW/options/git-workflow/merge-commit.md +124 -0
  300. package/bundled/locales/zh-TW/options/git-workflow/rebase-ff.md +160 -0
  301. package/bundled/locales/zh-TW/options/git-workflow/squash-merge.md +117 -0
  302. package/bundled/locales/zh-TW/options/git-workflow/trunk-based.md +125 -0
  303. package/bundled/locales/zh-TW/options/project-structure/dotnet.md +183 -0
  304. package/bundled/locales/zh-TW/options/project-structure/go.md +226 -0
  305. package/bundled/locales/zh-TW/options/project-structure/java.md +213 -0
  306. package/bundled/locales/zh-TW/options/project-structure/nodejs.md +185 -0
  307. package/bundled/locales/zh-TW/options/project-structure/python.md +229 -0
  308. package/bundled/locales/zh-TW/options/testing/e2e-testing.md +207 -0
  309. package/bundled/locales/zh-TW/options/testing/integration-testing.md +230 -0
  310. package/bundled/locales/zh-TW/options/testing/system-testing.md +183 -0
  311. package/bundled/locales/zh-TW/options/testing/unit-testing.md +165 -0
  312. package/bundled/locales/zh-TW/skills/INTEGRATION-GUIDE.md +218 -0
  313. package/bundled/locales/zh-TW/skills/README.md +132 -0
  314. package/bundled/locales/zh-TW/skills/_shared/README.md +68 -0
  315. package/bundled/locales/zh-TW/skills/claude-code/CONTRIBUTING.template.md +151 -0
  316. package/bundled/locales/zh-TW/skills/claude-code/README.md +174 -0
  317. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  318. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
  319. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
  320. package/bundled/locales/zh-TW/skills/claude-code/changelog-guide/SKILL.md +237 -0
  321. package/bundled/locales/zh-TW/skills/claude-code/checkin-assistant/SKILL.md +407 -0
  322. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/SKILL.md +154 -0
  323. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
  324. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
  325. package/bundled/locales/zh-TW/skills/claude-code/commands/bdd.md +142 -0
  326. package/bundled/locales/zh-TW/skills/claude-code/commands/methodology.md +274 -0
  327. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/SKILL.md +191 -0
  328. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/conventional-commits.md +264 -0
  329. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/language-options.md +172 -0
  330. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/SKILL.md +421 -0
  331. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
  332. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/readme-template.md +412 -0
  333. package/bundled/locales/zh-TW/skills/claude-code/error-code-guide/SKILL.md +269 -0
  334. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
  335. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
  336. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
  337. package/bundled/locales/zh-TW/skills/claude-code/logging-guide/SKILL.md +285 -0
  338. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/SKILL.md +131 -0
  339. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/create-methodology.md +350 -0
  340. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/runtime.md +279 -0
  341. package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  342. package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
  343. package/bundled/locales/zh-TW/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
  344. package/bundled/locales/zh-TW/skills/claude-code/release-standards/SKILL.md +191 -0
  345. package/bundled/locales/zh-TW/skills/claude-code/release-standards/changelog-format.md +247 -0
  346. package/bundled/locales/zh-TW/skills/claude-code/release-standards/release-workflow.md +345 -0
  347. package/bundled/locales/zh-TW/skills/claude-code/release-standards/semantic-versioning.md +250 -0
  348. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/SKILL.md +227 -0
  349. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
  350. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
  351. package/bundled/locales/zh-TW/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
  352. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/SKILL.md +332 -0
  353. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/language-examples.md +639 -0
  354. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
  355. package/bundled/locales/zh-TW/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
  356. package/bundled/locales/zh-TW/skills/claude-code/testing-guide/SKILL.md +234 -0
  357. package/bundled/locales/zh-TW/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
  358. package/bundled/locales/zh-TW/skills/cline/README.md +58 -0
  359. package/bundled/locales/zh-TW/skills/copilot/README.md +61 -0
  360. package/bundled/locales/zh-TW/skills/copilot/copilot-instructions.md +79 -0
  361. package/bundled/locales/zh-TW/skills/cursor/README.md +58 -0
  362. package/bundled/locales/zh-TW/skills/windsurf/README.md +59 -0
  363. package/bundled/skills/claude-code/CONTRIBUTING.template.md +141 -0
  364. package/bundled/skills/claude-code/README.md +196 -0
  365. package/bundled/skills/claude-code/ai/standards/checkin.ai.yaml +21 -0
  366. package/bundled/skills/claude-code/ai/standards/commit.ai.yaml +20 -0
  367. package/bundled/skills/claude-code/ai/standards/refactoring.ai.yaml +34 -0
  368. package/bundled/skills/claude-code/ai/standards/testing.ai.yaml +41 -0
  369. package/bundled/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  370. package/bundled/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +215 -0
  371. package/bundled/skills/claude-code/ai-collaboration-standards/certainty-labels.md +124 -0
  372. package/bundled/skills/claude-code/changelog-guide/SKILL.md +232 -0
  373. package/bundled/skills/claude-code/checkin-assistant/SKILL.md +402 -0
  374. package/bundled/skills/claude-code/code-review-assistant/SKILL.md +220 -0
  375. package/bundled/skills/claude-code/code-review-assistant/checkin-checklist.md +249 -0
  376. package/bundled/skills/claude-code/code-review-assistant/review-checklist.md +238 -0
  377. package/bundled/skills/claude-code/commands/README.md +78 -0
  378. package/bundled/skills/claude-code/commands/bdd.md +142 -0
  379. package/bundled/skills/claude-code/commands/changelog.md +57 -0
  380. package/bundled/skills/claude-code/commands/check.md +91 -0
  381. package/bundled/skills/claude-code/commands/commit.md +48 -0
  382. package/bundled/skills/claude-code/commands/config.md +97 -0
  383. package/bundled/skills/claude-code/commands/coverage.md +58 -0
  384. package/bundled/skills/claude-code/commands/docs.md +75 -0
  385. package/bundled/skills/claude-code/commands/init.md +88 -0
  386. package/bundled/skills/claude-code/commands/methodology.md +268 -0
  387. package/bundled/skills/claude-code/commands/release.md +50 -0
  388. package/bundled/skills/claude-code/commands/requirement.md +54 -0
  389. package/bundled/skills/claude-code/commands/review.md +50 -0
  390. package/bundled/skills/claude-code/commands/spec.md +69 -0
  391. package/bundled/skills/claude-code/commands/tdd.md +86 -0
  392. package/bundled/skills/claude-code/commands/update.md +122 -0
  393. package/bundled/skills/claude-code/commit-standards/SKILL.md +249 -0
  394. package/bundled/skills/claude-code/commit-standards/conventional-commits.md +256 -0
  395. package/bundled/skills/claude-code/commit-standards/language-options.md +164 -0
  396. package/bundled/skills/claude-code/documentation-guide/SKILL.md +416 -0
  397. package/bundled/skills/claude-code/documentation-guide/documentation-structure.md +349 -0
  398. package/bundled/skills/claude-code/documentation-guide/readme-template.md +404 -0
  399. package/bundled/skills/claude-code/error-code-guide/SKILL.md +264 -0
  400. package/bundled/skills/claude-code/git-workflow-guide/SKILL.md +226 -0
  401. package/bundled/skills/claude-code/git-workflow-guide/branch-naming.md +212 -0
  402. package/bundled/skills/claude-code/git-workflow-guide/git-workflow.md +313 -0
  403. package/bundled/skills/claude-code/logging-guide/SKILL.md +280 -0
  404. package/bundled/skills/claude-code/methodology-system/SKILL.md +215 -0
  405. package/bundled/skills/claude-code/methodology-system/create-methodology.md +450 -0
  406. package/bundled/skills/claude-code/methodology-system/runtime.md +271 -0
  407. package/bundled/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  408. package/bundled/skills/claude-code/project-structure-guide/language-patterns.md +263 -0
  409. package/bundled/skills/claude-code/refactoring-assistant/SKILL.md +205 -0
  410. package/bundled/skills/claude-code/release-standards/SKILL.md +191 -0
  411. package/bundled/skills/claude-code/release-standards/changelog-format.md +239 -0
  412. package/bundled/skills/claude-code/release-standards/release-workflow.md +337 -0
  413. package/bundled/skills/claude-code/release-standards/semantic-versioning.md +242 -0
  414. package/bundled/skills/claude-code/requirement-assistant/SKILL.md +222 -0
  415. package/bundled/skills/claude-code/requirement-assistant/requirement-checklist.md +317 -0
  416. package/bundled/skills/claude-code/requirement-assistant/requirement-writing.md +391 -0
  417. package/bundled/skills/claude-code/spec-driven-dev/SKILL.md +238 -0
  418. package/bundled/skills/claude-code/tdd-assistant/SKILL.md +384 -0
  419. package/bundled/skills/claude-code/tdd-assistant/language-examples.md +1276 -0
  420. package/bundled/skills/claude-code/tdd-assistant/tdd-workflow.md +659 -0
  421. package/bundled/skills/claude-code/test-coverage-assistant/SKILL.md +277 -0
  422. package/bundled/skills/claude-code/testing-guide/SKILL.md +317 -0
  423. package/bundled/skills/claude-code/testing-guide/testing-pyramid.md +440 -0
  424. package/package.json +4 -2
  425. package/src/commands/check.js +38 -6
  426. package/src/commands/init.js +20 -6
  427. package/src/commands/list.js +7 -2
  428. package/src/commands/skills.js +0 -2
  429. package/src/commands/update.js +271 -0
  430. package/src/i18n/messages.js +161 -11
  431. package/src/utils/copier.js +63 -10
  432. package/src/utils/skills-installer.js +47 -11
  433. package/standards-registry.json +6 -3
@@ -0,0 +1,207 @@
1
+ ---
2
+ source: ../../../../options/testing/e2e-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2025-12-30
6
+ status: current
7
+ ---
8
+
9
+ # 端对端 (E2E) 测试
10
+
11
+ > **语言**: [English](../../../../options/testing/e2e-testing.md) | 繁体中文
12
+
13
+ **上层标准**: [测试指南](../../core/testing.md)
14
+
15
+ ---
16
+
17
+ ## 概述
18
+
19
+ 端对端 (E2E) 测试验证从开始到结束的完整使用者流程,模拟真实使用者与应用程式的互动。这些测试验证所有整合元件能共同运作以提供预期的使用者体验。
20
+
21
+ ## 特性
22
+
23
+ | 属性 | 值 |
24
+ |------|------|
25
+ | 范围 | 完整使用者旅程 |
26
+ | 相依性 | 所有真实(类生产)|
27
+ | 执行速度 | 每个测试数分钟 |
28
+ | 环境 | 完整堆叠部署 |
29
+ | 数量 | 仅关键路径 |
30
+
31
+ ## 适用情境
32
+
33
+ - 关键业务流程(结帐、注册)
34
+ - 使用者验收测试
35
+ - 部署烟雾测试
36
+ - 跨浏览器相容性
37
+ - 无障碍验证
38
+
39
+ ## 何时撰写 E2E 测试
40
+
41
+ ### 应该撰写
42
+
43
+ | 情境 | 范例 |
44
+ |------|------|
45
+ | 关键营收路径 | 结帐、订阅 |
46
+ | 使用者验证 | 登入、注册、密码重设 |
47
+ | 核心功能 | 主要产品功能 |
48
+ | 法规遵循 | GDPR 同意、无障碍 |
49
+ | 跨系统流程 | 多服务交易 |
50
+
51
+ ### 不应该撰写
52
+
53
+ | 情境 | 更好的替代方案 |
54
+ |------|----------------|
55
+ | 边界案例 | 单元测试 |
56
+ | API 验证 | 整合测试 |
57
+ | 元件行为 | 元件测试 |
58
+ | 错误讯息 | 单元测试 |
59
+
60
+ ## 框架范例
61
+
62
+ ### Playwright(推荐)
63
+
64
+ ```javascript
65
+ // tests/e2e/checkout.spec.js
66
+ import { test, expect } from '@playwright/test';
67
+
68
+ test.describe('结帐流程', () => {
69
+ test.beforeEach(async ({ page }) => {
70
+ // 以测试使用者登入
71
+ await page.goto('/login');
72
+ await page.fill('[data-testid="email"]', 'test@example.com');
73
+ await page.fill('[data-testid="password"]', 'testpass123');
74
+ await page.click('[data-testid="login-button"]');
75
+ await expect(page).toHaveURL('/dashboard');
76
+ });
77
+
78
+ test('使用信用卡完成购买', async ({ page }) => {
79
+ // 加入购物车
80
+ await page.goto('/products/widget-pro');
81
+ await page.click('[data-testid="add-to-cart"]');
82
+ await expect(page.locator('[data-testid="cart-count"]')).toHaveText('1');
83
+
84
+ // 前往结帐
85
+ await page.click('[data-testid="checkout-button"]');
86
+ await expect(page).toHaveURL('/checkout');
87
+
88
+ // 填写配送资讯
89
+ await page.fill('[data-testid="address"]', '123 Test St');
90
+ await page.fill('[data-testid="city"]', 'Test City');
91
+ await page.fill('[data-testid="zip"]', '12345');
92
+ await page.click('[data-testid="continue-to-payment"]');
93
+
94
+ // 填写付款资讯(测试卡号)
95
+ await page.fill('[data-testid="card-number"]', '4242424242424242');
96
+ await page.fill('[data-testid="card-expiry"]', '12/25');
97
+ await page.fill('[data-testid="card-cvc"]', '123');
98
+
99
+ // 完成购买
100
+ await page.click('[data-testid="place-order"]');
101
+
102
+ // 验证成功
103
+ await expect(page).toHaveURL(/\/order-confirmation/);
104
+ await expect(page.locator('[data-testid="order-number"]')).toBeVisible();
105
+ });
106
+ });
107
+ ```
108
+
109
+ ## Page Object 模式
110
+
111
+ 使用 page object 组织测试以提高可维护性:
112
+
113
+ ```javascript
114
+ // pages/CheckoutPage.js
115
+ export class CheckoutPage {
116
+ constructor(page) {
117
+ this.page = page;
118
+ this.addressInput = page.locator('[data-testid="address"]');
119
+ this.placeOrderButton = page.locator('[data-testid="place-order"]');
120
+ }
121
+
122
+ async fillShipping(address, city, zip) {
123
+ await this.addressInput.fill(address);
124
+ await this.page.fill('[data-testid="city"]', city);
125
+ await this.page.fill('[data-testid="zip"]', zip);
126
+ }
127
+
128
+ async placeOrder() {
129
+ await this.placeOrderButton.click();
130
+ }
131
+ }
132
+ ```
133
+
134
+ ## 最佳实践
135
+
136
+ ### 1. 使用 Data-TestId 属性
137
+
138
+ ```html
139
+ <!-- 好:稳定的选择器 -->
140
+ <button data-testid="submit-order">下订单</button>
141
+
142
+ <!-- 不好:脆弱的选择器 -->
143
+ <button class="btn btn-primary order-btn">下订单</button>
144
+ ```
145
+
146
+ ### 2. 隔离测试资料
147
+
148
+ ```javascript
149
+ test.beforeEach(async ({ request }) => {
150
+ // 透过 API 建立隔离的测试资料
151
+ const response = await request.post('/api/test/setup', {
152
+ data: { scenario: 'checkout-test' }
153
+ });
154
+ testData = await response.json();
155
+ });
156
+ ```
157
+
158
+ ### 3. 处理不稳定性
159
+
160
+ ```javascript
161
+ // 重试不稳定的断言
162
+ await expect(async () => {
163
+ const count = await page.locator('.item').count();
164
+ expect(count).toBe(3);
165
+ }).toPass({ timeout: 10000 });
166
+
167
+ // 等待网路闲置
168
+ await page.waitForLoadState('networkidle');
169
+ ```
170
+
171
+ ### 4. 平行执行测试
172
+
173
+ ```javascript
174
+ // playwright.config.js
175
+ export default {
176
+ workers: process.env.CI ? 4 : undefined,
177
+ fullyParallel: true,
178
+ projects: [
179
+ { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
180
+ { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
181
+ { name: 'mobile', use: { ...devices['iPhone 12'] } },
182
+ ],
183
+ };
184
+ ```
185
+
186
+ ## 常见框架
187
+
188
+ | 框架 | 语言 | 最适合 |
189
+ |------|------|--------|
190
+ | Playwright | JS/TS/Python/C# | 跨浏览器、现代 |
191
+ | Cypress | JavaScript | 元件 + E2E |
192
+ | Selenium | 多语言 | 旧系统、企业 |
193
+ | Puppeteer | JavaScript | Chrome 专用 |
194
+
195
+ ## 相关选项
196
+
197
+ - [单元测试](./unit-testing.md) - 测试个别元件
198
+ - [整合测试](./integration-testing.md) - 测试元件互动
199
+ - [系统测试](./system-testing.md) - 测试完整系统
200
+
201
+ ---
202
+
203
+ ## 授权条款
204
+
205
+ 本文件采用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权条款。
206
+
207
+ **来源**:[universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
@@ -0,0 +1,230 @@
1
+ ---
2
+ source: ../../../../options/testing/integration-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2025-12-30
6
+ status: current
7
+ ---
8
+
9
+ # 整合测试 (IT/SIT)
10
+
11
+ > **语言**: [English](../../../../options/testing/integration-testing.md) | 繁体中文
12
+
13
+ **上层标准**: [测试指南](../../core/testing.md)
14
+
15
+ ---
16
+
17
+ ## 缩写说明
18
+
19
+ 整合测试层级在业界有两种常见的缩写:
20
+
21
+ | 缩写 | 全名 | 常见用法 |
22
+ |------|------|----------|
23
+ | **IT** | Integration Testing | 敏捷/DevOps 社群(Martin Fowler、Google Testing Blog) |
24
+ | **SIT** | System Integration Testing | 企业/ISTQB 环境、传统 QA 环境 |
25
+
26
+ 两者指的是相同的测试概念。本文件交替使用 IT/SIT。
27
+
28
+ ---
29
+
30
+ ## 概述
31
+
32
+ 整合测试验证不同模组、服务或元件是否能正确地协同运作。这些测试验证整合单元之间的互动和资料流,同时可能使用真实的相依性如资料库或外部服务。
33
+
34
+ ## 特性
35
+
36
+ | 属性 | 值 |
37
+ |------|------|
38
+ | 范围 | 多个元件协同运作 |
39
+ | 相依性 | 真实与模拟混合 |
40
+ | 执行速度 | 秒到分钟 |
41
+ | 隔离性 | 部分——测试真实整合 |
42
+ | 数量 | 中等数量的测试 |
43
+
44
+ ## 适用情境
45
+
46
+ - 测试 API 端点与资料库
47
+ - 验证服务间通讯
48
+ - 验证层间资料流
49
+ - 测试第三方整合
50
+ - 验证设定和连线
51
+
52
+ ## 测试金字塔位置
53
+
54
+ ```
55
+ /\
56
+ / \ E2E 测试(少)
57
+ /----\
58
+ / ★★★ \ 整合测试 ← 这一层
59
+ /--------\
60
+ / \ 单元测试(多)
61
+ /------------\
62
+ ```
63
+
64
+ ## 整合测试类型
65
+
66
+ ### 1. 元件整合
67
+
68
+ 测试内部元件间的互动:
69
+
70
+ ```javascript
71
+ // 测试:UserService + UserRepository + Database
72
+ describe('UserService Integration', () => {
73
+ let userService;
74
+ let database;
75
+
76
+ beforeAll(async () => {
77
+ database = await TestDatabase.connect();
78
+ const userRepository = new UserRepository(database);
79
+ userService = new UserService(userRepository);
80
+ });
81
+
82
+ afterAll(async () => {
83
+ await database.disconnect();
84
+ });
85
+
86
+ it('should create and retrieve user', async () => {
87
+ const created = await userService.createUser({
88
+ name: 'John',
89
+ email: 'john@example.com'
90
+ });
91
+
92
+ const retrieved = await userService.getUser(created.id);
93
+
94
+ expect(retrieved.name).toBe('John');
95
+ expect(retrieved.email).toBe('john@example.com');
96
+ });
97
+ });
98
+ ```
99
+
100
+ ### 2. API 整合
101
+
102
+ 使用真实服务测试 REST/GraphQL 端点:
103
+
104
+ ```python
105
+ # Python/pytest 范例
106
+ class TestUserAPI:
107
+ def test_create_user_endpoint(self, test_client, test_database):
108
+ # 执行
109
+ response = test_client.post('/api/users', json={
110
+ 'name': 'John Doe',
111
+ 'email': 'john@example.com'
112
+ })
113
+
114
+ # 验证
115
+ assert response.status_code == 201
116
+ assert response.json()['name'] == 'John Doe'
117
+
118
+ # 验证资料库
119
+ user = test_database.query(User).filter_by(email='john@example.com').first()
120
+ assert user is not None
121
+ ```
122
+
123
+ ### 3. 资料库整合
124
+
125
+ 使用真实资料库测试资料存取层:
126
+
127
+ ```java
128
+ // Java/JUnit 范例
129
+ @SpringBootTest
130
+ @Transactional
131
+ class UserRepositoryIntegrationTest {
132
+
133
+ @Autowired
134
+ private UserRepository userRepository;
135
+
136
+ @Test
137
+ void shouldFindUsersByRole() {
138
+ // 安排
139
+ userRepository.save(new User("admin", Role.ADMIN));
140
+ userRepository.save(new User("user1", Role.USER));
141
+
142
+ // 执行
143
+ List<User> admins = userRepository.findByRole(Role.ADMIN);
144
+
145
+ // 验证
146
+ assertThat(admins).hasSize(1);
147
+ }
148
+ }
149
+ ```
150
+
151
+ ## 最佳实践
152
+
153
+ ### 1. 隔离测试资料
154
+
155
+ ```javascript
156
+ describe('Order Integration', () => {
157
+ beforeEach(async () => {
158
+ // 每个测试都从干净状态开始
159
+ await database.truncate(['orders', 'order_items']);
160
+ await seedProducts();
161
+ });
162
+ });
163
+ ```
164
+
165
+ ### 2. 使用交易进行清理
166
+
167
+ ```python
168
+ @pytest.fixture
169
+ def db_session():
170
+ """提供测试的交易范围。"""
171
+ connection = engine.connect()
172
+ transaction = connection.begin()
173
+ session = Session(bind=connection)
174
+
175
+ yield session
176
+
177
+ session.close()
178
+ transaction.rollback()
179
+ connection.close()
180
+ ```
181
+
182
+ ### 3. 测试真实情境
183
+
184
+ ```javascript
185
+ it('should handle checkout with out-of-stock item', async () => {
186
+ // 设置:库存有限的产品
187
+ await inventory.setStock('SKU-001', 1);
188
+
189
+ // 第一笔订单成功
190
+ const order1 = await checkout.process({ sku: 'SKU-001', qty: 1 });
191
+ expect(order1.status).toBe('confirmed');
192
+
193
+ // 第二笔订单因库存不足失败
194
+ await expect(checkout.process({ sku: 'SKU-001', qty: 1 }))
195
+ .rejects.toThrow('Out of stock');
196
+ });
197
+ ```
198
+
199
+ ## 应该测试什么
200
+
201
+ | 情境 | 原因 |
202
+ |------|------|
203
+ | 资料库查询 | 验证 SQL/ORM 正确运作 |
204
+ | API 端点 | 测试路由、中介软体、回应 |
205
+ | 服务互动 | 验证服务间合约 |
206
+ | 交易边界 | 确保资料一致性 |
207
+ | 错误传播 | 测试跨层错误处理 |
208
+
209
+ ## 常见框架与工具
210
+
211
+ | 类别 | 工具 |
212
+ |------|------|
213
+ | 测试容器 | Testcontainers、Docker Compose |
214
+ | HTTP 模拟 | nock、WireMock、responses |
215
+ | 资料库 | H2(Java)、SQLite(测试模式)|
216
+ | API 测试 | Supertest、REST Assured、httpx |
217
+
218
+ ## 相关选项
219
+
220
+ - [单元测试](./unit-testing.md) - 测试个别元件
221
+ - [系统测试](./system-testing.md) - 测试完整系统
222
+ - [E2E 测试](./e2e-testing.md) - 测试使用者流程
223
+
224
+ ---
225
+
226
+ ## 授权条款
227
+
228
+ 本文件采用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权条款。
229
+
230
+ **来源**:[universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)
@@ -0,0 +1,183 @@
1
+ ---
2
+ source: ../../../../options/testing/system-testing.md
3
+ source_version: 1.0.0
4
+ translation_version: 1.0.0
5
+ last_synced: 2025-12-30
6
+ status: current
7
+ ---
8
+
9
+ # 系统测试
10
+
11
+ > **语言**: [English](../../../../options/testing/system-testing.md) | 繁体中文
12
+
13
+ **上层标准**: [测试指南](../../core/testing.md)
14
+
15
+ ---
16
+
17
+ ## 概述
18
+
19
+ 系统测试针对指定需求验证完整、整合的系统。它在接近生产环境的环境中测试整个应用程式,验证功能性和非功能性需求。
20
+
21
+ ## 特性
22
+
23
+ | 属性 | 值 |
24
+ |------|------|
25
+ | 范围 | 整个应用系统 |
26
+ | 相依性 | 所有真实元件 |
27
+ | 执行速度 | 分钟到小时 |
28
+ | 环境 | 类生产环境 |
29
+ | 数量 | 精选的测试集 |
30
+
31
+ ## 适用情境
32
+
33
+ - 验证完整使用者流程
34
+ - 测试系统级需求
35
+ - 效能和负载测试
36
+ - 安全性测试
37
+ - 发布前回归测试
38
+
39
+ ## 系统测试类型
40
+
41
+ ### 1. 功能测试
42
+
43
+ 验证系统符合功能需求:
44
+
45
+ ```gherkin
46
+ # 行为驱动规格
47
+ Feature: 使用者注册
48
+
49
+ Scenario: 使用有效资料成功注册
50
+ Given 我在注册页面
51
+ When 我输入有效的注册资料
52
+ And 我提交注册表单
53
+ Then 我应该收到确认邮件
54
+ And 我的帐户应该在资料库中建立
55
+ And 我应该被重导到欢迎页面
56
+ ```
57
+
58
+ ### 2. 效能测试
59
+
60
+ 验证系统在负载下的效能:
61
+
62
+ ```javascript
63
+ // k6 负载测试范例
64
+ export const options = {
65
+ stages: [
66
+ { duration: '2m', target: 100 }, // 升温
67
+ { duration: '5m', target: 100 }, // 维持 100 使用者
68
+ { duration: '2m', target: 200 }, // 尖峰到 200
69
+ { duration: '5m', target: 200 }, // 维持 200
70
+ { duration: '2m', target: 0 }, // 降温
71
+ ],
72
+ thresholds: {
73
+ http_req_duration: ['p(95)<500'], // 95% 低于 500ms
74
+ http_req_failed: ['rate<0.01'], // 错误率低于 1%
75
+ },
76
+ };
77
+ ```
78
+
79
+ ### 3. 安全性测试
80
+
81
+ 测试系统安全控制:
82
+
83
+ ```yaml
84
+ # 安全测试情境
85
+ security_tests:
86
+ authentication:
87
+ - test: "暴力破解保护"
88
+ steps:
89
+ - 尝试 5 次失败登入
90
+ - 验证帐户锁定
91
+ - 验证锁定通知邮件
92
+
93
+ - test: "Session 管理"
94
+ steps:
95
+ - 登入并取得 session token
96
+ - 验证 token 在逾时后过期
97
+ - 验证登出时 token 失效
98
+ ```
99
+
100
+ ### 4. 可靠性测试
101
+
102
+ 测试系统在不利条件下的行为:
103
+
104
+ ```python
105
+ # 混沌工程测试
106
+ class ReliabilityTest:
107
+ def test_database_failover(self):
108
+ """系统应优雅处理资料库故障转移。"""
109
+ # 安排
110
+ app = TestApplication()
111
+ app.start()
112
+
113
+ # 执行:模拟主资料库故障
114
+ app.database.simulate_failure('primary')
115
+
116
+ # 验证:系统使用副本继续运作
117
+ response = app.client.get('/api/health')
118
+ assert response.status_code == 200
119
+ assert response.json()['database'] == 'degraded'
120
+ ```
121
+
122
+ ## 测试环境
123
+
124
+ ### 环境需求
125
+
126
+ | 面向 | 需求 |
127
+ |------|------|
128
+ | 基础设施 | 镜像生产拓扑 |
129
+ | 资料 | 真实、匿名化的生产资料 |
130
+ | 规模 | 至少生产环境 10% 容量 |
131
+ | 隔离 | 与开发/测试环境分离 |
132
+ | 监控 | 启用完整可观测性 |
133
+
134
+ ## 测试报告
135
+
136
+ ### 报告结构
137
+
138
+ ```markdown
139
+ # 系统测试报告
140
+
141
+ ## 摘要
142
+ - **日期**: 2024-01-15
143
+ - **版本**: v2.3.0
144
+ - **环境**: system-test-01
145
+ - **时长**: 4 小时 32 分钟
146
+
147
+ ## 结果总览
148
+ | 类别 | 通过 | 失败 | 跳过 |
149
+ |------|------|------|------|
150
+ | 功能 | 145 | 3 | 2 |
151
+ | 效能 | 12 | 0 | 0 |
152
+ | 安全 | 28 | 1 | 0 |
153
+
154
+ ## 效能指标
155
+ - 平均回应时间: 234ms
156
+ - 95 百分位: 456ms
157
+ - 错误率: 0.02%
158
+ - 吞吐量: 1,200 req/sec
159
+ ```
160
+
161
+ ## 最佳实践
162
+
163
+ 1. **在类生产环境测试**
164
+ 2. **使用真实资料量**
165
+ 3. **包含非功能性需求**
166
+ 4. **自动化回归测试**
167
+ 5. **清楚记录测试情境**
168
+ 6. **执行期间监控**
169
+ 7. **执行后清理测试资料**
170
+
171
+ ## 相关选项
172
+
173
+ - [单元测试](./unit-testing.md) - 测试个别元件
174
+ - [整合测试](./integration-testing.md) - 测试元件互动
175
+ - [E2E 测试](./e2e-testing.md) - 测试使用者流程
176
+
177
+ ---
178
+
179
+ ## 授权条款
180
+
181
+ 本文件采用 [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) 授权条款。
182
+
183
+ **来源**:[universal-dev-standards](https://github.com/AsiaOstrich/universal-dev-standards)