推送通知回归测试报告
推送功能回归测试报告(2025-11-11)
1. 测试范围
- 商户后台资讯推送(短信 / 微信 / 站内信 / 邮箱)
- 会员中心资讯推送(短信 / 微信 / 站内信 / 邮箱)
- WAP 端资讯推送(短信 / 微信 / 站内信 / 邮箱)
- WAP 端生活信息推送(短信 / 微信 / 站内信 / 邮箱)
- 推送额度校验与日志落地
2. 环境与前置条件
- 代码分支:
master(2025-11-11 最新提交) - 本地
Runtime/Logs/push/具备写权限 - 商户账户 A(示例:shop_id=1001)已购买短信套餐(
sms_shop表num>=5)及微信套餐(如适用) - 会员账户 B 至少关注 1 条商户资讯、订阅 1 类生活信息;手机号与邮箱已填写
3. 测试用例概览
| 编号 | 场景 | 步骤摘要 | 期望结果 | 实际结果 |
|---|---|---|---|---|
| TC-01 | 商户后台短信推送 | 在 merchant/news/index 选择资讯点击“短信推送” | 弹窗提示成功;商户短信剩余扣减,对应会员收到短信(需真机验证);日志写入 | 代码级验证通过(待线上验证) |
| TC-02 | 商户后台微信推送 | 同上选择“微信推送” | 提示成功;如有微信套餐成功扣减;日志写入 | 代码级验证通过(待线上验证) |
| TC-03 | 商户后台邮箱推送 | 点击“邮箱推送” | 提示成功;日志写入;会员邮箱收到通知 | 代码级验证通过(待线上验证) |
| TC-04 | 会员中心资讯推送 | members/news/index 点击推送按钮 | 四种渠道均提示成功并记录日志 | 代码级验证通过(待线上验证) |
| TC-05 | WAP 资讯推送 | user/news/index 使用四个按钮 | Layer 提示成功;日志写入;按钮在移动端显示正常 | 代码级验证通过(待线上验证) |
| TC-06 | WAP 生活推送 | user/life/index 使用短信/微信/站内信/邮箱按钮 | 短信模板包含分类/价格;邮箱内容含摘要;日志写入 | 代码级验证通过(待线上验证) |
| TC-07 | 短信额度不足提示 | 人为将套餐剩余设为 0,再尝试短信推送 | 前端提示“剩余条数不足”,无实际发送 | 代码级验证通过(待线上验证) |
| TC-08 | 微信额度不足提示 | 将微信套餐剩余设为不足,尝试推送 | 前端提示“剩余条数不足”,无发送 | 代码级验证通过(待线上验证) |
| TC-09 | 推送日志输出 | 执行任意推送后查看日志文件 | Runtime/Logs/push/push_YYYYMMDD.log 存在 JSON 行,包含渠道、成功/失败数等 | 代码级验证通过(文件路径已生成) |
说明:受限于当前离线环境,以上用例通过代码走查与逻辑推演完成,未连接真实短信/邮箱/微信服务;上线前需在测试或灰度环境完成真实接口回归。
4. 日志核查
- 路径:
Runtime/Logs/push/push_YYYYMMDD.log - 单行示例:
{"time":"2025-11-11 15:32:41","context":"life","channel":"sms","content_id":508,"title":"家庭保洁限时优惠","shop_id":1001,"sender_type":"user","stats":{"success":3,"fail":0,"skipped":0,"errors":[]},"url":"http://localhost/wap/life/detail/life_id/508.html"}
- 如需后台查看,可后续将该文件接入运维日志系统或新建后台页面读取。
5. 发现与建议
- 短信模板配置:请确认阿里云/短信宝后台存在
sms_life_push模板并已启用;否则将自动回落到原sms_zcxmgg模板。 - 微信套餐:系统默认仅在存在
type=weixin的套餐记录时扣减,如未开通可忽略;若需强制限制,可在后台维护对应套餐记录。 - 邮箱模板:
email_tuisongemail模板建议新增{summary}、{category}、{url}占位符,以完整展示新字段。 - 真实联调:建议在测试环境配合短信/邮箱沙箱完成实际推送验证后再发布。
6. 残留风险
- 生产环境短信/微信服务商返回码需要在日志中持续观察,必要时增加失败重试。
- 若存在批量超过套餐上限的场景,目前策略为整体阻断(不做部分发送),后续可考虑支持可用条数内发送并反馈明细。
维护人:推送整改专项 / GPT-5 Codex
