pipeline-opportunity/docs/test-cases.md

4.9 KiB
Raw Blame History

商机产线pipeline-opportunity测试用例方案

执行者test agentpipeline_role_submit role=test 浏览器能力run_shell + playwright headless chromium 脚本(真浏览器); curl + Cookie(session-ticket) 做接口/页面级验证。 前置准备(部署侧):测试环境 venv 安装 playwright + chromium当前缺失

统计

  • 测试用例27 条(冒烟 5 / 数据能力 7 / 报告闭环 8 / UI-CRUD 5 / RBAC 2
  • 覆盖功能点22 个(见文末映射表;状态机/人工任务/边界类功能点由多条用例交叉覆盖)

一、冒烟测试验证部署5 条)

# 用例 断言
S1 应用端口与外网 9090 监听;https://pipeline.opencomputing.cn/ 返回 200
S2 能力包加载 启动日志含 [pipeline_opportunity] v0.1.0 loaded
S3 表结构 opp_reports/opp_approvals 存在,列与 models/*.json 一致
S4 种子数据 pipelines 表含 id=opportunity_generalappcodes 含 opp_report_status/opp_approval_status 全枚举
S5 爬虫平台连通 内网 192.168.16.2:9085无 token→401带 token→/api/stats 200

二、数据能力消费爬虫平台7 条)

# 用例 断言
D1 /hot 热点推荐 驾驶舱执行返回排名:含 category/tender_count/total_budget_wan/top_regions数量与爬虫库一致
D2 /ai 每日AI招标 返回当日清单count/with_budget/total_budget_wan 与 /api/ai_tenders 一致
D3 关键词搜索 opp_search_tenders(keyword=大模型) 返回项标题含关键词
D4 详情来源完整性 opp_tender_detail 返回含 url 和 source_url 两个来源链接(双链接缺一不可)
D5 采集健康度 opp_crawler_stats 返回 total/ai_related/collected_24h/recent_runs
D6 鉴权降级 params 表 token 置错 → 工具返回友好错误信息,无 500、无堆栈泄漏
D7 空结果 搜索不存在的关键词 → count=0 正常返回,不报错

三、报告/审批闭环8 条,状态机核心)

# 用例 断言
R1 创建报告 opp_create_report → opp_reports 新增 status=draft
R2 草稿可改 opp_update_report 更新 content 成功
R3 非草稿禁改 confirmed 状态调 update → 拒绝「仅草稿可编辑」
R4 提交确认 opp_submit_report → pipeline_human_tasks 新增 task_type=opp_report_confirm, status=pendingNOT NULL 列 task_id/step_name/version 正确填充)
R5 人工确认回流 人工任务置 done → 报告 draft→confirmedconfirmed_by 落库
R6 审批门禁 draft 状态直接 initiate_approval → 拒绝「须先人工确认」(非法迁移拦截)
R7 发起审批 confirmed 后发起 → opp_approvals initiated + 报告 approval_initiated + opp_dev_approval 人工任务
R8 审批结论 resolve approved→报告 approvedresolve rejected→报告 rejected 且可退回 draft 重来

四、UI/CRUD真浏览器5 条)

# 用例 断言
U1 报告列表页 登录后浏览器打开 /pipeline-opportunity/opp_reports/index.ui200 且 Tabular 渲染playwright 截图+DOM 断言,非仅 curl
U2 报告 CRUD 页面新增/编辑/删除走 add/update/delete_opp_reports.dspy 成功,数据库同步
U3 审批列表页 /pipeline-opportunity/opp_approvals/index.ui 渲染正常
U4 产线菜单 商机产线项目驾驶舱菜单含「研发报告」「研发审批」弹窗项menus 配置)
U5 i18n 双语 切英文后菜单/表头文案走 en/msg.txt 翻译研发报告→R&D Report 等),无裸中文键

五、RBAC2 条)

# 用例 断言
A1 未登录拦截 无 Cookie 访问 opp_reports/index.ui 与 CRUD dspy → 401
A2 logined 放行 登录后同路径 → 200权限缓存刷新后

功能点覆盖映射22 个功能点)

功能点 覆盖用例
1 能力包注册/加载 S2
2 opp_reports 表 S3, U2
3 opp_approvals 表 S3, R7
4 产线种子数据 S4
5 爬虫平台接入(内网+token) S5, D6
6 热点软件推荐 D1
7 每日AI招标展示 D2
8 招标搜索 D3, D7
9 详情+来源双链接 D4
10 采集健康度 D5
11 报告创建 R1
12 报告更新+状态保护 R2, R3
13 人工确认门禁(任务创建) R4
14 确认回流 R5
15 审批发起门禁 R6, R7
16 审批结论回流 R8
17 人工任务真实表结构 R4, R7
18 报告列表页 U1
19 报告 CRUD 全链 U2
20 审批列表页+菜单 U3, U4
21 i18n 双语 U5
22 RBAC 鉴权 A1, A2

问题归属

  • 冒烟失败 → 报部署 Bugdescription 写明部署/环境根因),冒泡给 deploy_test
  • 功能 fail → report_bug 落库,交 develop 走 Bug 闭环develop 修复 → test 复测)