WP14_UAT_CASES.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. {
  2. "schema_version": "1.0",
  3. "work_package": "WP-14",
  4. "generated_at": "2026-07-30",
  5. "result_definitions": {
  6. "PASS_LOCAL": "当前本地工程环境已通过,不能据此认定企业正式验收通过",
  7. "FAIL": "已执行但不符合预期",
  8. "BLOCKED_EXTERNAL": "需要企业人员、数据、环境或签字,当前不能执行",
  9. "NOT_RUN": "本轮未执行且不属于外部依赖"
  10. },
  11. "cases": [
  12. {
  13. "id": "WP14-UAT-001",
  14. "module_ids": ["WP-02"],
  15. "title": "管理员创建三级角色账号并正确处理 HTTP 201",
  16. "actor": "admin",
  17. "acceptance_level": "LOCAL_ENGINEERING",
  18. "preconditions": ["本地管理员可登录", "用户管理页面可访问"],
  19. "steps": ["创建 viewer 账号", "创建 editor 账号并检查列表刷新", "完成角色验收后停用两个账号"],
  20. "expected": ["创建窗口关闭并刷新列表", "角色正确", "停用账号不能再次登录"],
  21. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限", "WP14-DEF-001"],
  22. "result": "PASS_LOCAL",
  23. "notes": "两个临时账号均已停用,重新登录返回 401。"
  24. },
  25. {
  26. "id": "WP14-UAT-002",
  27. "module_ids": ["WP-02"],
  28. "title": "管理员、编辑者和查看者权限隔离",
  29. "actor": "enterprise_acceptance",
  30. "acceptance_level": "LOCAL_ENGINEERING",
  31. "preconditions": ["三级角色账号在验收期间为 active", "API 鉴权开启"],
  32. "steps": ["三类角色分别读取资产和指标", "分别访问用户与审计接口", "分别提交无效资产导入请求"],
  33. "expected": ["三类角色读取返回 200", "只有管理员访问用户与审计返回 200", "查看者写入返回 403,编辑者和管理员进入业务校验"],
  34. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限"],
  35. "result": "PASS_LOCAL",
  36. "notes": "无效写入仅用于验证权限顺序,不产生资产数据。"
  37. },
  38. {
  39. "id": "WP14-UAT-003",
  40. "module_ids": ["WP-02", "WP-05", "WP-06", "WP-07", "WP-08"],
  41. "title": "设备治理责任矩阵和唯一最终责任人",
  42. "actor": "admin",
  43. "acceptance_level": "LOCAL_ENGINEERING",
  44. "preconditions": ["管理员拥有责任矩阵权限", "四类设备治理对象已配置"],
  45. "steps": ["读取责任范围和修订号", "检查每个范围的 asset_manager/accountable", "核对设备字段责任覆盖指标"],
  46. "expected": ["设备本体、实体映射、设备质量和质量问题各有一名最终责任人", "台账责任字段本地覆盖率为 4/4"],
  47. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  48. "result": "PASS_LOCAL",
  49. "notes": "企业实际人员名单仍需正式 UAT 替换。"
  50. },
  51. {
  52. "id": "WP14-UAT-004",
  53. "module_ids": ["WP-03"],
  54. "title": "数据源采集任务、来源证据和失败定位",
  55. "actor": "editor",
  56. "acceptance_level": "LOCAL_ENGINEERING",
  57. "preconditions": ["本地示范数据源可用", "编辑者具备采集运行权限"],
  58. "steps": ["读取采集任务列表", "检查目录快照和审计事件", "核对查看者不能启动采集"],
  59. "expected": ["至少存在一条采集任务", "采集审计可定位任务", "查看者无写入入口和权限"],
  60. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  61. "result": "PASS_LOCAL",
  62. "notes": "未在 WP14 重复执行采集,复用 WP03 已形成的不可变证据。"
  63. },
  64. {
  65. "id": "WP14-UAT-005",
  66. "module_ids": ["WP-04"],
  67. "title": "设备资产目录、来源编码和版本追溯",
  68. "actor": "viewer",
  69. "acceptance_level": "LOCAL_ENGINEERING",
  70. "preconditions": ["查看者已登录", "示范资产已入账"],
  71. "steps": ["打开设备台账", "按名称或来源编码检索", "打开追溯查看来源映射和版本"],
  72. "expected": ["显示 4 条资产", "每条资产具有来源编码", "详情可查看来源和版本且无写入按钮"],
  73. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  74. "result": "PASS_LOCAL",
  75. "notes": "本地 4 条资产不能推导企业资产入账率。"
  76. },
  77. {
  78. "id": "WP14-UAT-006",
  79. "module_ids": ["WP-05"],
  80. "title": "设备语义本体和代码集发布状态",
  81. "actor": "admin",
  82. "acceptance_level": "LOCAL_ENGINEERING",
  83. "preconditions": ["设备语义已初始化", "管理员具备发布和复核权限"],
  84. "steps": ["读取设备语义画像", "核对本体版本和发布状态", "检查概念、关系和映射覆盖"],
  85. "expected": ["本体 v1 为 published", "11 类概念、10 条关系、6 个映射齐备", "发布准备状态为 true"],
  86. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  87. "result": "PASS_LOCAL",
  88. "notes": "企业术语和故障代码仍需设备专家确认。"
  89. },
  90. {
  91. "id": "WP14-UAT-007",
  92. "module_ids": ["WP-06"],
  93. "title": "实体匹配解释、审核、合并与回滚证据",
  94. "actor": "admin",
  95. "acceptance_level": "LOCAL_ENGINEERING",
  96. "preconditions": ["存在跨来源候选", "自动合并默认关闭"],
  97. "steps": ["打开实体匹配页面", "检查置信度和逐项信号", "核对已回滚候选的合并和回滚记录"],
  98. "expected": ["候选置信度为 95% 且显示 5/6 信号一致", "状态为已回滚", "原资产和来源映射未被物理删除"],
  99. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  100. "result": "PASS_LOCAL",
  101. "notes": "企业阈值需用真实同一/不同设备标注集确认。"
  102. },
  103. {
  104. "id": "WP14-UAT-008",
  105. "module_ids": ["WP-07"],
  106. "title": "质量策略、运行结果和来源定位",
  107. "actor": "editor",
  108. "acceptance_level": "LOCAL_ENGINEERING",
  109. "preconditions": ["设备质量策略已发布", "编辑者具备执行权限"],
  110. "steps": ["打开设备质量页面", "检查七类规则和发布状态", "读取两次质量运行及违规计数"],
  111. "expected": ["策略 v1 已生效", "显示七类规则", "存在 2 次检查并可查看违规与资产得分"],
  112. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  113. "result": "PASS_LOCAL",
  114. "notes": "WP14 不重复运行质量检查,避免改变示范证据。"
  115. },
  116. {
  117. "id": "WP14-UAT-009",
  118. "module_ids": ["WP-08"],
  119. "title": "质量问题整改、独立复核和关闭时间线",
  120. "actor": "editor",
  121. "acceptance_level": "LOCAL_ENGINEERING",
  122. "preconditions": ["存在一条质量问题", "整改和复核角色已分离"],
  123. "steps": ["打开质量问题列表", "查看问题详情和时间线", "核对创建、分派、开始、提交和关闭审计"],
  124. "expected": ["1 条问题状态为已关闭", "时间线完整", "本地闭环率为 1/1"],
  125. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  126. "result": "PASS_LOCAL",
  127. "notes": "首批企业真实问题闭环率仍需真实 UAT 计算。"
  128. },
  129. {
  130. "id": "WP14-UAT-010",
  131. "module_ids": ["WP-09"],
  132. "title": "设备运行关系和证据不足拒绝确定根因",
  133. "actor": "admin",
  134. "acceptance_level": "LOCAL_ENGINEERING",
  135. "preconditions": ["4 条运行事件和 2 条证据关系已存在", "未关联停机事件可查询"],
  136. "steps": ["打开设备关系与根因页面", "对未关联停机事件执行分析", "检查约束说明"],
  137. "expected": ["页面显示 4 条运行事件", "明确提示证据不足无法确认根因", "不触发自动修复或维修计划"],
  138. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  139. "result": "PASS_LOCAL",
  140. "notes": "根因候选仅为辅助判断。"
  141. },
  142. {
  143. "id": "WP14-UAT-011",
  144. "module_ids": ["WP-10"],
  145. "title": "设备搜索的数据范围授权",
  146. "actor": "viewer",
  147. "acceptance_level": "LOCAL_ENGINEERING",
  148. "preconditions": ["两个设备数据源均为空业务域范围", "管理员与查看者均可登录"],
  149. "steps": ["管理员按源 ID 精确搜索", "查看者用同一源 ID 搜索", "比较证据数量"],
  150. "expected": ["管理员返回 1 条设备证据", "查看者返回 0 条", "服务端授权在检索前生效"],
  151. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  152. "result": "PASS_LOCAL",
  153. "notes": "空范围按设计仅管理员可见。"
  154. },
  155. {
  156. "id": "WP14-UAT-012",
  157. "module_ids": ["WP-10", "WP-12"],
  158. "title": "模型不可用时拒答、保留授权证据并记录审计",
  159. "actor": "admin",
  160. "acceptance_level": "LOCAL_ENGINEERING",
  161. "preconditions": ["设备证据可检索", "本地回答模型未配置"],
  162. "steps": ["询问设备责任人", "检查 answer_status 和引用区域", "检查查询审计不保存原始问题"],
  163. "expected": ["answer_status 为 model_unavailable", "不生成推测性答案", "展示 1 条授权证据并写入查询审计"],
  164. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  165. "result": "PASS_LOCAL",
  166. "notes": "企业黄金集仍需合规模型环境完成。"
  167. },
  168. {
  169. "id": "WP14-UAT-013",
  170. "module_ids": ["WP-11"],
  171. "title": "五项治理指标和明细追溯",
  172. "actor": "admin",
  173. "acceptance_level": "LOCAL_ENGINEERING",
  174. "preconditions": ["管理员可访问全部本地示范范围", "设备、映射和问题数据已存在"],
  175. "steps": ["打开治理运营指标页面", "核对五项分子分母", "检查每项明细入口"],
  176. "expected": ["台账完整率 4/4", "责任覆盖率 4/4", "实体映射率 0/4", "问题闭环率 1/1", "复发率 0/1"],
  177. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  178. "result": "PASS_LOCAL",
  179. "notes": "已回滚实体合并不计入有效映射。"
  180. },
  181. {
  182. "id": "WP14-UAT-014",
  183. "module_ids": ["WP-12"],
  184. "title": "安全检查、六类审计投影和封存证据",
  185. "actor": "admin",
  186. "acceptance_level": "LOCAL_ENGINEERING",
  187. "preconditions": ["独立本地封存密钥已配置", "管理员具备审计权限"],
  188. "steps": ["打开审计与运行证据页面", "检查六项安全检查", "核对六类操作覆盖和两条封存记录"],
  189. "expected": ["六项安全检查通过", "登录、采集、合并、发布、整改和问答审计源均可用", "2 条封存记录可重新校验"],
  190. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
  191. "result": "PASS_LOCAL",
  192. "notes": "本地密钥和封存不替代企业 KMS、WORM 或外部可信时间戳。"
  193. },
  194. {
  195. "id": "WP14-UAT-015",
  196. "module_ids": ["WP-13"],
  197. "title": "离线安装、备份、恢复和回滚入口",
  198. "actor": "admin",
  199. "acceptance_level": "LOCAL_ENGINEERING",
  200. "preconditions": ["WP13 本地恢复演练证据已归档", "离线包和备份清单可校验"],
  201. "steps": ["复核离线包哈希和 11 个镜像", "复核独立项目恢复结果", "复核源项目清理后健康状态"],
  202. "expected": ["公共表 116/116", "审计封存 2/2、资产 4/4、Neo4j 3/3、MinIO 1/1", "前端、后端和 n8n 均返回 200"],
  203. "evidence": ["docs/validation/WP13_DEPLOYMENT_BACKUP_RECOVERY_EVIDENCE.md"],
  204. "result": "PASS_LOCAL",
  205. "notes": "未在 WP14 重复执行 4.2G 离线包恢复演练。"
  206. },
  207. {
  208. "id": "WP14-UAT-016",
  209. "module_ids": ["WP-02", "WP-14"],
  210. "title": "纯查看者界面隐藏写操作入口并明确只读模式",
  211. "actor": "viewer",
  212. "acceptance_level": "LOCAL_ENGINEERING",
  213. "preconditions": ["查看者登录", "WP14-DEF-002 修复已加载"],
  214. "steps": ["打开数据研发中心", "检查可见卡片", "直接访问用户管理页"],
  215. "expected": ["隐藏新建采集和治理评审", "显示 viewer 只读提示", "用户管理页跳转 404 且 API 返回 403"],
  216. "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限", "WP14-DEF-002"],
  217. "result": "PASS_LOCAL",
  218. "notes": "后端权限始终为最终安全边界。"
  219. },
  220. {
  221. "id": "WP14-UAT-017",
  222. "module_ids": ["WP-02", "WP-14"],
  223. "title": "企业实际用户、角色和责任人配置",
  224. "actor": "enterprise_acceptance",
  225. "acceptance_level": "ENTERPRISE_FORMAL",
  226. "preconditions": ["企业提供人员名单", "验收负责人确认职责分工"],
  227. "steps": ["创建或导入企业用户", "配置设备资产管理员、治理人员和查看者", "由各角色执行职责内场景"],
  228. "expected": ["角色和责任矩阵与企业组织一致", "没有越权或职责空缺"],
  229. "evidence": ["企业签字版用户角色矩阵", "企业账号验收记录"],
  230. "result": "BLOCKED_EXTERNAL",
  231. "notes": "当前只有本地示范账号,不能替代企业人员验收。"
  232. },
  233. {
  234. "id": "WP14-UAT-018",
  235. "module_ids": ["WP-03", "WP-04", "WP-05", "WP-06", "WP-07", "WP-08", "WP-09", "WP-11"],
  236. "title": "企业真实设备数据端到端治理闭环",
  237. "actor": "enterprise_acceptance",
  238. "acceptance_level": "ENTERPRISE_FORMAL",
  239. "preconditions": ["企业只读数据源和脱敏样本到位", "字段映射、质量阈值和责任人已确认"],
  240. "steps": ["采集真实设备、维修、故障和告警数据", "完成资产、语义、匹配和质量处理", "关闭首批真实质量问题并核对指标"],
  241. "expected": ["资产入账率和责任覆盖率均不低于 95%", "源编码、回滚和来源定位率为 100%", "首批真实问题闭环率不低于 80%"],
  242. "evidence": ["企业真实数据 UAT 报告", "差异清单和整改时间线"],
  243. "result": "BLOCKED_EXTERNAL",
  244. "notes": "本地示范数据不能替代企业真实数据 UAT。"
  245. },
  246. {
  247. "id": "WP14-UAT-019",
  248. "module_ids": ["WP-10"],
  249. "title": "企业授权范围、合规模型和黄金集验收",
  250. "actor": "enterprise_acceptance",
  251. "acceptance_level": "ENTERPRISE_FORMAL",
  252. "preconditions": ["真实业务域授权配置完成", "合规模型环境可用", "十项黄金集已绑定真实对象"],
  253. "steps": ["由设备专家执行搜索和问答黄金集", "由越权角色执行禁止访问案例", "复核答案、引用、拒答和查询审计"],
  254. "expected": ["有答案场景引用率 100%", "越权证据不返回", "证据不足和模型不可用场景不生成确定性答案"],
  255. "evidence": ["企业专家签字的黄金集结果", "授权与审计记录"],
  256. "result": "BLOCKED_EXTERNAL",
  257. "notes": "当前黄金集仍为待企业绑定模板。"
  258. },
  259. {
  260. "id": "WP14-UAT-020",
  261. "module_ids": ["WP-12", "WP-13"],
  262. "title": "企业断网主机安装和灾备策略验收",
  263. "actor": "enterprise_acceptance",
  264. "acceptance_level": "ENTERPRISE_FORMAL",
  265. "preconditions": ["真实断网干净主机到位", "企业密钥、备份介质、RPO/RTO 和变更窗口已批准"],
  266. "steps": ["在真实主机安装签名离线包", "执行企业规模备份恢复", "执行失败回退和安全抽样"],
  267. "expected": ["安装和恢复各成功一次", "RPO/RTO 达到企业批准值", "密钥、备份和审计责任完成交接"],
  268. "evidence": ["企业环境恢复演练报告", "变更审批和安全签字"],
  269. "result": "BLOCKED_EXTERNAL",
  270. "notes": "本地恢复演练不能形成企业 RTO 承诺。"
  271. },
  272. {
  273. "id": "WP14-UAT-021",
  274. "module_ids": ["WP-14"],
  275. "title": "培训、正式签字和生产运维移交",
  276. "actor": "enterprise_acceptance",
  277. "acceptance_level": "ENTERPRISE_FORMAL",
  278. "preconditions": ["企业 UAT 已完成", "P0 缺陷为 0", "接收人名单和发布窗口已批准"],
  279. "steps": ["完成用户和运维培训", "逐项核对移交清单", "由产品、验收、技术和运维负责人签字"],
  280. "expected": ["培训签到和演练记录齐全", "代码、包、配置、备份和责任全部交接", "正式验收状态有明确签字"],
  281. "evidence": ["签字版 UAT 报告", "签字版移交清单和培训记录"],
  282. "result": "BLOCKED_EXTERNAL",
  283. "notes": "当前已形成材料,等待企业人员实施和签字。"
  284. }
  285. ]
  286. }