Files
supply-intelligence/test/CASES.md
2026-05-07 10:16:46 +08:00

99 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Supply-Intelligence 测试用例
> 版本v1.0 | 状态:初稿
---
## AC-01 探针覆盖度
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-01.1 | 99% 覆盖率达标 | 插入 100 条测试账号 | 1. 等待 15 分钟 2. 统计探针日志 | 探针覆盖率 ≥ 99% | P0 |
| TC-01.2 | 探针周期可配置 | 已配置探针任务 | 1. 修改探针周期为 3 分钟 2. 等待 60 秒 | 周期在 60 秒内生效 | P1 |
## AC-02 状态变更正确性
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-02.1 | active → suspended | 账号为 active | 1. Mock 返回 401 | 60s 内状态变为 suspended | P0 |
| TC-02.2 | suspended → disabled | 账号为 suspended | 1. Mock 连续 3 次返回 401 | 60s 内状态变为 disabled | P0 |
| TC-02.3 | 429 不变更 | 账号为 active | 1. Mock 返回 429 | 15 分钟内状态保持 active | P0 |
| TC-02.4 | 状态机违规 | 账号为 active | 1. 尝试直接变更为 disabled | 被拒绝,返回错误码 | P0 |
| TC-02.5 | 状态回复 | 账号为 suspended | 1. Mock 返回 200 | 60s 内状态变为 active | P1 |
## AC-03 误报率
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-03.1 | 7 天误报率 | 全部账号正常 | 1. 运行 7 天 2. 统计状态误变更次数 | 误报率 ≤ 1% | P0 |
## AC-04 新模型发现延迟
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-04.1 | 2h 内发现 | 已对接供应商 | 1. T0 在 Mock 响应中新增 model_id 2. T0+2h 查询数据库 | candidate 存在status=discovered | P0 |
## AC-05 已下架模型告警
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-05.1 | 不自动下架 | package 为 active | 1. 从 Mock 中移除 model_id 2. 等待 2h | package 状态保持 active | P0 |
| TC-05.2 | 生成告警待办 | package 为 active | 1. 从 Mock 中移除 model_id 2. 等待 2h | 运营工作台出现告警 | P0 |
## AC-06 准入测试通过
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-06.1 | 测试通过 | candidate 为 discovered | 1. 触发准入测试 2. 等待 30min | 状态变为 test_passed生成 package 草稿 | P0 |
| TC-06.2 | 草稿字段完整 | 测试通过后 | 1. 查询生成的 package 草稿 | 包含 platform、model、price 字段 | P1 |
## AC-07 准入测试失败
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-07.1 | 接口返回 500 | candidate 为 discovered | 1. Mock 返回 500 2. 等待测试完成 | 状态变为 test_failedfailure_reason 非空 | P0 |
| TC-07.2 | 前端展示 | candidate 为 test_failed | 1. 访问运营工作台 | 展示失败详情 | P1 |
## AC-08 自动注册成功
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-08.1 | 注册流程 | 已配置白名单 | 1. 触发自动注册 2. 等待 30min | 新增 active 账号 | P0 |
| TC-08.2 | 密钥加密 | 注册完成后 | 1. 查询数据库 | API Key 已加密存储 | P1 |
## AC-09 自动注册 fail-closed
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-09.1 | 网关不可用 | 配置启用 | 1. Mock 邮件网关返回 503 2. 等待 60s | 任务状态为 failed审计日志记录失败 | P0 |
| TC-09.2 | 不返回成功 | 注册失败后 | 1. 检查对上游响应 | 不返回成功状态码 | P0 |
## AC-10 审计日志完整性
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-10.1 | 字段完整性 | 触发操作后 | 1. 5s 内查询审计日志 | 包含所有必要字段 | P0 |
| TC-10.2 | 自动化操作审计 | 自动化操作后 | 1. 查询审计日志 | 存在对应记录 | P0 |
## AC-11 运营工作台干预
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-11.1 | 一键上架 | package 为 draft | 1. 点击确认上架 2. 等待 3s | 状态变为 active | P0 |
| TC-11.2 | 忽略模型 | candidate 为 discovered | 1. 点击忽略 | 不在待处理列表中7 天后恢复 | P0 |
## AC-12 配置热更新
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-12.1 | 探针周期热更新 | 已运行 | 1. 修改配置 2. 观察调度行为 | 60s 内生效 | P1 |
## 边缘场景 / 失败路径
| 用例编号 | 名称 | 前置条件 | 测试步骤 | 预期结果 | 优先级 |
|---------|------|---------|---------|---------|--------|
| TC-E1 | DNS 失败 | 探针任务已配置 | 1. 模拟 DNS 解析失败 | 状态不变更,记录日志 | P1 |
| TC-E2 | 空响应体 | 探针任务已配置 | 1. Mock 返回空 JSON | 状态不变更,记录日志 | P1 |
| TC-E3 | 并发乐观锁 | 探针任务已配置 | 1. 同时触发手动更新和探针 | 乐观锁冲突,探针记录失败 | P1 |
| TC-E4 | 测试账号不可用 | 准入测试进行中 | 1. 将测试账号标记为 suspended | 测试标记为 failed原因为 test_account_unavailable | P1 |