关联场景:
../user-scenarios/05-admin.md。对应 e2e:../e2e/roles/admin/*.spec.js、../e2e/article-management.spec.js、../e2e/health-knowledge-base.spec.js、../e2e/health-report-audit.spec.js。
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-01 | A-1 | 认证 | 运营 | P0 | 接口 | admin 账号 | 1. 管理端密码登录 | 登录进入 Dashboard;错误密码不签发 token | AdminAuthController |
e2e/roles/admin/login.spec.js |
| TC-A-02 | A-1 | 统计 | 运营 | P1 | 功能 | 有业务数据 | 1. 打开任务统计页 | 显示任务总量/完成率,与库内一致 | StatsController |
e2e/admin-panel.spec.js |
| TC-A-03 | A-2 | 方案管理 | 运营 | P1 | 功能 | 多家庭方案 | 1. 打开方案管理页(不筛家庭) | 列出全部方案(含 source/进度/审核时间);可筛状态 | 方案管理(全量) | — |
| TC-A-04 | A-2 | 方案激活 | 运营 | P1 | 功能 | reviewed 方案 | 1. 对 reviewed 方案点击激活 | 生成任务成功,提示成功 | 方案激活 | — |
| TC-A-05 | A-2 | 报告解析 | 运营 | P1 | 功能 | gut_flora 已注册 | 1. 打开报告解析中台 | 类型列表返回≥1 条(含 gut_flora) | AdminReportParserController |
e2e/health-report-audit.spec.js |
| TC-A-06 | A-2 | 报告解析 | 运营 | P1 | 接口 | — | 1. POST /api/admin/report-parser/types/save(typeId/显示名/路径/threshold) 2. 重复同 typeId |
保存成功列表可见;重复 typeId 被拒绝 | 报告类型注册 | — |
| TC-A-07 | A-2 | 报告解析 | 运营 | P2 | 功能 | 有未知报告上传 | 1. 打开未知报告聚类 2. 查看上传 3. 自学习生成类型 | 聚类列表可见;可自学习生成类型 | 未知聚类自学习 | — |
| TC-A-08 | A-3 | 文章 | 运营 | P0 | 功能 | 文章素材 | 1. 创建文章→提交审核→通过 2. 长文(8000字)创建+更新 | 创建 1s 内返回成功(无超时);审核通过 C 端可见;长文稳定 | 文章发布-审核 | e2e/article-management.spec.js |
| TC-A-09 | A-3 | 文章·去重 | 运营 | P1 | 异常 | 已有文章标题 | 1. 同标题重复创建 | 第二次被拦截(标题已存在) | 文章标题去重 | — |
| TC-A-10 | A-4 | 关系类型 | 运营 | P1 | 功能 | 关系类型管理页 | 1. 新增/编辑/停用关系类型 | 操作成功;家长端关系选择器同步生效 | 关系类型 CRUD | e2e/roles/admin/../relationship |
| TC-A-11 | A-4 | 勋章 | 运营 | P0 | 接口 | 勋章素材 | 1. POST 创建勋章(名称/图标/触发条件/门槛) |
200 成功,badgeId 自动生成,列表可见 | 勋章管理;黑盒回归 | e2e/points-system.spec.js(参考) |
| TC-A-12 | A-4 | 供应商 | 运营 | P0 | 接口 | 供应商素材 | 1. POST /api/admin/ecom-supplier/save(昵称/手机号/真实姓名) |
200 成功,列表 name=昵称;同手机号重复被拒/可控覆盖 | 供应商管理;黑盒回归 | e2e/roles/admin/vendor/management.spec.js |
| TC-A-13 | A-5 | 活动 | 运营 | P1 | 功能 | 草稿活动 | 1. 草稿→提交审核→通过→撤回→退回草稿 | 状态流转正确;已发布可撤回;全流程无 500 | 活动审核撤回;黑盒回归 | e2e/roles/admin/activity-review.spec.js |
| TC-A-14 | A-6 | 知识库 | 运营 | P1 | 接口 | 知识条目存在(如 id=1) | 1. 删除知识条目 | 200 成功,列表移除,无 500 | 知识库管理;黑盒回归 | e2e/health-knowledge-base.spec.js |
| TC-A-15 | A-6 | 数据迁移 | 运营 | P2 | 功能 | sfms 源就绪 | 1. 执行 sfms→cfc 迁移 | 接口返回成功,关键业务表数据量更新;失败回滚+明确错误 | 多数据源/SfmsDataSourceConfig | — |
| TC-A-16 | A-7 | 参数校验 | 运营 | P0 | 异常 | 各管理接口可用 | 1. 各接口传空 body/错类型字段 | 返回 400 + 具体字段提示(不再裸 500) | 统一 Result<T>+全局异常;黑盒回归 |
e2e/admin-panel.spec.js |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-17 | A-16 | /api/admin/report-parser/* | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:看未知类型 → 标类别 → 生效 2. 观察结果 | 达成目标:标注未知聚类;边界:新类先注册再解析 | /api/admin/report-parser/* | — |
| TC-A-18 | A-17 | 优惠券/活动管理 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:建券/活动 → 设规则/名额 → 上线 2. 观察结果 | 达成目标:后台配券建活动;边界:时间冲突校验;名额超卖配置保护 | 优惠券/活动管理 | — |
| TC-A-19 | A-18 | 内容安全 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:队列 → 通过/下架 2. 观察结果 | 达成目标:审 UGC/AI;边界:敏感词命中拦截 | 内容安全 | — |
| TC-A-20 | A-19 | GDPR 工单 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:接工单 → 执行归档/导出 2. 观察结果 | 达成目标:处理用户注销/导出;边界:审计留痕;冷静期 | GDPR 工单 | — |
| TC-A-21 | A-20 | 网关/限流 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:配限流规则 → 生效 2. 观察结果 | 达成目标:接口防护;边界:误杀白名单 | 网关/限流 | — |
| TC-A-22 | A-21 | 模型管理 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:版控/上下线 2. 观察结果 | 达成目标:模型版本/开关;边界:下线前回退方案 | 模型管理 | — |
| TC-A-23 | A-22 | 知识库 | 运营 | P1 | 功能 | 已登录(默认 运营);相关前置数据就绪 | 1. 按场景流程执行:CRUD → 同步 2. 观察结果 | 达成目标:维护营养知识;边界:同步失败重试 | 知识库 | — |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-01-E | A-1 | 认证 | 运营 | P2 | 异常 | admin 账号 | 1. 密码错误超 5 次 2. token 过期访问 3. 弱密码(如 123456)设新密码 | 错误密码不签发 token 且提示次数限制/锁定;过期 token 401 跳登录;弱密码 400 拦截 | AdminAuthController |
— |
| TC-A-02-E | A-1 | 统计 | 运营 | P2 | 异常 | 有业务数据 | 1. 统计接口超时/库内无数据 2. 时间范围非法(起>止) | 超时降级提示非500;无数据显示『暂无数据』;时间非法 400 | StatsController |
— |
| TC-A-03-E | A-2 | 方案管理 | 运营 | P2 | 异常 | 多家庭方案 | 1. 方案列表接口超时 2. 状态筛选值非法 3. 跨家庭方案数据隔离 | 超时降级非500;非法筛选 400;仅返回有权家庭数据不串 | 方案管理(全量) | — |
| TC-A-04-E | A-2 | 方案激活 | 运营 | P2 | 异常 | reviewed 方案 | 1. 激活非 reviewed 方案 2. 激活时任务分解服务超时 3. 并发激活同一方案 | 非 reviewed 激活拦截;超时回滚不残半任务;并发幂等仅生成 1 次任务 | 方案激活 | — |
| TC-A-05-E | A-2 | 报告解析 | 运营 | P2 | 异常 | gut_flora 已注册 | 1. 类型列表接口超时 2. 注册重复 typeId 3. 类型路径非法 | 超时降级非500;重复 typeId 400 拒绝;路径非法 400 | AdminReportParserController |
— |
| TC-A-06-E | A-2 | 报告解析 | 运营 | P2 | 异常 | — | 1. 重复 typeId 保存 2. 必填缺失(无 typeId/显示名) 3. threshold 非法(负) | 重复 typeId 拒绝;必填缺失 400;threshold 非法 400 | 报告类型注册 | — |
| TC-A-07-E | A-2 | 报告解析 | 运营 | P3 | 异常 | 有未知报告上传 | 1. 未知聚类列表接口超时 2. 自学习生成的类型与已注册重名 | 超时降级非500;重名类型生成被拒/提示已存在 | 未知聚类自学习 | — |
| TC-A-08-E | A-3 | 文章 | 运营 | P2 | 异常 | 文章素材 | 1. 重复创建同标题文章 2. 长文(8000字)提交时网络中断 3. 标题含注入 | 同标题 400『标题已存在』;长文提交超时重试不丢稿;注入 400 或转义 | 文章发布-审核 | — |
| TC-A-09-E | A-3 | 文章·去重 | 运营 | P2 | 异常 | 已有文章标题 | 1. 同标题重复创建 2. 标题空/超长 | 重复创建被拦截提示标题已存在;空/超长 400 | 文章标题去重 | — |
| TC-A-10-E | A-4 | 关系类型 | 运营 | P2 | 异常 | 关系类型管理页 | 1. 新增重名关系类型 2. 停用后被引用的关系类型 3. 名称含注入 | 重名拒绝;停用被引用类型提示先解绑;注入 400/转义;家长端选择器同步生效仍正确 | 关系类型 CRUD | — |
| TC-A-11-E | A-4 | 勋章 | 运营 | P2 | 异常 | 勋章素材 | 1. 重复 POST 同名称勋章 2. 触发条件/门槛非法(负) 3. 并发创建 | 重复 400/幂等;非法门槛 400;并发创建各自独立不串 | 勋章管理;黑盒回归 | — |
| TC-A-12-E | A-4 | 供应商 | 运营 | P2 | 异常 | 供应商素材 | 1. 同手机号重复保存 2. 手机号格式非法 3. 必填缺失(无真实姓名) | 同手机号拒绝/可控覆盖;非法格式 400;必填缺失 400;列表 name=昵称正确 | 供应商管理;黑盒回归 | — |
| TC-A-13-E | A-5 | 活动 | 运营 | P2 | 异常 | 草稿活动 | 1. 活动已发布后再『提交审核』 2. 撤回非本人创建活动 3. 时间冲突(起<止非法) | 已发布再提交审核守卫拦截;非本人撤回 403;时间冲突 400;撤回退回草稿 | 活动审核撤回;黑盒回归 | — |
| TC-A-14-E | A-6 | 知识库 | 运营 | P2 | 异常 | 知识条目存在(如 id=1) | 1. 删除被方案/文章引用的知识条目 2. 删除不存在 id 3. 并发删除同 id | 被引用删除提示先解绑;不存在 404;并发删除幂等 | 知识库管理;黑盒回归 | — |
| TC-A-15-E | A-6 | 数据迁移 | 运营 | P3 | 异常 | sfms 源就绪 | 1. 迁移中源连接中断 2. 目标表锁 3. 重复执行迁移 | 中断回滚+明确错误非500;锁等待超时提示;重复执行幂等/提示已迁移 | 多数据源/SfmsDataSourceConfig | — |
| TC-A-16-E | A-7 | 参数校验 | 运营 | P2 | 异常 | 各管理接口可用 | 1. 各接口传空 body 2. 字段类型错配(字符串传数字位) 3. 超长字段 | 空 body 400 含具体字段提示;类型错配 400;超长 400;不再裸 500 | 统一 Result<T>+全局异常;黑盒回归 |
— |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-17-E | A-16 | /api/admin/report-parser/* | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 标注未知聚类时类目重名 2. 生效未注册路径 | 重名类目拒绝;未注册路径 400;先注册再解析 | /api/admin/report-parser/* | — |
| TC-A-18-E | A-17 | 优惠券/活动管理 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 券时间冲突(起>止) 2. 名额配置超卖保护 3. 重复提交同活动 | 时间冲突 400;名额超卖配置保护生效;重复提交幂等 | 优惠券/活动管理 | — |
| TC-A-19-E | A-18 | 内容安全 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 审核队列接口超时 2. 命中敏感词内容通过 | 超时降级非500;命中敏感词强制拦截不放行 | 内容安全 | — |
| TC-A-20-E | A-19 | GDPR 工单 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 并发处理同用户注销+导出工单 2. 越权处理他人工单 | 并发安全:注销与导出按序执行不冲突;越权工单 403 | GDPR 工单 | — |
| TC-A-21-E | A-20 | 网关/限流 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 限流规则误杀白名单 IP 2. 规则配置非法(负阈值) | 白名单不被限流;非法阈值 400;规则生效可控 | 网关/限流 | — |
| TC-A-22-E | A-21 | 模型管理 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 下线模型无回退方案 2. 上线非法模型版本 | 无回退方案拦截下线;非法版本 400;上下线版控正确 | 模型管理 | — |
| TC-A-23-E | A-22 | 知识库 | 运营 | P2 | 异常 | 已登录(默认 运营);相关前置数据就绪 | 1. 同步失败(网络抖动) 2. 并发 CRUD 同条目 | 同步失败自动重试非500;并发 CRUD 乐观锁不互相覆盖 | 知识库 | — |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-01-P | A-1 | 认证 | 运营 | P1 | 权限 | admin 账号 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | AdminAuthController |
— |
| TC-A-02-P | A-1 | 统计 | 运营 | P1 | 权限 | 有业务数据 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | StatsController |
— |
| TC-A-03-P | A-2 | 方案管理 | 运营 | P1 | 权限 | 多家庭方案 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 方案管理(全量) | — |
| TC-A-04-P | A-2 | 方案激活 | 运营 | P1 | 权限 | reviewed 方案 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 方案激活 | — |
| TC-A-05-P | A-2 | 报告解析 | 运营 | P1 | 权限 | gut_flora 已注册 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | AdminReportParserController |
— |
| TC-A-06-P | A-2 | 报告解析 | 运营 | P1 | 权限 | — | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 报告类型注册 | — |
| TC-A-07-P | A-2 | 报告解析 | 运营 | P2 | 权限 | 有未知报告上传 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 未知聚类自学习 | — |
| TC-A-08-P | A-3 | 文章 | 运营 | P1 | 权限 | 文章素材 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 文章发布-审核 | — |
| TC-A-09-P | A-3 | 文章·去重 | 运营 | P1 | 权限 | 已有文章标题 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 文章标题去重 | — |
| TC-A-10-P | A-4 | 关系类型 | 运营 | P1 | 权限 | 关系类型管理页 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 关系类型 CRUD | — |
| TC-A-11-P | A-4 | 勋章 | 运营 | P1 | 权限 | 勋章素材 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 勋章管理;黑盒回归 | — |
| TC-A-12-P | A-4 | 供应商 | 运营 | P1 | 权限 | 供应商素材 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 供应商管理;黑盒回归 | — |
| TC-A-13-P | A-5 | 活动 | 运营 | P1 | 权限 | 草稿活动 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 活动审核撤回;黑盒回归 | — |
| TC-A-14-P | A-6 | 知识库 | 运营 | P1 | 权限 | 知识条目存在(如 id=1) | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 知识库管理;黑盒回归 | — |
| TC-A-15-P | A-6 | 数据迁移 | 运营 | P2 | 权限 | sfms 源就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 多数据源/SfmsDataSourceConfig | — |
| TC-A-16-P | A-7 | 参数校验 | 运营 | P1 | 权限 | 各管理接口可用 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察 | 非 admin 角色访问管理端接口统一 401/403,不泄露后台数据 | 统一 Result<T>+全局异常;黑盒回归 |
— |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-17-P | A-16 | /api/admin/report-parser/* | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | /api/admin/report-parser/* | — |
| TC-A-18-P | A-17 | 优惠券/活动管理 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | 优惠券/活动管理 | — |
| TC-A-19-P | A-18 | 内容安全 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | 内容安全 | — |
| TC-A-20-P | A-19 | GDPR 工单 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | GDPR 工单 | — |
| TC-A-21-P | A-20 | 网关/限流 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | 网关/限流 | — |
| TC-A-22-P | A-21 | 模型管理 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | 模型管理 | — |
| TC-A-23-P | A-22 | 知识库 | 运营 | P1 | 权限 | 已登录(默认 运营);相关前置数据就绪 | 1. 非 admin 角色访问管理端接口(统计/方案/报告解析/商品/勋章/供应商/活动/知识库) 2. 观察拦截 | 非 admin 角色访问统一 401/403,不泄露后台数据 | 知识库 | — |
完整用户故事见
../user-scenarios/07-five-dimension.md(ED-13~14)。每条含正常流 + 具体异常流(-E) + 权限流(-P)。
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-25 | SC-A-25 | 维度/权重/上限配置 | 运营 | P1 | 功能 | 维度/权重/DailyLimit 配置管理接口可用 |
1. 对维度/权重/每日上限做 CRUD 2. 查变更生效 | 变更生效、后续能量按新配置;存量影响提示 | DimensionConfigController/DimensionWeightController |
tests/e2e/energy-rules-config.spec.js |
| TC-A-26 | SC-A-26 | 能量/归因权重 | 运营 | P1 | 功能 | AttributionWeights/configureSourceRatios 可用 |
1. 调整来源比例/归因权重 2. 查审计与概览影响 | 全局生效;变更写审计;概览/沙盘/天盘影响可观测 | EnergyController/AttributionWeights |
— |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-25-E | SC-A-25 | 维度/权重/上限配置 | 运营 | P2 | 异常 | 配置可用 + 造"删除被引用维度""权重非法""上限非法" | 1. 删除被引用维度 2. 权重/上限非法(负/超界/和≠100%)3. 并发改同配置 | 1. 需确认/拒、不级联破坏存量 2. 400 拦截 3. 乐观锁/版本控制不互相覆盖 | DimensionConfigController |
— |
| TC-A-26-E | SC-A-26 | 能量/归因权重 | 运营 | P2 | 异常 | 配置可用 + 造"比例非法""未同步" | 1. 比例非法(负/超 1/和≠1)2. 配置未同步计算节点 | 1. 400 拦截 2. 展示兜底并提示、不静默错算 | EnergyController/AttributionWeights |
— |
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-25-P | SC-A-25 | 维度/权重/上限配置 | 运营 | P1 | 权限 | 运营 M + 家长 A | 1. 家长 A 调维度/权重/上限 CRUD | 非 admin 操作 403 | DimensionConfigController |
— |
| TC-A-26-P | SC-A-26 | 能量/归因权重 | 运营 | P1 | 权限 | 运营 M + 家长 A | 1. 家长 A 调全局归因权重/configure |
非 admin 改全局 403 | EnergyController |
— |
非功能维度:性能(大文件/并发/限流)、兼容(多端/多浏览器/主题)、安全(IDOR/XSS/上传/鉴权/SSRF)。编号后缀
-N与正常流/异常流(-E)/权限流(-P)并列。
| TC 编号 | 所属场景 | 模块 | 角色 | 优先级 | 类型 | 前置条件 | 测试步骤 | 预期结果 | 关联需求/设计 | 对应 e2e |
|---|---|---|---|---|---|---|---|---|---|---|
| TC-A-N01 | SC-A-05 | 配置CRUD | 运营 | P1 | 性能 | 配置项 ≥ 1000 | 1. 打开配置列表 2. 翻页/筛选 | 列表 ≤ 2s;CRUD 即时生效 | 配置管理 | — |
| TC-A-N02 | SC-A-02 | 报告解析中台 | 运营 | P0 | 性能 | 解析队列积压 ≥ 100 | 1. 观察队列吞吐/监控 | 单条 ≤ 30s;失败进未知聚类;监控可见积压 | 解析中台 | — |
| TC-A-N03 | SC-A-01 | 登录统计 | 运营 | P1 | 性能 | 统计数据量大 | 1. 打开统计面板 2. 选时间范围 | 聚合 ≤ 3s;支持分页/缓存;大数据不超时 | 统计聚合 | — |
| TC-A-N04 | SC-A-20 | 限流熔断 | 运营 | P0 | 性能 | 压测解析/AI 接口 | 1. 施压至阈值 2. 观察 | 触发限流/熔断返回 429/友好降级;系统不雪崩;恢复后正常 | 限流熔断 | e2e/api/nonfunc-perf-compat.spec.js |
| TC-A-N05 | SC-A-01 | 登录统计 | 运营 | P0 | 安全 | 非 admin 账号 | 1. 用普通家长 token 访问 /api/admin/* |
返回 401/403;后台不可被非管理员进入 | 后台鉴权 | e2e/api/nonfunc-security.spec.js |
| TC-A-N06 | SC-A-03 | 文章审核 | 运营 | P1 | 安全 | 提交含 <script> 的审核内容 |
1. 发布文章含 XSS 载荷 2. 前端查看 | 内容转义/过滤;不执行脚本 | 内容安全 | e2e/api/nonfunc-security.spec.js |
| TC-A-N07 | SC-A-04 | 内容安全 | 运营 | P0 | 安全 | 抓取 AI 内容源 URL | 1. 提交内网/元数据 URL 触发抓取 | 禁止内网地址(SSRF 防护);仅白名单外域;超时截断 | SSRF 防护 | — |
| TC-A-N08 | SC-A-21 | 知识库 | 运营 | P1 | 安全 | 上传恶意知识库文件 | 1. 上传 .jsp/.sh/.html 知识库附件 | 类型校验拒绝;不落盘执行 | 上传校验 | — |
| TC-A-N09 | SC-A-19 | 注销导出 | 运营 | P0 | 安全 | 审查导出工单 | 1. 导出用户数据 2. 校验权限与脱敏 | 仅工单授权用户可导出;数据脱敏打包;操作留痕审计 | 数据导出合规 | — |