80 lines
3.2 KiB
Markdown
80 lines
3.2 KiB
Markdown
# 核心端到端验收用例
|
||
|
||
执行环境:开发服务器或隔离试点环境。每条用例记录:日期、执行人、环境、结果、失败原因、证据截图/日志。
|
||
|
||
## 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 和失败项。
|
||
|
||
## 2026-08-14 开发服务器执行结果
|
||
|
||
环境:`100.83.103.1`,Go schema v8,Web :5174,AI :8000(mock)。
|
||
|
||
| 用例 | 结果 | 说明 |
|
||
|---|---|---|
|
||
| E2E-01 | PASS | healthy 图片 riskScore=0/riskLevel=green,未创建检测任务 |
|
||
| E2E-02 | BLOCKED | mock 结果为 `isMock=true`,按设计不进入生产检测任务;待真实模型后执行 |
|
||
| E2E-03 | PASS | AI 停止时 `aiStatus=failed` 且无风险;同一幂等键返回原失败记录,恢复后新键上传成功 |
|
||
| E2E-04 | PASS | qPCR `invalid` 未创建 DiseaseEvent |
|
||
| E2E-05 | PASS | LAMP `positive` 创建 1 个 confirmed DiseaseEvent 和 1 个 TraceRecord |
|
||
| E2E-06 | PASS | 普通 viewer 调用控制接口和创建检测任务均 403 |
|
||
| E2E-07 | PASS(单元) | 队列单测 5/5;微信开发者工具离线重启截图取证未执行 |
|
||
| E2E-08 | PASS | 未配置微信的 Outbox 事件进入 retry,通知表保留尝试次数和错误 |
|
||
| E2E-09 | PASS | 吊销 token 后重启 Go,旧 token 仍 401,业务数据保持 |
|
||
| E2E-10 | PASS | 备份恢复至隔离库,核心表数量与生产库一致 |
|