Files
silk/docs/acceptance/core-e2e-cases.md
T
2026-08-17 21:43:26 +08:00

3.8 KiB
Raw Blame History

核心端到端验收用例

执行环境:开发服务器或隔离试点环境。每条用例记录:日期、执行人、环境、结果、失败原因、证据截图/日志。

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 和失败项。

E2E-11 跨组织对象访问返回 403

  1. 创建组织 A/B,并将不同蚕房分别归属到 A/B。
  2. 创建仅属于组织 A 的用户和仅属于组织 B 的用户。
  3. 使用 B 用户访问 A 的蚕房、设备、遥测、控制、巡检、检测、会诊、溯源、录像等对象。
  4. 期望详情/写操作返回 403,列表不返回 A 组织数据,WebSocket 订阅被拒绝。
  5. 记录接口清单和证据。

当前状态:本地 Go/WS 单测已覆盖对象授权,待 v9 部署后执行真实账号联调。

2026-08-14 开发服务器执行结果

环境:100.83.103.1Go schema v8Web :5174AI :8000mock)。

用例 结果 说明
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 备份恢复至隔离库,核心表数量与生产库一致