| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- {
- "schema_version": "1.0",
- "work_package": "WP-14",
- "generated_at": "2026-07-30",
- "result_definitions": {
- "PASS_LOCAL": "当前本地工程环境已通过,不能据此认定企业正式验收通过",
- "FAIL": "已执行但不符合预期",
- "BLOCKED_EXTERNAL": "需要企业人员、数据、环境或签字,当前不能执行",
- "NOT_RUN": "本轮未执行且不属于外部依赖"
- },
- "cases": [
- {
- "id": "WP14-UAT-001",
- "module_ids": ["WP-02"],
- "title": "管理员创建三级角色账号并正确处理 HTTP 201",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["本地管理员可登录", "用户管理页面可访问"],
- "steps": ["创建 viewer 账号", "创建 editor 账号并检查列表刷新", "完成角色验收后停用两个账号"],
- "expected": ["创建窗口关闭并刷新列表", "角色正确", "停用账号不能再次登录"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限", "WP14-DEF-001"],
- "result": "PASS_LOCAL",
- "notes": "两个临时账号均已停用,重新登录返回 401。"
- },
- {
- "id": "WP14-UAT-002",
- "module_ids": ["WP-02"],
- "title": "管理员、编辑者和查看者权限隔离",
- "actor": "enterprise_acceptance",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["三级角色账号在验收期间为 active", "API 鉴权开启"],
- "steps": ["三类角色分别读取资产和指标", "分别访问用户与审计接口", "分别提交无效资产导入请求"],
- "expected": ["三类角色读取返回 200", "只有管理员访问用户与审计返回 200", "查看者写入返回 403,编辑者和管理员进入业务校验"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限"],
- "result": "PASS_LOCAL",
- "notes": "无效写入仅用于验证权限顺序,不产生资产数据。"
- },
- {
- "id": "WP14-UAT-003",
- "module_ids": ["WP-02", "WP-05", "WP-06", "WP-07", "WP-08"],
- "title": "设备治理责任矩阵和唯一最终责任人",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["管理员拥有责任矩阵权限", "四类设备治理对象已配置"],
- "steps": ["读取责任范围和修订号", "检查每个范围的 asset_manager/accountable", "核对设备字段责任覆盖指标"],
- "expected": ["设备本体、实体映射、设备质量和质量问题各有一名最终责任人", "台账责任字段本地覆盖率为 4/4"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "企业实际人员名单仍需正式 UAT 替换。"
- },
- {
- "id": "WP14-UAT-004",
- "module_ids": ["WP-03"],
- "title": "数据源采集任务、来源证据和失败定位",
- "actor": "editor",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["本地示范数据源可用", "编辑者具备采集运行权限"],
- "steps": ["读取采集任务列表", "检查目录快照和审计事件", "核对查看者不能启动采集"],
- "expected": ["至少存在一条采集任务", "采集审计可定位任务", "查看者无写入入口和权限"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "未在 WP14 重复执行采集,复用 WP03 已形成的不可变证据。"
- },
- {
- "id": "WP14-UAT-005",
- "module_ids": ["WP-04"],
- "title": "设备资产目录、来源编码和版本追溯",
- "actor": "viewer",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["查看者已登录", "示范资产已入账"],
- "steps": ["打开设备台账", "按名称或来源编码检索", "打开追溯查看来源映射和版本"],
- "expected": ["显示 4 条资产", "每条资产具有来源编码", "详情可查看来源和版本且无写入按钮"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "本地 4 条资产不能推导企业资产入账率。"
- },
- {
- "id": "WP14-UAT-006",
- "module_ids": ["WP-05"],
- "title": "设备语义本体和代码集发布状态",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["设备语义已初始化", "管理员具备发布和复核权限"],
- "steps": ["读取设备语义画像", "核对本体版本和发布状态", "检查概念、关系和映射覆盖"],
- "expected": ["本体 v1 为 published", "11 类概念、10 条关系、6 个映射齐备", "发布准备状态为 true"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "企业术语和故障代码仍需设备专家确认。"
- },
- {
- "id": "WP14-UAT-007",
- "module_ids": ["WP-06"],
- "title": "实体匹配解释、审核、合并与回滚证据",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["存在跨来源候选", "自动合并默认关闭"],
- "steps": ["打开实体匹配页面", "检查置信度和逐项信号", "核对已回滚候选的合并和回滚记录"],
- "expected": ["候选置信度为 95% 且显示 5/6 信号一致", "状态为已回滚", "原资产和来源映射未被物理删除"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "企业阈值需用真实同一/不同设备标注集确认。"
- },
- {
- "id": "WP14-UAT-008",
- "module_ids": ["WP-07"],
- "title": "质量策略、运行结果和来源定位",
- "actor": "editor",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["设备质量策略已发布", "编辑者具备执行权限"],
- "steps": ["打开设备质量页面", "检查七类规则和发布状态", "读取两次质量运行及违规计数"],
- "expected": ["策略 v1 已生效", "显示七类规则", "存在 2 次检查并可查看违规与资产得分"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "WP14 不重复运行质量检查,避免改变示范证据。"
- },
- {
- "id": "WP14-UAT-009",
- "module_ids": ["WP-08"],
- "title": "质量问题整改、独立复核和关闭时间线",
- "actor": "editor",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["存在一条质量问题", "整改和复核角色已分离"],
- "steps": ["打开质量问题列表", "查看问题详情和时间线", "核对创建、分派、开始、提交和关闭审计"],
- "expected": ["1 条问题状态为已关闭", "时间线完整", "本地闭环率为 1/1"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "首批企业真实问题闭环率仍需真实 UAT 计算。"
- },
- {
- "id": "WP14-UAT-010",
- "module_ids": ["WP-09"],
- "title": "设备运行关系和证据不足拒绝确定根因",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["4 条运行事件和 2 条证据关系已存在", "未关联停机事件可查询"],
- "steps": ["打开设备关系与根因页面", "对未关联停机事件执行分析", "检查约束说明"],
- "expected": ["页面显示 4 条运行事件", "明确提示证据不足无法确认根因", "不触发自动修复或维修计划"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "根因候选仅为辅助判断。"
- },
- {
- "id": "WP14-UAT-011",
- "module_ids": ["WP-10"],
- "title": "设备搜索的数据范围授权",
- "actor": "viewer",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["两个设备数据源均为空业务域范围", "管理员与查看者均可登录"],
- "steps": ["管理员按源 ID 精确搜索", "查看者用同一源 ID 搜索", "比较证据数量"],
- "expected": ["管理员返回 1 条设备证据", "查看者返回 0 条", "服务端授权在检索前生效"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "空范围按设计仅管理员可见。"
- },
- {
- "id": "WP14-UAT-012",
- "module_ids": ["WP-10", "WP-12"],
- "title": "模型不可用时拒答、保留授权证据并记录审计",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["设备证据可检索", "本地回答模型未配置"],
- "steps": ["询问设备责任人", "检查 answer_status 和引用区域", "检查查询审计不保存原始问题"],
- "expected": ["answer_status 为 model_unavailable", "不生成推测性答案", "展示 1 条授权证据并写入查询审计"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "企业黄金集仍需合规模型环境完成。"
- },
- {
- "id": "WP14-UAT-013",
- "module_ids": ["WP-11"],
- "title": "五项治理指标和明细追溯",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["管理员可访问全部本地示范范围", "设备、映射和问题数据已存在"],
- "steps": ["打开治理运营指标页面", "核对五项分子分母", "检查每项明细入口"],
- "expected": ["台账完整率 4/4", "责任覆盖率 4/4", "实体映射率 0/4", "问题闭环率 1/1", "复发率 0/1"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "已回滚实体合并不计入有效映射。"
- },
- {
- "id": "WP14-UAT-014",
- "module_ids": ["WP-12"],
- "title": "安全检查、六类审计投影和封存证据",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["独立本地封存密钥已配置", "管理员具备审计权限"],
- "steps": ["打开审计与运行证据页面", "检查六项安全检查", "核对六类操作覆盖和两条封存记录"],
- "expected": ["六项安全检查通过", "登录、采集、合并、发布、整改和问答审计源均可用", "2 条封存记录可重新校验"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#业务场景"],
- "result": "PASS_LOCAL",
- "notes": "本地密钥和封存不替代企业 KMS、WORM 或外部可信时间戳。"
- },
- {
- "id": "WP14-UAT-015",
- "module_ids": ["WP-13"],
- "title": "离线安装、备份、恢复和回滚入口",
- "actor": "admin",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["WP13 本地恢复演练证据已归档", "离线包和备份清单可校验"],
- "steps": ["复核离线包哈希和 11 个镜像", "复核独立项目恢复结果", "复核源项目清理后健康状态"],
- "expected": ["公共表 116/116", "审计封存 2/2、资产 4/4、Neo4j 3/3、MinIO 1/1", "前端、后端和 n8n 均返回 200"],
- "evidence": ["docs/validation/WP13_DEPLOYMENT_BACKUP_RECOVERY_EVIDENCE.md"],
- "result": "PASS_LOCAL",
- "notes": "未在 WP14 重复执行 4.2G 离线包恢复演练。"
- },
- {
- "id": "WP14-UAT-016",
- "module_ids": ["WP-02", "WP-14"],
- "title": "纯查看者界面隐藏写操作入口并明确只读模式",
- "actor": "viewer",
- "acceptance_level": "LOCAL_ENGINEERING",
- "preconditions": ["查看者登录", "WP14-DEF-002 修复已加载"],
- "steps": ["打开数据研发中心", "检查可见卡片", "直接访问用户管理页"],
- "expected": ["隐藏新建采集和治理评审", "显示 viewer 只读提示", "用户管理页跳转 404 且 API 返回 403"],
- "evidence": ["WP14_UAT_HANDOVER_EVIDENCE.md#角色与权限", "WP14-DEF-002"],
- "result": "PASS_LOCAL",
- "notes": "后端权限始终为最终安全边界。"
- },
- {
- "id": "WP14-UAT-017",
- "module_ids": ["WP-02", "WP-14"],
- "title": "企业实际用户、角色和责任人配置",
- "actor": "enterprise_acceptance",
- "acceptance_level": "ENTERPRISE_FORMAL",
- "preconditions": ["企业提供人员名单", "验收负责人确认职责分工"],
- "steps": ["创建或导入企业用户", "配置设备资产管理员、治理人员和查看者", "由各角色执行职责内场景"],
- "expected": ["角色和责任矩阵与企业组织一致", "没有越权或职责空缺"],
- "evidence": ["企业签字版用户角色矩阵", "企业账号验收记录"],
- "result": "BLOCKED_EXTERNAL",
- "notes": "当前只有本地示范账号,不能替代企业人员验收。"
- },
- {
- "id": "WP14-UAT-018",
- "module_ids": ["WP-03", "WP-04", "WP-05", "WP-06", "WP-07", "WP-08", "WP-09", "WP-11"],
- "title": "企业真实设备数据端到端治理闭环",
- "actor": "enterprise_acceptance",
- "acceptance_level": "ENTERPRISE_FORMAL",
- "preconditions": ["企业只读数据源和脱敏样本到位", "字段映射、质量阈值和责任人已确认"],
- "steps": ["采集真实设备、维修、故障和告警数据", "完成资产、语义、匹配和质量处理", "关闭首批真实质量问题并核对指标"],
- "expected": ["资产入账率和责任覆盖率均不低于 95%", "源编码、回滚和来源定位率为 100%", "首批真实问题闭环率不低于 80%"],
- "evidence": ["企业真实数据 UAT 报告", "差异清单和整改时间线"],
- "result": "BLOCKED_EXTERNAL",
- "notes": "本地示范数据不能替代企业真实数据 UAT。"
- },
- {
- "id": "WP14-UAT-019",
- "module_ids": ["WP-10"],
- "title": "企业授权范围、合规模型和黄金集验收",
- "actor": "enterprise_acceptance",
- "acceptance_level": "ENTERPRISE_FORMAL",
- "preconditions": ["真实业务域授权配置完成", "合规模型环境可用", "十项黄金集已绑定真实对象"],
- "steps": ["由设备专家执行搜索和问答黄金集", "由越权角色执行禁止访问案例", "复核答案、引用、拒答和查询审计"],
- "expected": ["有答案场景引用率 100%", "越权证据不返回", "证据不足和模型不可用场景不生成确定性答案"],
- "evidence": ["企业专家签字的黄金集结果", "授权与审计记录"],
- "result": "BLOCKED_EXTERNAL",
- "notes": "当前黄金集仍为待企业绑定模板。"
- },
- {
- "id": "WP14-UAT-020",
- "module_ids": ["WP-12", "WP-13"],
- "title": "企业断网主机安装和灾备策略验收",
- "actor": "enterprise_acceptance",
- "acceptance_level": "ENTERPRISE_FORMAL",
- "preconditions": ["真实断网干净主机到位", "企业密钥、备份介质、RPO/RTO 和变更窗口已批准"],
- "steps": ["在真实主机安装签名离线包", "执行企业规模备份恢复", "执行失败回退和安全抽样"],
- "expected": ["安装和恢复各成功一次", "RPO/RTO 达到企业批准值", "密钥、备份和审计责任完成交接"],
- "evidence": ["企业环境恢复演练报告", "变更审批和安全签字"],
- "result": "BLOCKED_EXTERNAL",
- "notes": "本地恢复演练不能形成企业 RTO 承诺。"
- },
- {
- "id": "WP14-UAT-021",
- "module_ids": ["WP-14"],
- "title": "培训、正式签字和生产运维移交",
- "actor": "enterprise_acceptance",
- "acceptance_level": "ENTERPRISE_FORMAL",
- "preconditions": ["企业 UAT 已完成", "P0 缺陷为 0", "接收人名单和发布窗口已批准"],
- "steps": ["完成用户和运维培训", "逐项核对移交清单", "由产品、验收、技术和运维负责人签字"],
- "expected": ["培训签到和演练记录齐全", "代码、包、配置、备份和责任全部交接", "正式验收状态有明确签字"],
- "evidence": ["签字版 UAT 报告", "签字版移交清单和培训记录"],
- "result": "BLOCKED_EXTERNAL",
- "notes": "当前已形成材料,等待企业人员实施和签字。"
- }
- ]
- }
|