@umacloud/knowledge 1.0.15 → 1.0.17

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 (171) hide show
  1. package/00-governance/governance-capabilities.md +1 -1
  2. package/00-governance/knowledge-map.md +4 -6
  3. package/agentic-delivery/01-standards/context-engineering-for-delivery.md +94 -0
  4. package/agentic-delivery/01-standards/eval-driven-delivery.md +90 -0
  5. package/agentic-delivery/01-standards/generated-code-failure-modes.md +91 -0
  6. package/agentic-delivery/01-standards/production-readiness-scorecard.md +79 -0
  7. package/agentic-delivery/01-standards/self-improving-memory-and-regression-sets.md +80 -0
  8. package/agentic-delivery/01-standards/spec-as-contract.md +88 -0
  9. package/agentic-delivery/01-standards/test-discipline-for-generated-code.md +94 -0
  10. package/agentic-delivery/01-standards/test-integrity-and-anti-gaming.md +92 -0
  11. package/agentic-delivery/01-standards/verifier-critic-pattern.md +89 -0
  12. package/ai/01-standards/app-runtime-model-configurable.md +76 -0
  13. package/ai/agent-evaluation-benchmark.md +4 -6
  14. package/ai/ai-agent-memory-context-management.md +4 -6
  15. package/ai/ai-cost-capacity-optimization-playbook.md +4 -6
  16. package/ai/ai-data-security-and-compliance-playbook.md +4 -6
  17. package/ai/ai-domain-index-and-checklist.md +4 -6
  18. package/ai/ai-governance-maturity-model.md +4 -6
  19. package/ai/ai-model-selection-and-routing-strategy.md +4 -6
  20. package/ai/ai-observability-and-oncall-runbook.md +4 -6
  21. package/ai/ai-rag-engineering-playbook.md +4 -6
  22. package/ai/ai-red-team-and-safety-evaluation.md +4 -6
  23. package/ai/ai-release-readiness-and-rollback-gate.md +4 -6
  24. package/ai/llm-agent-engineering-deep-dive.md +4 -6
  25. package/ai/prompt-and-tool-guardrails.md +4 -6
  26. package/api/01-standards/api-versioning-and-deprecation-policy.md +100 -0
  27. package/architecture/01-standards/configuration-and-environment-management.md +104 -0
  28. package/architecture/01-standards/domain-driven-design-complete.md +105 -0
  29. package/architecture/02-playbooks/migration-playbook.md +1 -5
  30. package/architecture/02-playbooks/system-design-playbook.md +1 -5
  31. package/architecture/adr-template-and-examples.md +4 -6
  32. package/architecture/api-gateway-deep-dive.md +1 -1
  33. package/architecture/configuration-management.md +95 -1158
  34. package/architecture/distributed-transactions.md +1 -1
  35. package/architecture/microservices-complete.md +1 -1
  36. package/architecture/resilience-and-disaster-patterns.md +87 -27
  37. package/architecture/service-governance.md +1 -1
  38. package/architecture/system-architecture-deep-dive.md +4 -6
  39. package/backend/01-standards/cjk-in-exports-and-documents.md +107 -0
  40. package/backend/01-standards/dependency-and-supply-chain-hygiene.md +90 -0
  41. package/backend/01-standards/django-complete.md +2 -2
  42. package/backend/01-standards/error-handling-taxonomy.md +88 -0
  43. package/backend/01-standards/idempotency-and-safe-retries.md +101 -0
  44. package/backend/01-standards/message-queue-patterns.md +96 -374
  45. package/backend/01-standards/nestjs-complete.md +23 -23
  46. package/backend/01-standards/queue-and-consumer-reliability.md +98 -0
  47. package/backend/01-standards/resilience-and-fault-tolerance.md +101 -0
  48. package/backend/01-standards/transactions-and-concurrency-control.md +92 -0
  49. package/cicd/cicd-blueprint-deep-dive.md +4 -6
  50. package/cicd/release-readiness-gate.md +78 -27
  51. package/cloud-native/01-standards/container-security.md +1 -5
  52. package/cloud-native/01-standards/kubernetes-complete.md +1 -5
  53. package/cloud-native/02-playbooks/gitops-with-argocd.md +1 -5
  54. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +3 -7
  55. package/cloud-native/02-playbooks/multicloud-governance.md +1 -5
  56. package/cloud-native/02-playbooks/serverless-patterns.md +1 -5
  57. package/cloud-native/02-playbooks/service-mesh-playbook.md +1 -5
  58. package/cloud-native/03-checklists/container-security-checklist.md +1 -5
  59. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +1 -5
  60. package/cloud-native/04-antipatterns/container-antipatterns.md +1 -5
  61. package/cloud-native/04-antipatterns/k8s-antipatterns.md +1 -5
  62. package/cloud-native/05-cases/case-k8s-migration.md +1 -5
  63. package/cloud-native/05-cases/case-k8s-scaling.md +1 -5
  64. package/cloud-native/05-cases/case-k8s-security-incident.md +1 -5
  65. package/cloud-native/06-glossary/cloud-native-glossary.md +1 -5
  66. package/compliance/01-standards/audit-logging-and-evidence.md +111 -0
  67. package/compliance/01-standards/privacy-and-compliance-readiness.md +119 -0
  68. package/data/01-standards/elasticsearch-complete.md +2 -2
  69. package/data/01-standards/postgresql-complete.md +8 -8
  70. package/data/01-standards/redis-complete.md +11 -11
  71. package/data/data-governance-and-modeling-deep-dive.md +4 -6
  72. package/data-engineering/01-standards/kafka-complete.md +22 -22
  73. package/design/ui-full-lifecycle-cross-platform-playbook.md +1 -1
  74. package/design/ux-system-deep-dive.md +4 -6
  75. package/design-systems/00-craft-rules.md +1 -1
  76. package/design-systems/bold-geometric.md +1 -1
  77. package/design-systems/brutalist-bold.md +1 -1
  78. package/design-systems/editorial-clean.md +1 -1
  79. package/design-systems/glass-aurora.md +1 -1
  80. package/design-systems/modern-minimal.md +1 -1
  81. package/design-systems/premium-luxury.md +1 -1
  82. package/design-systems/soft-warm.md +1 -1
  83. package/design-systems/tech-utility.md +1 -1
  84. package/development/00-governance/document-template.md +3 -3
  85. package/development/01-standards/code-review-and-pr-hygiene.md +85 -0
  86. package/development/01-standards/golang-complete.md +2 -2
  87. package/development/01-standards/python-design-patterns.md +2 -2
  88. package/development/01-standards/typescript-advanced-types.md +2 -2
  89. package/development/03-checklists/production-readiness-checklist.md +6 -6
  90. package/development/09-maturity/quarterly-audit-template.md +3 -5
  91. package/development/11-ui-excellence/ui-aesthetic-system.md +3 -5
  92. package/development/13-implementation-assets/knowledge-gates-execution.md +3 -5
  93. package/development/api-contract-and-versioning-guide.md +4 -6
  94. package/development/api-governance-complete.md +4 -6
  95. package/development/backend-engineering-complete.md +4 -6
  96. package/development/code-review-quality-complete.md +11 -34
  97. package/development/concurrency-reliability-complete.md +4 -6
  98. package/development/database-engineering-complete.md +4 -6
  99. package/development/engineering-effectiveness-complete.md +4 -6
  100. package/development/engineering-standards-deep-dive.md +4 -6
  101. package/development/frontend-engineering-complete.md +4 -6
  102. package/development/performance-capacity-complete.md +4 -6
  103. package/development/refactor-migration-complete.md +4 -6
  104. package/development/refactoring-and-techdebt-playbook.md +4 -6
  105. package/development/security-in-development-complete.md +4 -6
  106. package/devops/01-standards/docker-complete.md +2 -2
  107. package/devops/01-standards/terraform-complete.md +3 -3
  108. package/experts/architect/contract-first-api-design.md +140 -0
  109. package/experts/product-manager/prd-template-and-structure.md +144 -0
  110. package/experts/product-manager/requirements-engineering-ears.md +133 -0
  111. package/experts/qa-lead/test-plan-template.md +127 -0
  112. package/frontend/01-standards/accessibility-acceptance-gate.md +91 -0
  113. package/frontend/01-standards/accessibility-complete.md +3 -3
  114. package/frontend/01-standards/i18n-and-localization.md +1 -1
  115. package/frontend/01-standards/react-hooks-complete.md +33 -33
  116. package/frontend/01-standards/ui-states-and-resilient-data-fetching.md +97 -0
  117. package/frontend/01-standards/vue3-complete.md +2 -2
  118. package/high-quality-engineering-playbook.md +4 -6
  119. package/incident/02-playbooks/chaos-engineering-playbook.md +1 -5
  120. package/incident/postmortem-and-response-deep-dive.md +4 -6
  121. package/mobile/01-standards/flutter-complete.md +3 -8
  122. package/mobile/01-standards/react-native-complete.md +3 -8
  123. package/mobile/02-playbooks/mobile-performance.md +3 -9
  124. package/mobile/03-checklists/mobile-release-checklist.md +3 -5
  125. package/mobile/04-antipatterns/mobile-antipatterns.md +3 -5
  126. package/observability/01-standards/observability-and-slo-operations.md +88 -0
  127. package/observability/01-standards/observability-standards.md +2 -0
  128. package/operations/01-standards/cost-and-finops-engineering.md +84 -0
  129. package/operations/01-standards/production-readiness-review.md +103 -0
  130. package/operations/01-standards/prometheus-monitoring-complete.md +2 -2
  131. package/operations/aiops-anomaly-detection.md +4 -8
  132. package/operations/capacity-planning.md +4 -8
  133. package/operations/chaos-engineering.md +4 -8
  134. package/operations/incident-command-system.md +4 -6
  135. package/operations/observability-complete.md +4 -8
  136. package/operations/slo-sli-playbook.md +4 -8
  137. package/operations/sre-operations-deep-dive.md +4 -6
  138. package/package.json +1 -1
  139. package/performance/01-standards/performance-budgets-and-load-testing.md +91 -0
  140. package/product/feature-prioritization-framework.md +97 -35
  141. package/product/kpi-and-metric-tree.md +69 -26
  142. package/product/product-discovery-and-prd-deep-dive.md +4 -6
  143. package/release-engineering/01-standards/feature-flag-lifecycle.md +92 -0
  144. package/release-engineering/01-standards/progressive-delivery-and-release.md +92 -0
  145. package/release-engineering/02-playbooks/release-rollback-and-recovery-playbook.md +99 -0
  146. package/release-engineering/03-checklists/release-rollback-readiness-checklist.md +61 -0
  147. package/release-engineering/04-antipatterns/release-antipatterns.md +63 -0
  148. package/security/01-standards/authorization-and-access-control.md +94 -0
  149. package/security/01-standards/owasp-top10-complete.md +2 -2
  150. package/security/02-playbooks/incident-response-security-playbook.md +1 -5
  151. package/security/02-playbooks/penetration-testing-playbook.md +1 -5
  152. package/security/compliance-automation.md +1 -1
  153. package/security/container-security.md +1 -1
  154. package/security/devsecops-complete.md +1 -1
  155. package/security/sast-dast-sca.md +1 -1
  156. package/security/secrets-management.md +1 -1
  157. package/security/security-architecture-deep-dive.md +4 -6
  158. package/security/threat-modeling-stride-playbook.md +4 -6
  159. package/seed-templates/auth-system.md +1 -1
  160. package/seed-templates/blog-content.md +1 -1
  161. package/seed-templates/dashboard.md +1 -1
  162. package/seed-templates/docs-site.md +1 -1
  163. package/seed-templates/e-commerce.md +1 -1
  164. package/seed-templates/saas-landing.md +1 -1
  165. package/seed-templates/settings-page.md +1 -1
  166. package/testing/01-standards/ci-test-gates-and-coverage.md +93 -0
  167. package/testing/01-standards/contract-testing-and-api-contracts.md +102 -0
  168. package/testing/01-standards/test-data-and-ephemeral-environments.md +105 -0
  169. package/testing/02-playbooks/e2e-testing-playbook.md +1 -5
  170. package/testing/risk-based-test-matrix.md +75 -25
  171. package/testing/testing-strategy-deep-dive.md +4 -6
@@ -5,8 +5,8 @@ domain: security
5
5
  category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [access, broken, complete, contents, control, cryptographic, failures, injection]
8
- quality_score: 70
9
- last_updated: 2026-06-15
8
+ quality_score: 93
9
+ last_updated: 2026-06-29
10
10
  ---
11
11
  # OWASP Top 10 (2021) Complete Security Standards
12
12
 
@@ -10,11 +10,7 @@ difficulty: intermediate
10
10
  quality_score: 70
11
11
  ---
12
12
 
13
- # 开发:Excellent(11964948@qq.com)
14
- # 功能:安全事件响应全流程作战手册
15
- # 作用:指导安全团队完成安全事件的检测、遏制、取证、修复、通报与复盘
16
- # 创建时间:2026-03-28
17
- # 最后修改:2026-03-28
13
+ # 安全事件响应作战手册
18
14
 
19
15
  ## 目标
20
16
 
@@ -10,11 +10,7 @@ difficulty: intermediate
10
10
  quality_score: 70
11
11
  ---
12
12
 
13
- # 开发:Excellent(11964948@qq.com)
14
- # 功能:渗透测试全流程作战手册
15
- # 作用:指导安全团队完成 Web 应用、API、基础设施的渗透测试及报告编写
16
- # 创建时间:2026-03-28
17
- # 最后修改:2026-03-28
13
+ # 渗透测试作战手册
18
14
 
19
15
  ## 目标
20
16
 
@@ -2,7 +2,7 @@
2
2
  id: compliance-automation
3
3
  title: 合规自动化完整指南
4
4
  domain: security
5
- category: compliance-automation.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [automation, code, compliance, security, 合规工作流, 合规报告, 合规框架, 审计日志]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: container-security
3
3
  title: 容器安全完整指南
4
4
  domain: security
5
- category: container-security.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [container, layer, security, 主机安全, 容器安全分层, 概述, 编排安全, 网络安全]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: devsecops-complete
3
3
  title: DevSecOps 完整实践指南
4
4
  domain: security
5
- category: devsecops-complete.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [complete, devsecops, security, 安全工具链, 安全度量指标, 实施路径, 常见反模式, 最佳实践]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: sast-dast-sca
3
3
  title: SAST/DAST/SCA 完整指南
4
4
  domain: security
5
- category: sast-dast-sca.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [dast, sast, sca, security, 三者对比, 动态应用安全测试, 报告和度量, 概述]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: secrets-management
3
3
  title: 密钥管理完整方案
4
4
  domain: security
5
- category: secrets-management.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
7
  tags: [kubernetes, management, secrets, security, 中的使用, 密钥在, 密钥生命周期管理, 密钥管理]
8
8
  quality_score: 70
@@ -1,16 +1,14 @@
1
1
  ---
2
2
  id: security-architecture-deep-dive
3
- title: security-architecture-deep-dive
3
+ title: 安全环节深度知识库
4
4
  domain: security
5
- category: security-architecture-deep-dive.md
5
+ category: 01-standards
6
6
  difficulty: intermediate
7
- tags: [architecture, deep, dive, security, 安全环节深度知识库]
7
+ tags: [安全架构, security-architecture, 纵深防御, 威胁建模, 零信任, security]
8
8
  quality_score: 70
9
9
  last_updated: 2026-06-15
10
10
  ---
11
- # 开发:Excellent(11964948@qq.com)
12
-
13
- ## 安全环节深度知识库
11
+ # 安全环节深度知识库
14
12
 
15
13
  ### 目标
16
14
  - 形成从设计到运行期的全链路安全防护体系。
@@ -1,16 +1,14 @@
1
1
  ---
2
2
  id: threat-modeling-stride-playbook
3
- title: threat-modeling-stride-playbook
3
+ title: STRIDE 威胁建模手册
4
4
  domain: security
5
- category: threat-modeling-stride-playbook.md
5
+ category: 02-playbooks
6
6
  difficulty: intermediate
7
- tags: [modeling, playbook, security, stride, threat, 威胁建模手册]
7
+ tags: [威胁建模, threat-modeling, stride, 攻击面, 安全设计, security]
8
8
  quality_score: 70
9
9
  last_updated: 2026-06-15
10
10
  ---
11
- # 开发:Excellent(11964948@qq.com)
12
-
13
- ## STRIDE 威胁建模手册
11
+ # STRIDE 威胁建模手册
14
12
 
15
13
  ### 目标
16
14
  - 在需求与设计阶段提前识别安全风险,降低上线后高危漏洞暴露概率。
@@ -2,7 +2,7 @@
2
2
  id: auth-system
3
3
  title: Seed Template: Authentication System
4
4
  domain: seed-templates
5
- category: auth-system.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [auth, component, gates, page, patterns, quality, seed-templates, structure]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: blog-content
3
3
  title: Seed Template: Blog / Content Site
4
4
  domain: seed-templates
5
- category: blog-content.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [article, articles, blog, content, gates, page, quality, rules]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: dashboard
3
3
  title: Seed Template: Dashboard
4
4
  domain: seed-templates
5
- category: dashboard.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [component, dashboard, gates, layout, page, patterns, quality, rules]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: docs-site
3
3
  title: Seed Template: Documentation Site
4
4
  domain: seed-templates
5
- category: docs-site.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [component, docs, gates, page, patterns, quality, seed-templates, site]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: e-commerce
3
3
  title: Seed Template: E-Commerce Product Page
4
4
  domain: seed-templates
5
- category: e-commerce.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [commerce, gates, page, quality, seed-templates, structure]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: saas-landing
3
3
  title: Seed Template: SaaS Landing Page
4
4
  domain: seed-templates
5
- category: saas-landing.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [bottom, gates, into, landing, page, paste, quality, root]
8
8
  quality_score: 70
@@ -2,7 +2,7 @@
2
2
  id: settings-page
3
3
  title: Seed Template: Settings / Account Page
4
4
  domain: seed-templates
5
- category: settings-page.md
5
+ category: seed-templates
6
6
  difficulty: intermediate
7
7
  tags: [gates, page, quality, seed-templates, settings, structure]
8
8
  quality_score: 70
@@ -0,0 +1,93 @@
1
+ ---
2
+ id: ci-test-gates-and-coverage
3
+ title: CI 测试门禁与覆盖率规范(商业级必读)
4
+ domain: testing
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [ci, quality-gate, coverage, flaky, required-checks, mutation-testing, pipeline, 门禁, 覆盖率, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-29
10
+ ---
11
+ # CI 测试门禁与覆盖率规范(商业级必读)
12
+
13
+ > 写了测试但不在 CI 里强制跑、不阻断合并,等于没写。商业级交付要求:**每次改动都自动验证,红就不能合**。
14
+ > 本规范定义哪些检查在哪个阶段跑、覆盖率怎么卡、flaky 怎么治,让"绿色"真正可信。
15
+
16
+ ## 1. 门禁原则
17
+
18
+ - **快速反馈分层**:把检查按"快→慢"分层,快的先挂、早失败(fail fast),别让开发者等 30 分钟才看到一个拼写错。
19
+ - **必过即阻断**:被列为"required check"的项失败,PR **不可合并**——靠分支保护强制,而不是靠自觉。
20
+ - **可信的绿**:绿色必须代表"真的没问题"。flaky(随机红/绿)会侵蚀信任,让人习惯性"重跑一下",必须当一类缺陷治理。
21
+ - **可复现**:CI 跑的就是别人本地能跑的同一套命令;锁依赖版本、固定随机种子与时钟。
22
+
23
+ ## 2. 分阶段执行什么
24
+
25
+ | 阶段 | 触发 | 跑什么 | 目标时长 |
26
+ |---|---|---|---|
27
+ | 提交前 / 本地钩子 | commit/push | 格式化、lint、改动文件的快速单测 | 秒级 |
28
+ | PR(必过门禁)| 每次 PR & 更新 | lint + 类型检查 + 全量单测 + 集成测 + 契约校验 + 构建 + SAST/依赖扫描 | < 10 分钟 |
29
+ | 合并到主干 | merge | 上面全部 + 关键路径 E2E 冒烟 | < 20 分钟 |
30
+ | 夜间 / 定时 | 定时 | 全量 E2E、性能基准、变异测试、可视回归、SCA 全扫 | 不阻断开发 |
31
+
32
+ 要点:**慢而全的**(完整 E2E、性能、变异测试)放夜间,避免拖慢每次 PR;**快而关键的**(单测、集成、契约、lint、构建)进 PR 必过门禁。
33
+
34
+ ## 3. PR 必过检查清单(required checks)
35
+
36
+ 每个 PR 合并前必须全绿:
37
+ - [ ] 代码格式化无 diff(formatter 干净)。
38
+ - [ ] Lint 0 错误(pedantic/严格级别,警告即错误)。
39
+ - [ ] 静态类型检查通过。
40
+ - [ ] 全量单元测试通过。
41
+ - [ ] 集成测试通过(含真实 DB/依赖的关键读写)。
42
+ - [ ] 接口契约校验通过(见 `contract-testing-and-api-contracts`)。
43
+ - [ ] 项目构建成功(产物可生成)。
44
+ - [ ] 依赖漏洞扫描 + 静态安全扫描(SAST)无新增高危。
45
+ - [ ] 覆盖率达标(见 §4),且**新增/改动代码**覆盖率达阈值。
46
+ - [ ] 无密钥/凭据泄漏(secret 扫描)。
47
+
48
+ ## 4. 覆盖率怎么卡
49
+
50
+ 覆盖率是**护栏不是目标**——100% 行覆盖也能全是无断言的假测试。正确用法:
51
+
52
+ - **关注变更覆盖(diff/patch coverage)**:本次改动的新增/修改代码覆盖率必须达阈值(如 ≥ 80%)。这比"全库总覆盖率"更能防止"新代码不写测试"。
53
+ - **设全局下限 + 禁止下降**:总覆盖率有底线(如关键模块 ≥ 80%、整体 ≥ 70%),且 PR 不得让覆盖率**净下降**。
54
+ - **分层看覆盖**:核心领域逻辑/计费/权限要求高覆盖(含分支);UI 胶水、生成代码、配置可豁免。
55
+ - **分支覆盖 > 行覆盖**:行覆盖会漏掉未走到的条件分支;对关键逻辑要求分支覆盖。
56
+ - **变异测试做抽查(夜间)**:行覆盖只证明"代码被执行",变异测试改变代码看测试是否能发现,证明"断言真的有效"。对核心模块定期跑,揪出"覆盖了但没断言"的空测试。
57
+
58
+ 覆盖率反模式:为冲数字写无断言测试、把难测代码排除统计、只看总数不看变更覆盖。
59
+
60
+ ## 5. Flaky 测试治理
61
+
62
+ flaky 是 CI 的头号信任杀手,按缺陷对待:
63
+ - **检测**:同一提交多次运行结果不一致即 flaky;记录失败率。
64
+ - **隔离(quarantine)**:确认 flaky 后立刻移出必过门禁(打标隔离)、建工单限期修,**但不允许**长期挂着无人管。
65
+ - **根因**:常见是时间/随机/并发顺序依赖、共享可变状态、真网络、未等待异步、测试间数据污染。修复方向:注入可控时钟与种子、每用例独立数据与事务回滚、显式等待替代 sleep、并行安全。
66
+ - **禁止"重跑掩盖"**:把"重试直到绿"当默认策略会永久隐藏真 bug;自动重试只用于明确隔离区,且计数告警。
67
+
68
+ ## 6. 测试数据与环境
69
+
70
+ - 集成测试用**一次性真实依赖**(容器化 DB/内存库),每用例自带数据、跑完清理或事务回滚,互不污染。
71
+ - 不依赖共享/生产测试库;不依赖"先跑某测试"的隐式顺序。
72
+ - 测试可**并行**:无全局可变状态、无固定端口冲突、数据隔离。
73
+ - 确定性:固定随机种子、可注入时钟、稳定排序,杜绝时序/时区导致的 flaky。
74
+
75
+ ## 7. 反模式(出现即不合格)
76
+
77
+ 1. **写了测试不进 CI**:本地偶尔跑,主干随时可坏。
78
+ 2. **检查非必过**:失败也能合并(没接分支保护)。
79
+ 3. **覆盖率只看总数**:新代码零测试但总数没掉,蒙混过关。
80
+ 4. **为覆盖率写无断言测试**:数字漂亮,实则没验证任何行为。
81
+ 5. **flaky 长期隔离无人修**:隔离区变垃圾堆,真问题被埋。
82
+ 6. **全量慢测试塞进每个 PR**:反馈 40 分钟,没人愿等,干脆跳过。
83
+ 7. **CI 与本地命令不一致**:本地绿 CI 红,无法复现。
84
+
85
+ ## 8. 最低交付 checklist
86
+
87
+ - [ ] 分支保护开启,关键检查设为 required,红则不可合。
88
+ - [ ] PR 门禁 < 10 分钟,包含 lint/类型/单测/集成/契约/构建/安全扫描。
89
+ - [ ] 慢测试(全 E2E/性能/变异/可视回归)放夜间,不拖 PR。
90
+ - [ ] 变更覆盖率达阈值 + 总覆盖率不下降,核心模块要分支覆盖。
91
+ - [ ] flaky 有检测、隔离、限期修流程,不靠"重跑"掩盖。
92
+ - [ ] 测试数据隔离、可并行、确定性(固定种子/时钟)。
93
+ - [ ] CI 跑的命令与本地一致、可复现。
@@ -0,0 +1,102 @@
1
+ ---
2
+ id: contract-testing-and-api-contracts
3
+ title: 契约测试与接口契约规范(商业级必读)
4
+ domain: testing
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [contract-testing, consumer-driven, api-contract, schema-validation, integration, ci-gate, 契约测试, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-29
10
+ ---
11
+ # 契约测试与接口契约规范(商业级必读)
12
+
13
+ > 前后端、服务与服务之间靠"接口契约"协作。只跑各自的单测,无法发现"后端悄悄改了字段、前端还在用旧字段"这类**集成断裂**。
14
+ > 契约测试用机器可验证的方式锁住接口形状:一方改了不兼容的契约,CI 立刻红,而不是等到联调或生产才炸。
15
+
16
+ ## 1. 契约测试解决什么
17
+
18
+ - **集成断裂在合并前暴露**:消费方(前端/下游服务)对提供方(API/上游服务)的期望被固化成可执行契约;提供方改坏了,提供方的 CI 就失败。
19
+ - **不必拉起整套环境**:契约测试用契约 + 桩,比端到端联调快得多、稳得多,可在每次 PR 跑。
20
+ - **明确的责任边界**:契约是双方共同签署的事实来源;谁破坏谁负责。
21
+
22
+ 契约测试**不替代**集成/E2E,它补在金字塔的"集成层",专门保接口对齐(见 `testing/01-standards/test-strategy-and-layering`)。
23
+
24
+ ## 2. 两种契约校验
25
+
26
+ ### A. 模式契约(Schema Contract)
27
+ 以接口定义文件(OpenAPI / GraphQL SDL / protobuf)为单一事实来源,校验**真实流量**符合模式:
28
+ - **提供方**:集成测试里,断言每个端点的真实响应满足声明的模式(字段、类型、必填、状态码)。响应多/少/错字段即失败。
29
+ - **消费方**:从前端代码里抽取所有 `fetch`/HTTP 调用,断言每个被调用的"路径+方法+请求/响应形状"都存在于契约中——杜绝"调了一个契约里不存在的端点"或"端点在活跃消费方下被悄悄改形状"。
30
+ - **破坏性 diff**:把新契约与上一发布版对比,删字段/改类型/收紧校验/改状态码语义=破坏性变更,未升版本则阻断合并。
31
+
32
+ ### B. 消费者驱动契约(Consumer-Driven Contract)
33
+ 当多个消费方依赖同一提供方时,让**消费方**声明"我实际用到的请求/响应子集",汇总成提供方必须满足的契约:
34
+ ```
35
+ 1. 每个消费方写出它对提供方的期望(请求样例 → 期望响应样例)。
36
+ 2. 这些期望被收集(共享契约仓/broker),形成提供方的契约集合。
37
+ 3. 提供方在 CI 回放所有消费方期望:任一不满足即失败。
38
+ 4. 部署前用"能否部署(can-i-deploy)"判定:该版本是否兼容当前所有线上消费方。
39
+ ```
40
+ 价值:提供方只需保证"被真正用到的部分"稳定,敢于删改无人使用的字段;消费方不会被上游静默破坏。
41
+
42
+ ## 3. 工作流
43
+
44
+ ```
45
+ 契约先行(见 experts/architect/contract-first-api-design)
46
+
47
+ ├─ 提供方:实现 → 契约校验测试(真实响应 vs 模式)→ 回放消费方期望
48
+
49
+ └─ 消费方:对着契约/Mock 开发 → 用契约桩做集成测试(不打真实提供方)
50
+
51
+ CI 门禁:契约 lint + 双向校验 + 破坏性 diff + can-i-deploy
52
+ ```
53
+
54
+ - 消费方测试用**契约生成的 Mock/桩**代替真实提供方,既快又能在提供方未就绪时并行开发。
55
+ - 提供方测试用**真实实现**回放契约,确保不是"对着自己的假设测自己"。
56
+
57
+ ## 4. 契约必须锁住的内容
58
+
59
+ | 维度 | 校验点 |
60
+ |---|---|
61
+ | 路径 / 方法 | 每个被消费的端点都存在 |
62
+ | 请求 | 必填/可选字段、类型、格式、枚举、范围 |
63
+ | 响应(按状态码)| 成功与各错误码的 body 形状 + 示例 |
64
+ | 状态码集合 | 200/201/204/400/401/403/404/409/422/429/5xx 按操作声明 |
65
+ | 错误信封 | 全局统一的错误结构(code/message/details) |
66
+ | 鉴权 | 哪些端点需鉴权、需要的 scope/role |
67
+ | 分页 / 幂等 | 集合的分页契约、不安全操作的幂等键 |
68
+ | 版本 | 破坏性变更的信号与版本策略 |
69
+
70
+ ## 5. 兼容性规则
71
+
72
+ - **加字段、加端点、放宽校验 = 兼容**(消费方须容忍未知字段——收到多余字段不报错)。
73
+ - **删/改字段、改类型、收紧校验、改状态码语义 = 破坏**:必须升主版本 + 走弃用流程(标记弃用 → 公告 → sunset 日期 → 旧版本流量耗尽后再删)。
74
+ - 把"契约破坏性 diff"做成 CI 检查:未升版本的破坏性变更直接 fail。
75
+
76
+ ## 6. CI 门禁(契约相关)
77
+
78
+ 每次 PR 应执行:
79
+ - [ ] **契约 lint**:模式合法、命名一致、每个操作带示例。
80
+ - [ ] **提供方响应校验**:集成测试断言真实响应符合契约。
81
+ - [ ] **消费方调用校验**:前端/下游调用的路径与形状都在契约内。
82
+ - [ ] **消费者期望回放**:提供方满足所有已注册消费方契约。
83
+ - [ ] **破坏性 diff**:对比上一发布契约,破坏未升版即阻断。
84
+ - [ ] **can-i-deploy**:发布前确认该版本兼容当前线上各消费方。
85
+
86
+ ## 7. 反模式(出现即不合格)
87
+
88
+ 1. **只有单测、无契约校验**:前后端各自绿,集成处断裂。
89
+ 2. **契约是写完代码后补的文档**:从未被任何 CI 检查,与代码漂移。
90
+ 3. **消费方对着真实提供方做集成**:慢、脆、提供方未就绪就卡住;该用契约桩。
91
+ 4. **提供方对着自己的假设测自己**:没回放真实消费方期望。
92
+ 5. **静默破坏性变更**:改字段不升版本,线上消费方被打挂。
93
+ 6. **不容忍未知字段**:提供方加个可选字段,消费方就崩——脆契约。
94
+
95
+ ## 8. 最低交付 checklist
96
+
97
+ - [ ] 接口有机器可读契约(OpenAPI/SDL/proto)作为单一事实来源。
98
+ - [ ] 提供方有"真实响应 vs 契约"的自动化校验测试。
99
+ - [ ] 消费方有"调用 vs 契约"的自动化校验,且用契约桩做集成。
100
+ - [ ] 多消费方场景启用消费者驱动契约 + can-i-deploy。
101
+ - [ ] 破坏性变更检测进 CI,未升版本即阻断合并。
102
+ - [ ] 弃用走"标记→公告→sunset→下线"流程,不静默删改。
@@ -0,0 +1,105 @@
1
+ ---
2
+ id: test-data-and-ephemeral-environments
3
+ title: 测试数据管理与临时环境规范(商业级必读)
4
+ domain: testing
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [test-data, fixtures, factories, seeding, ephemeral-environment, preview-environment, anonymization, isolation, 测试数据, 临时环境, 预览环境, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-29
10
+ ---
11
+ # 测试数据管理与临时环境规范(商业级必读)
12
+
13
+ > 测试不可信,往往不是因为代码错,而是因为**数据脏、环境脏**:上一条用例残留的数据污染下一条、用生产真实个人数据跑测试、几十个分支抢同一个共享 staging。
14
+ > 商业级团队把"测试数据如何造、如何隔离、用完如何清"和"每个改动跑在自己的一次性环境里"当成工程能力来建,而不是靠人手摆数据。
15
+
16
+ ## 1. 核心原则
17
+
18
+ - **确定性**:同一套用例每次跑的数据状态一致,结果可复现;不依赖"今天库里恰好有什么"。
19
+ - **隔离**:每个用例/每条流水线/每个分支拥有自己的数据与环境,互不串味,可并行。
20
+ - **自给自足**:用例自己准备所需数据(前置),不假设环境里已经存在某条记录。
21
+ - **用完即清**:数据和环境都有明确的销毁路径,绝不无限堆积、绝不长期占用。
22
+ - **绝不用真实个人数据**:测试库里不放生产 PII,用脱敏或合成数据(见 `compliance/01-standards/privacy-and-compliance-readiness`)。
23
+
24
+ ## 2. 测试数据的四种来源
25
+
26
+ | 方式 | 做法 | 适用 | 注意 |
27
+ |---|---|---|---|
28
+ | 工厂/构建器(factory)| 用代码按需生成对象,字段给合理默认、按用例覆盖关键字段 | 单元/集成测试首选 | 默认值要合法,只显式写"与本用例相关"的字段 |
29
+ | 固定夹具(fixture)| 预定义一组静态数据集,测试前加载 | 参照数据、枚举、种子账号 | 易腐化,变更要同步;别塞进巨型共享夹具 |
30
+ | 合成数据(synthetic)| 按规则/分布批量生成仿真数据 | 性能/容量/边界测试 | 要覆盖边界与异常分布,不只是"理想数据" |
31
+ | 脱敏生产数据 | 取生产快照后**不可逆脱敏/掩码**再用 | 需要真实形态/规模时 | 脱敏必须在数据离开生产边界前完成;保留引用完整性 |
32
+
33
+ 要点:优先工厂法(表达力强、随用例演进);固定夹具只放稳定的参照数据;**绝不**直接拷生产库进测试环境。
34
+
35
+ ## 3. 数据脱敏与合成
36
+
37
+ - **脱敏规则**:姓名/邮箱/手机/证件/卡号等可识别字段一律替换、掩码或令牌化;保留格式有效性(邮箱仍是邮箱)和**引用完整性**(外键仍能对上)。
38
+ - **不可逆**:脱敏后不能反推回真人——别用可逆加密冒充脱敏。
39
+ - **一致性**:同一真实值在多表脱敏成同一假值,避免 join 断裂。
40
+ - **合成优先**:能用规则造的就别取生产;合成数据零隐私风险、可覆盖边界,是长期方向。
41
+
42
+ ## 4. 测试数据生命周期(每条用例必须闭环)
43
+
44
+ ```
45
+ 准备(setup) → 执行(act) → 断言(assert) → 清理(teardown)
46
+ ```
47
+
48
+ - **准备**:用例自己创建所需数据,带唯一标识(如随机后缀)避免与并发用例撞键。
49
+ - **清理**:优先用**事务回滚**(用例跑在事务里,结束回滚,最快最干净);不能回滚时用显式删除或在隔离的库/schema 里跑。
50
+ - **不依赖执行顺序**:用例之间无隐式依赖,任意打乱/单独跑都通过。
51
+ - **不留垃圾**:失败的用例也要能清理(teardown 放在 finally/fixture 析构里)。
52
+
53
+ ## 5. 隔离级别(从强到弱)
54
+
55
+ | 级别 | 隔离手段 | 并行度 | 成本 |
56
+ |---|---|---|---|
57
+ | 进程内 | 内存库/事务回滚 | 高 | 低 |
58
+ | schema/库级 | 每个 worker 一套 schema 或独立库 | 高 | 中 |
59
+ | 容器级 | 每条流水线起一套临时容器栈 | 中 | 中 |
60
+ | 环境级 | 每个分支/PR 一套临时环境 | 中 | 高 |
61
+
62
+ 原则:能用更轻的隔离就别上更重的;CI 里并行跑的测试**必须**至少做到 schema/库级隔离,否则互相污染、随机翻红。
63
+
64
+ ## 6. 临时/预览环境(ephemeral / preview)
65
+
66
+ - **定义**:为一次改动(一个 PR/一个分支)**自动拉起、用完自动销毁**的完整运行环境,让评审者和 QA 能在合并前看到真实运行效果。
67
+ - **声明式 + 自动化**:环境由代码/配置定义(基础设施即代码),从零一键重建;**绝不**手工攒环境。
68
+ - **自动生命周期**:PR 打开 → 自动部署预览环境 → 评论里回链接;PR 合并/关闭 → 自动销毁,绝不遗留。
69
+ - **种子数据**:预览环境用脱敏/合成种子数据自动初始化,达到可演示状态,不连生产数据。
70
+ - **隔离与成本**:每个预览环境互相隔离;设**TTL 自动回收**和资源上限,防止环境无限堆积烧钱。
71
+ - **与渐进式发布衔接**:预览环境用于"合并前看效果",与上线后的金丝雀放量是两件事(见 `release-engineering/01-standards/progressive-delivery-and-release`)。
72
+
73
+ ## 7. 环境分层与数据策略
74
+
75
+ | 环境 | 数据 | 持久性 |
76
+ |---|---|---|
77
+ | 本地/单测 | 工厂生成 + 事务回滚 | 即用即弃 |
78
+ | CI 集成测试 | 容器内临时库 + 种子 | 流水线结束即销毁 |
79
+ | 预览(每 PR)| 脱敏/合成种子 | PR 关闭即销毁 |
80
+ | staging | 接近生产的脱敏数据 | 长期,但定期刷新与清理 |
81
+ | 生产 | 真实数据 | 受合规与保留策略约束 |
82
+
83
+ staging 不是垃圾场:定期刷新脱敏数据、清理过期记录,让它真正"接近生产"。
84
+
85
+ ## 8. 反模式(出现即不合格)
86
+
87
+ 1. **测试间共享可变数据**:用例 A 造的数据被用例 B 读,顺序一变就翻红。
88
+ 2. **生产数据直灌测试**:把真实 PII 拷进测试/预览环境,隐私事故。
89
+ 3. **不清理**:用例只建不删,库越跑越脏,最后只能"重建环境"。
90
+ 4. **巨型共享夹具**:一个庞大夹具喂所有用例,改一处崩一片,没人敢动。
91
+ 5. **手工长寿 staging**:靠人手摆的"祖传环境",没人能从零重建。
92
+ 6. **抢占共享环境**:几十个分支共用一个 staging,互相覆盖、排队等待。
93
+ 7. **预览环境不回收**:临时环境只建不销,资源无限堆积。
94
+ 8. **依赖隐式现存数据**:用例假设"库里本来就有 id=1 的用户"。
95
+
96
+ ## 9. 最低交付 checklist
97
+
98
+ - [ ] 测试数据用工厂/构建器按需生成,带唯一标识,不撞键。
99
+ - [ ] 每条用例自给自足、不依赖执行顺序、用完即清(优先事务回滚)。
100
+ - [ ] CI 并行测试至少做到 schema/库级隔离,互不污染。
101
+ - [ ] 测试/预览环境绝不使用生产真实个人数据,统一脱敏或合成。
102
+ - [ ] 脱敏不可逆、保持格式有效与引用完整、跨表一致。
103
+ - [ ] 预览环境由 IaC 定义,PR 打开自动拉起、关闭自动销毁,带 TTL 回收。
104
+ - [ ] 预览环境自动种子数据到可演示状态。
105
+ - [ ] staging 数据定期刷新与清理,保持接近生产。
@@ -10,11 +10,7 @@ difficulty: intermediate
10
10
  quality_score: 70
11
11
  ---
12
12
 
13
- # 开发:Excellent(11964948@qq.com)
14
- # 功能:E2E 测试全流程作战手册
15
- # 作用:指导团队建立和维护高质量的 E2E 测试体系
16
- # 创建时间:2026-03-28
17
- # 最后修改:2026-03-28
13
+ # E2E 测试作战手册
18
14
 
19
15
  ## 目标
20
16
 
@@ -1,36 +1,86 @@
1
1
  ---
2
2
  id: risk-based-test-matrix
3
- title: risk-based-test-matrix
3
+ title: 风险驱动测试矩阵(商业级必读)
4
4
  domain: testing
5
- category: risk-based-test-matrix.md
5
+ category: 02-playbooks
6
6
  difficulty: intermediate
7
- tags: [based, matrix, risk, test, testing, 风险驱动测试矩阵]
8
- quality_score: 70
9
- last_updated: 2026-06-15
7
+ tags: [测试策略, risk-based, 测试矩阵, 回归, 验收门, 缺陷密度, 发布门禁, qa, 风险评分, 商业级]
8
+ quality_score: 95
9
+ last_updated: 2026-06-29
10
10
  ---
11
- # 开发:Excellent(11964948@qq.com)
12
11
 
13
- ## 风险驱动测试矩阵
12
+ # 风险驱动测试矩阵(商业级必读)
14
13
 
15
- ### 目标
16
- - 把测试资源聚焦到高风险高影响场景,提升回归效率与事故预防能力。
14
+ > 测试的产能永远是有限的,"全都测、都测到 100%"既做不到也不划算。真正的问题不是"测得够不够多",而是"有限的测试投入有没有压在最可能出事、出事最严重的地方"。对所有模块一刀切同等测试深度,结果往往是低风险代码被过度测试、高风险链路反而漏测。本矩阵把测试投入与**业务风险**对齐:先给每个变更/模块评风险,再按风险等级映射到差异化的测试深度与发布门禁,让回归更快、事故更少。
17
15
 
18
- ### 风险评分模型
19
- - 业务影响:低/中/高
20
- - 变更复杂度:低/中/高
21
- - 历史缺陷密度:低/中/高
22
- - 依赖外部系统数量:低/中/高
16
+ ## 1. 风险评分模型(四因子)
23
17
 
24
- ### 测试等级映射
25
- - R1(低风险):单元测试 + 冒烟验证。
26
- - R2(中风险):单元 + 集成 + 契约测试。
27
- - R3(高风险):单元 + 集成 + E2E + 性能 + 安全专项。
18
+ 对每个待测模块/变更,按四个因子各评 低(1)/中(2)/高(3):
28
19
 
29
- ### 执行清单
30
- - 每次发布前更新模块风险评分。
31
- - 高风险模块回归失败时禁止发布。
32
- - 高风险缺陷必须沉淀为长期回归用例。
20
+ | 因子 | 含义 | 低(1) | 高(3) |
21
+ |---|---|---|---|
22
+ | 业务影响 | 出错对用户/收入/合规的伤害 | 内部辅助功能 | 支付/账号/数据/核心任务流 |
23
+ | 变更复杂度 | 改动的范围与不确定性 | 文案/样式微调 | 跨服务、并发、状态机、迁移 |
24
+ | 历史缺陷密度 | 该区域过去的故障频率 | 长期稳定 | 反复出问题的"重灾区" |
25
+ | 外部依赖数量 | 依赖的下游系统/三方数量 | 自包含 | 多三方、强网络、强时序耦合 |
33
26
 
34
- ### 常见失败模式
35
- - 所有模块“一刀切”同等测试深度。
36
- - 风险评估不更新,矩阵失去参考价值。
27
+ **风险分 = 四因子之和(4–12)**,映射到风险等级:
28
+
29
+ | 风险分 | 等级 | 含义 |
30
+ |---|---|---|
31
+ | 4–6 | R1 低 | 出错影响小且不易错 |
32
+ | 7–9 | R2 中 | 需要常规多层验证 |
33
+ | 10–12 | R3 高 | 关键链路,需专项 + 门禁 |
34
+
35
+ > 任一因子=高 且 业务影响=高,直接按 R3 处理(一票升级),不必等总分达标——支付链路即使改动很小也是高风险。
36
+
37
+ ## 2. 风险等级 → 测试深度映射
38
+
39
+ | 等级 | 必做测试 | 覆盖率要求 | 自动化 |
40
+ |---|---|---|---|
41
+ | R1 低 | 单元 + 冒烟 | 关键路径覆盖即可 | 可手动冒烟 |
42
+ | R2 中 | 单元 + 集成 + 契约 | 行/分支覆盖达团队基线 | 集成纳入 CI |
43
+ | R3 高 | 单元 + 集成 + 契约 + E2E + 性能 + 安全专项 + 故障注入 | 关键分支接近全覆盖,含异常/边界/并发路径 | 全自动 + 发布门禁 |
44
+
45
+ - **契约测试**对有外部依赖的模块是 R2 起步的硬要求,防止"各自单测都过、联调才炸"。
46
+ - **性能/安全专项**只对 R3 强制,避免在低风险模块上空耗。
47
+ - R3 必须显式覆盖**异常路径、边界值、并发与重试、幂等**,而不只是 happy path。
48
+
49
+ ## 3. 发布门禁(风险等级决定阻断强度)
50
+
51
+ | 等级 | 回归失败处置 | 发布要求 |
52
+ |---|---|---|
53
+ | R1 | 修复或记录待办 | 冒烟通过即可放行 |
54
+ | R2 | 阻断本次发布,修复后重跑 | 集成+契约全绿 |
55
+ | R3 | 阻断 + 触发复盘 | 全部专项通过、关键缺陷清零、有回滚预案 |
56
+
57
+ - **高风险模块回归失败 = 禁止发布**,不接受"已知问题先上、下个版本修"。
58
+ - **高风险缺陷必须沉淀为长期回归用例**(缺陷驱动测试),防止同一根因反复复发。
59
+ - 风险评分是**动态的**:每次发布前根据新变更、新依赖、新故障重新评分,矩阵不更新就会失去参考价值。
60
+
61
+ ## 4. 与变更频率结合(热点优先)
62
+
63
+ 把"风险高"与"改得勤"叠加,识别需要最强测试纪律的热点:
64
+
65
+ - 高风险 × 高频变更 → 投入最深测试 + 强门禁 + 监控告警兜底。
66
+ - 高风险 × 低频变更 → 每次改动都需完整 R3 流程(改得少更易疏忽)。
67
+ - 低风险 × 高频变更 → 重自动化冒烟与回归,控制人工成本。
68
+
69
+ ## 反模式
70
+
71
+ - **一刀切测试深度**:所有模块同等对待,低风险代码被过度测试、高风险链路反而漏测。
72
+ - **评分一次定终身**:风险分上线后从不更新,新增的依赖与故障未反映,矩阵沦为摆设。
73
+ - **只看总分忽略一票升级**:支付/账号类小改动因总分不高被降级处理,绕过专项。
74
+ - **覆盖率刷数字**:为达 R3 覆盖率指标补一堆只测 happy path 的用例,异常/并发/边界仍是盲区。
75
+ - **高风险失败放行**:以"deadline 到了"为由对 R3 回归失败放行,把风险转嫁给线上。
76
+ - **缺陷不沉淀**:修了线上缺陷却不补回归用例,同一根因下个版本再炸。
77
+
78
+ ## 最低交付 checklist
79
+
80
+ - [ ] 每个待测模块/变更有四因子风险评分与 R1/R2/R3 等级,且本次发布前已刷新。
81
+ - [ ] 高业务影响项已按一票升级规则处理为 R3。
82
+ - [ ] 各等级的必做测试类型已按映射表执行(R2 起含契约、R3 含性能+安全+故障注入)。
83
+ - [ ] R3 用例显式覆盖异常路径、边界、并发/重试与幂等。
84
+ - [ ] 发布门禁按等级生效:R2/R3 回归失败阻断发布。
85
+ - [ ] 所有已修复的线上缺陷均已沉淀为长期回归用例。
86
+ - [ ] 高风险 × 高频变更的热点模块有自动化回归 + 监控告警兜底。