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

206 lines
8.3 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.
# 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. 抽查成功、失败、处理中、未知等不同状态。
通过标准:页面不显示 `delivered``failed``submit_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 不算登录后验收完成。