Files
lislgosms/docs/code-quality-browser-acceptance-checklist-20260828.md

8.3 KiB
Raw Permalink Blame History

CMPP 平台登录后浏览器验收清单

  • 验收环境:测试环境 http://100.93.204.60:12026
  • 客户端入口:/#/client/login
  • 运营端入口:/#/admin/login
  • 禁止范围:不得使用预生产;不得发送、补发或重投短信;不得充值、改余额、改通道账号或启停状态
  • 建议浏览器:Edge 或 Chrome 无痕窗口,桌面视口优先使用 1440×900;移动端补测 390×844

1. 证据要求

每个失败项至少记录:入口 URL、账号类型、操作步骤、实际结果、期望结果、时间、截图、控制台错误和失败请求。每个通过项至少保留一张能证明最终状态的截图。

验收前打开开发者工具:

  1. F12
  2. 在 Network 勾选 Preserve log,清空旧请求。
  3. 在 Console 清空旧日志。
  4. Network 筛选 Fetch/XHR,不要只看页面文字。

统一通过标准:

  • 页面不是空白页,没有 Vite/React 错误遮罩。
  • Console 没有新的 errorwarning 必须能解释且与本次操作无关。
  • 业务接口不能出现未处理的 500、HTML 错误页或裸 Internal server error
  • API 请求路径必须是 /api/client/**/api/admin/** 对应门户,状态码与页面结果一致。
  • 刷新后状态与刷新前一致,不依赖只存在于页面内存的假数据。

2. 客户端登录与会话

CL-AUTH-01 正常登录

  1. 打开客户端登录页。
  2. 输入客户端账号、密码和当前图形验证码。
  3. 点击“登录”。
  4. 确认进入客户端首页,而不是停留在登录页或白屏。
  5. 在 Network 找到登录请求,确认返回 2xx;后续 /api/client/** 初始化请求返回 2xx。

通过标准:页面进入客户端工作台,企业名称和当前账号正确;Console 无 error。

CL-AUTH-02 刷新与深层链接

  1. 在已登录状态按 Ctrl+R
  2. 直接在地址栏打开账户余额、短信应用、批量任务、短信详情、上行短信各一个深层路由。
  3. 每个路由再刷新一次。

通过标准:刷新后仍保持登录;页面正常恢复数据;不先闪现其他企业数据;不错误跳回运营端或登录页。

CL-AUTH-03 会话隔离

  1. 保持客户端已登录,新开标签访问 /#/admin/... 任一运营端深层地址。
  2. 不输入运营端账号。

通过标准:客户端 Cookie 不能直接获得运营端权限,应进入运营端登录页或返回明确的未授权状态。

3. 客户端租户边界(C2

CL-TENANT-01 请求不携带客户端租户头

  1. 已登录客户端后,在 Network 打开任意 /api/client/** 请求。
  2. 查看 Request Headers。

通过标准:请求中没有 x-tenant-id;页面仍能正常显示当前企业的数据。

CL-TENANT-02 localStorage 不参与授权

  1. 在 Application → Local Storage 中记录现有内容。
  2. 若存在历史 tenantId 字段,先截图,再删除该字段;没有则不新增。
  3. 刷新当前客户端页面。

通过标准:当前企业仍由登录会话识别,页面不出现默认租户导致的 403,也不切换到其他企业。

CL-TENANT-03 资源归属抽查

  1. 打开短信应用、签名、模板、账户余额和用户管理。
  2. 核对企业名称、应用、签名和余额均属于当前账号企业。

通过标准:不出现其他企业名称、应用、手机号、签名或余额。

安全接口矩阵中的“伪造其他租户头返回 403”已由自动化和真实 API 记录覆盖,人工浏览器验收不要求修改请求后重放。

4. 客户端核心页面

CL-PAGE-01 首页与账户余额

  1. 打开客户端首页,检查所有金额数字。
  2. 打开账户余额页。
  3. 检查标题是否为图标+页面标题,顶部不应重复出现单独“账户”标题。
  4. 检查金额字体、颜色和字重。

通过标准:金额使用普通大号黑色字体;首页金额与“今日发送”视觉一致;账户状态不显示“余额水位”。

CL-PAGE-02 短信应用

  1. 打开短信应用列表和一个应用详情。
  2. 对照运营端同一应用的 CMPP 连接状态。

通过标准:两端连接状态一致;页面没有 Internal server error

CL-PAGE-03 接口对接

  1. 打开接口对接页。
  2. 依次查看配置、HTTP 凭据、Webhook、请求日志和投递日志。

通过标准:五个区域均能加载真实接口结果;空数据使用中文空态;不能显示裸 Internal server error

CL-PAGE-04 签名与引流信息

  1. 打开签名列表及详情。
  2. 查看引流信息列表及详情。

通过标准:不显示“已提交资料”和“使用场景”;不显示笼统“是否审核”;只显示移动、联通、电信三网是否可用;运营端“部分通过”和“全部通过”在客户端均显示“报备通过”。

CL-PAGE-05 时间默认值

分别打开:批量任务、短信发送详情、上行短信。

通过标准:首次进入时开始/结束时间默认为近7天;刷新后仍按近7天发起请求;列表结果与筛选时间一致。

CL-PAGE-06 发送状态中文化

  1. 打开短信发送详情。
  2. 抽查成功、失败、处理中、未知等不同状态。

通过标准:页面不显示 deliveredfailedsubmit_queued 等英文内部状态;未知值使用明确中文兜底,不能误映射为成功。

CL-PAGE-07 顶部导航

通过标准:客户端右上角不存在“待审核任务”按钮。

5. 运营端核心页面

AD-AUTH-01 正常登录、刷新和深层链接

使用运营端账号登录,重复客户端的正常登录、刷新和深层链接检查。

通过标准:运营端会话独立,刷新不丢失;客户端 Cookie 不能替代运营端会话。

AD-PAGE-01 签名质量通道搜索

  1. 打开签名质量检测页面。
  2. 在通道搜索输入一个已知通道名称或编号。
  3. 清空条件后重复一次。

通过标准:列表请求携带通道条件,结果只保留匹配通道;清空后恢复全部;无匹配时显示正常空态。

AD-PAGE-02 通道签名活跃度热力图搜索

执行与签名质量页相同的通道搜索。

通过标准:热力图和关联统计同步更新,不只是前端隐藏标签;清空后恢复。

AD-PAGE-03 短信任务进度状态搜索

  1. 打开短信任务进度页面。
  2. 依次选择至少两个状态。
  3. 清空状态。

通过标准:请求状态参数正确;表格与状态条件一致;清空后恢复全部。

AD-PAGE-04 系统日志日期区间

  1. 打开系统日志页面。
  2. 检查默认开始和结束时间。
  3. 改为一个更短区间并查询。

通过标准:默认近7天;请求携带正确起止时间;修改区间后数据同步变化。

6. 通用异常状态

COMMON-01 慢请求与 Loading

在 Network 将速度切换为 Slow 3G,刷新一个列表页。

通过标准:显示稳定 Loading,不闪白屏、不出现旧企业数据;完成后 Loading 消失。

COMMON-02 空结果

使用一个不可能匹配的关键字或安全的空时间区间查询。

通过标准:显示中文空态,不报错,不保留上一次列表冒充新结果。

COMMON-03 业务错误

在不改变业务数据的前提下触发一个前端可校验错误,例如缺少必填字段。

通过标准:显示中文、可理解的字段或业务提示;不显示裸 500 文案。

COMMON-04 移动端

使用开发者工具切换到 390×844,检查客户端首页、余额页、列表筛选和详情弹窗。

通过标准:无横向页面滚动;按钮、金额、标题不遮挡;弹窗可滚动且关闭按钮可见。

7. 验收结果模板

编号 结果 截图 Console 失败请求/备注
CL-AUTH-01 通过/失败 文件名 0 error / 摘要 状态码与接口
CL-TENANT-01 通过/失败 文件名 0 error / 摘要 是否存在 x-tenant-id
CL-PAGE-0107 通过/失败 文件名 0 error / 摘要 具体页面
AD-AUTH-01 通过/失败 文件名 0 error / 摘要 状态码与接口
AD-PAGE-0104 通过/失败 文件名 0 error / 摘要 筛选条件与结果
COMMON-0104 通过/失败 文件名 0 error / 摘要 状态与视口

所有项目通过后,浏览器验收才可以标记为关闭;仅登录页可见或接口返回 200 不算登录后验收完成。