SOP-402:广告账户退款工作流测试
支持复制到 Excel 的标准 SOP 模板;每个
任务(Task ID)表示一个可打卡的子文档,便于人工/机器按照序号完成并记录进度。
文档元数据
- 文档类型:SOP / Checklist
- 适用场景:
http://localhost:3000/crm/adaccount广告账户管理界面 + 工作流系统 - 创建者:QA / 自动化工程
- 最近更新时间:2025-12-23
- 相关接口定义:
core/openapi/crm.swagger.json中AdAccountService和FlowService模块 - 工作流类型:广告账户退款(AdAccount Refund)
- 审批流程:发起申请 → 媒介审批 → 生效 → 抄送(媒介 + 财务 + 负责人)
流程图
graph LR
A[发起申请] --> B[媒介审批]
B --> C[生效]
C --> D[抄送]
审批角色
| 步骤 | 审批人 | 说明 |
|---|---|---|
| 媒介审批 | 媒介 / 媒介经理 | 媒介确认退款 |
| 抄送 | 媒介 + 财务 + 负责人 | 通知相关人员 |
前置条件
| 条件 | 检查方式 |
|---|---|
本地或测试环境可访问 http://localhost:3000/crm/adaccount |
浏览器打开,页面未返回 500/404 |
| 已使用有权限的用户登录 | 登录接口/前端登录流程成功,能加载左侧导航 |
| 存在有余额和广告政策标签的广告账户 | 广告账户列表中至少有一个账户有余额且配置了政策标签 |
| 媒介审批人账号可用 | 能使用媒介角色账号登录系统进行审批操作 |
| 工作流系统正常运行 | 工作流列表页面可正常访问和显示 |
任务矩阵(Excel Checklist 行模板)
每个任务独立一个表格,依次执行并记录状态;状态列可直接粘贴到 Excel 以打勾 [ ] → [x]。
任务 T1:环境与账号验证
入口:http://localhost:3000
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:打开浏览器 | — | 浏览器启动成功 | 浏览器窗口打开 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:输入 URL | http://localhost:3000 |
页面开始加载 | 地址栏显示正确 URL | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:登录 | 账号/密码 | 登录成功,跳转到主页 | 左侧导航栏显示 | 屏幕截图、浏览器日志 | [ ] |
步骤 4 |
| 步骤4:导航到主页 | 成功登录后自动跳转 | 页面成功加载、显示主界面、无 500 错误 | UI:显示左侧菜单;Console:无错误 | 屏幕截图 | [ ] |
T2 |

图:系统登录页面

图:登录后的系统主页,左侧显示完整的导航菜单
任务 T2:筛选有政策标签的广告账户
前置条件:T1 成功且已登录系统
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:进入广告账户模块 | 点击左侧"广告账户"菜单 | 显示广告账户列表页面 | 页面显示账户列表、无加载错误 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:打开自定义过滤 | 点击"自定义过滤"按钮 | 弹出自定义过滤面板 | 过滤面板显示可选字段 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:勾选广告政策标签过滤 | 勾选"广告政策标签折扣范围" | 复选框被选中 | 复选框显示勾选状态 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:应用过滤条件 | 点击"应用"按钮 | 列表只显示有政策标签的账户 | 列表过滤成功、数量减少 | 屏幕截图 | [ ] |
T3 |

图:广告账户列表页面,显示所有广告账户

图:自定义过滤面板,可以勾选"广告政策标签折扣范围"进行过滤

图:应用过滤后的账户列表,只显示有政策标签的账户
任务 T3:打开广告账户详情
前置条件:T2 成功且已筛选出有政策标签的账户
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:双击账户行 | 双击第一个有政策标签的账户(如:山东联宇-彩铃-欣网联通-1) | 弹出账户详情对话框 | 对话框显示完整账户信息 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看账户信息 | — | 显示账户详情:账户名称、账户ID、余额、政策标签等 | 对话框中显示"充值"和"退款"按钮 | 屏幕截图 | [ ] |
T4 |

图:广告账户详情对话框,显示账户信息、余额和广告政策标签(头条 3.00%),有"充值"和"退款"按钮
任务 T4:发起广告账户退款申请
前置条件:T3 成功且账户详情对话框已打开
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:点击退款按钮 | 点击详情对话框中的"退款"按钮 | 弹出广告账户退款单对话框 | 显示退款表单,包含余额信息、政策标签 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看账户余额信息 | — | 显示完整余额信息:资金池、挂账、垫款、政策补差、后返、未认领、实时余额 | 表单中显示各项余额数据和政策标签 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:填写退款金额 | 金额:50 |
字段成功填写 | 输入框显示 50 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:提交退款 | 点击"退款"按钮 | 系统自动调整为账户实际余额,弹出退款明细对话框 | 显示退款明细确认框 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:查看退款明细 | — | 显示账户名称、账户ID、退款金额、折扣率、平台 | 退款明细信息正确显示 | 屏幕截图 | [ ] |
步骤 6 |
| 步骤6:确认退款 | 点击"确认"按钮 | 提交成功,显示成功提示和工作流跳转链接 | 成功提示:"提交成功,点击此处查看审批流程" | 屏幕截图 | [ ] |
T5 |

图:广告账户退款表单,显示资金池余额、各类余额明细、广告账户实时余额和政策标签

图:填写退款金额 50 元

图:退款明细确认对话框,显示账户信息、退款金额(0.3883)、折扣率(3.00%)、平台(巨量)

图:退款工作流提交成功,显示"点击此处"链接可查看审批流程
任务 T5:查看工作流详情
前置条件:T4 成功且退款工作流已提交
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:点击跳转链接 | 点击"点击此处"链接 | 跳转到工作流列表页面 | 显示工作流列表,第一行为刚创建的退款工作流 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看工作流列表 | — | 列表中显示"广告账户退款"工作流,状态为"审核中" | 工作流类型、描述、操作按钮正确显示 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:双击工作流行 | 双击"广告账户退款"工作流行 | 弹出工作流详情对话框 | 对话框显示完整工作流信息 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:查看工作流基本信息 | — | 显示工作流ID、发起人、发起时间、审批人列表、客户信息、资金池信息 | 所有信息正确显示 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:查看交易概览 | 滚动查看对话框内容 | 显示退款金额、折后退款、折扣率等交易信息 | 交易概览表格正确显示 | 屏幕截图 | [ ] |
步骤 6 |
| 步骤6:查看审批历史 | 点击"审批历史"标签 | 显示审批流程和当前状态 | 审批人列表、审批状态、待处理人员正确显示 | 屏幕截图 | [ ] |
T6 |

图:工作流列表页面,第一行显示刚创建的"广告账户退款"工作流,状态为"审核中",有"撤销"操作按钮

图:工作流详情对话框,显示工作流ID、发起人(超级管理员)、发起时间、审批人列表(5位媒介人员)、客户信息(ceshi)、资金池总余额(¥300.00)

图:工作流详情对话框向下滚动,显示更多信息

图:审批历史页面,显示审批流程: 1. 超级管理员 - 已批准(管理员)- 2025-12-23 11:45:36 2. 待审批人员(5人):代兰平、张慧、张琼、邓颖慧、邓彩霞 - 全部"待处理"状态
任务 T6:媒介审批
前置条件:T5 成功且工作流处于待审批状态
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:退出当前账号 | 点击右上角用户菜单,选择"退出登录" | 退出成功,返回登录页面 | 显示登录页面 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:使用媒介账号登录 | 输入媒介账号和密码(如:代兰平) | 登录成功 | 进入系统主页 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:查看待办事项 | 进入"待办"或"工作流"模块 | 显示待审批的退款工作流 | 列表中显示该退款工作流 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:打开工作流详情 | 双击工作流行 | 显示工作流详情,有审批按钮 | 对话框显示"批准"和"拒绝"按钮 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:审批通过 | 点击"批准"按钮 | 审批成功,工作流状态变更 | 显示审批成功提示 | 屏幕截图 | [ ] |
T7 |
任务 T7:验证工作流生效
前置条件:T6 成功且媒介已审批通过
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:刷新工作流列表 | 刷新页面或重新进入工作流列表 | 工作流状态更新为"已完成"或"生效" | 状态字段显示最新状态 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:打开工作流详情 | 双击工作流行 | 显示完整的审批历史 | 审批历史中显示媒介的审批记录 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:验证广告账户余额 | 返回广告账户列表,查看该账户 | 账户余额减少退款金额 | 余额 = 原余额 - 退款金额 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:验证资金池余额 | 查看客户的资金池 | 资金池余额增加退款金额 | 资金池余额增加正确 | 屏幕截图 | [ ] |
T8 |
任务 T8:验证抄送通知
前置条件:T7 成功且工作流已生效
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:切换到财务账号 | 登录财务角色账号 | 登录成功 | 进入系统主页 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看通知列表 | 进入"通知"或"抄送"模块 | 显示退款工作流的抄送通知 | 通知列表中存在该工作流 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:切换到负责人账号 | 登录客户负责人账号 | 登录成功 | 进入系统主页 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:查看通知列表 | 进入"通知"或"抄送"模块 | 显示退款工作流的抄送通知 | 通知列表中存在该工作流 | 屏幕截图 | [ ] |
— |
异常场景测试
测试场景一:余额不足
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 |
|---|---|---|---|---|---|
| 步骤1:填写超过账户余额的金额 | 金额:10000.00(大于实际余额) |
系统自动调整为账户实际可退款余额 | 提交时金额被自动调整 | 屏幕截图 | [ ] |
测试场景二:无效金额
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 |
|---|---|---|---|---|---|
| 步骤1:填写零金额 | 金额:0 |
表单验证失败,显示错误提示 | 显示"退款金额不能为0或空" | 屏幕截图 | [ ] |
| 步骤2:填写负数金额 | 金额:-100 |
表单验证失败,显示错误提示 | 显示错误提示 | 屏幕截图 | [ ] |

图:退款金额验证错误提示:"退款金额不能为0或空"和"至少选择一个政策标签"
测试场景三:审批拒绝
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 |
|---|---|---|---|---|---|
| 步骤1:媒介点击"拒绝"按钮 | 拒绝理由:退款原因不充分 | 工作流被拒绝 | 状态变为"已拒绝" | 屏幕截图 | [ ] |
| 步骤2:验证账户余额不变 | 查看广告账户余额 | 余额未变化 | 余额与退款前一致 | 屏幕截图 | [ ] |
测试场景四:无政策标签账户
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 |
|---|---|---|---|---|---|
| 步骤1:选择无政策标签的账户 | 双击无政策标签的账户 | 打开详情对话框,有退款按钮 | 对话框显示 | 屏幕截图 | [ ] |
| 步骤2:点击退款按钮 | — | 弹出退款表单 | 表单显示 | 屏幕截图 | [ ] |
| 步骤3:填写退款金额并提交 | 金额:100 |
验证失败,提示需要政策标签 | 显示"至少选择一个政策标签"错误 | 屏幕截图 | [ ] |

图:政策标签下拉框显示"无可用选项",因为该账户未配置政策标签
进度采集模板
| Task ID | Task Name | Assignee | Start Time | End Time | Status | Evidence | Notes |
|---|---|---|---|---|---|---|---|
| T1 | 环境与账号验证 | QA | — | — | [ ] |
截图链接 | — |
| T2 | 筛选有政策标签的广告账户 | QA | — | — | [ ] |
截图链接 | — |
| T3 | 打开广告账户详情 | QA | — | — | [ ] |
截图链接 | — |
| T4 | 发起广告账户退款申请 | 发起人 | — | — | [ ] |
截图链接 + 工作流ID | — |
| T5 | 查看工作流详情 | QA | — | — | [ ] |
截图链接 | — |
| T6 | 媒介审批 | 媒介 | — | — | [ ] |
截图链接 | — |
| T7 | 验证工作流生效 | QA | — | — | [ ] |
截图链接 | — |
| T8 | 验证抄送通知 | QA | — | — | [ ] |
截图链接 | — |
注意事项
- 政策标签必填:广告账户退款必须有广告政策标签,否则无法提交退款申请
- 余额检查:系统会自动验证账户余额,超出部分会被自动调整为实际可退款金额
- 媒介审核:媒介需要确认广告账户状态和退款合理性
- 资金流转:退款会从广告账户的账户余额退回到客户的资金池
- 抄送通知:工作流生效后会自动抄送给媒介、财务和客户负责人
- 折扣计算:退款金额会根据广告政策标签的折扣率计算折后金额
相关文档
- SOP-401:广告账户充值工作流测试 - 广告账户充值流程
- SOP-302:钱包退款工作流测试 - 钱包退款流程
- SOP-001:客户创建 E2E 测试 - SOP 模板参考
- 工作流 SOP 文档索引 - SOP 汇总
- CRM 操作手册 - 系统操作指南
- 账号文档 - 测试账号列表
API 参考
| 接口 | 方法 | 说明 | 关键字段 & 数据格式 |
|---|---|---|---|
/api/v1/adaccounts |
GET |
获取广告账户列表 | 可通过 filters 参数筛选有政策标签的账户 |
/api/v1/adaccounts/{id} |
GET |
获取广告账户详情 | 返回账户余额、政策标签等信息 |
/api/v1/flows |
POST |
创建工作流 | 创建广告账户退款工作流,需要提供账户ID、退款金额等 |
/api/v1/flows/{id} |
GET |
获取工作流详情 | 返回工作流状态、审批历史等 |
/api/v1/flows/{id}/approve |
POST |
审批工作流 | 媒介审批通过或拒绝 |
参见完整定义:
core/openapi/crm.swagger.json中AdAccountService和FlowService相关接口。