# 核心端到端验收用例 执行环境:开发服务器或隔离试点环境。每条用例记录:日期、执行人、环境、结果、失败原因、证据截图/日志。 ## E2E-01 healthy 图片不触发检测 1. 使用真实或 mock healthy 图片上传巡检。 2. 期望 `abnormalProbability=0`,风险不因 healthy 高置信度升高。 3. 期望不创建待确认检测任务。 ## E2E-02 sick/橙色风险只创建一个待确认任务 1. 上传产生橙色风险的非 mock 巡检。 2. 等待 Outbox worker。 3. 查询 `/detection-tasks?sourceType=inspection`,同巡检只出现一个任务。 ## E2E-03 AI 失败可重试且不产生虚假风险 1. 停止 AI 服务后上传巡检。 2. 期望 `aiStatus=failed`、无风险分。 3. 恢复 AI 后重试,期望成功且使用同一幂等键不重复记录。 ## E2E-04 qPCR 无效不确诊 1. 按当前规则录入无有效对照或无效结果。 2. 期望 `result=invalid`,不创建 `DiseaseEvent`。 ## E2E-05 有效阳性创建发病事件并自动溯源 1. LAMP 或统一检测任务录入 `positive`。 2. 期望创建 `DiseaseEvent`。 3. 期望自动创建关联 `TraceRecord`,状态为 `pending`。 ## E2E-06 无权用户访问受保护资源返回 403 1. 使用无权限用户访问视频、设备控制、WebSocket 设备订阅。 2. 期望业务接口 403,WebSocket 返回拒绝事件。 ## E2E-07 离线巡检重启后仅同步一次 1. 断网拍照入队。 2. 重启小程序。 3. 联网后触发同步。 4. 期望服务端仅一条记录,离线队列转为 `synced`。 ## E2E-08 通知失败重试且状态可查 1. 制造微信/通道失败事件。 2. 等待重试或最终失败。 3. 期望 `notifications` 状态、尝试次数、错误可查询。 ## E2E-09 服务重启后任务/通知/吊销状态保持 1. 创建 pending 事件、Outbox、token 吊销。 2. 重启 Go 服务。 3. 期望任务和通知继续处理,吊销仍生效。 ## E2E-10 备份恢复后核心记录与对象引用一致 1. 按 `docs/operations/backup-restore-drill.md` 恢复。 2. 核对巡检、检测、会诊、溯源、图片/光谱/录像引用。 3. 记录 RPO/RTO 和失败项。