如何测试移动端的推送通知?

一、 引言:为什么推送测试如此重要?

推送通知是App与用户保持互动、提升留存的关键功能。一条失败的推送(如不该推时乱推、该推时不推、内容错乱)会直接导致:

用户流失:频繁或无关的推送会使用户厌烦,进而关闭通知或卸载应用。

功能失效:核心业务通知(如订单、聊天消息)无法到达,影响App核心体验。

品牌形象受损:推送内容错误或发送给错误的人群,会显得非常不专业。

因此,对推送通知进行全面的测试至关重要。


二、 测试环境与前置准备

在开始测试前,需要搭建好测试环境:

后端推送平台:确保你有一个测试环境下的推送管理后台(如极光、个推的后台,或公司自研平台),并拥有测试权限。

测试设备池:覆盖不同品牌(华为、小米、OPPO、vivo、苹果等)、不同操作系统版本(Android 8~14, iOS 12~17)、不同屏幕尺寸的设备。

测试账号:准备多个测试账号,用于测试特定用户/分群的推送。

抓包工具:Charles/Fiddler,用于拦截和检查推送请求与回执,定位问题。

ADB命令(Android必备)

查看设备是否连接:
adb devices

查看日志(尤其关注推送相关的TAG):
adb logcat | grep -i "jpush|xiaomi|getui"
 (根据你用的推送SDK调整)


三、 核心测试维度与实战用例
1. 功能测试

这是最基础也是最重要的部分。

基本推送流程

用例1:从推送后台向单个设备发送通知,验证目标设备是否能成功接收并显示。

用例2:向特定用户(通过账号) 发送通知,验证只有登录了该账号的设备能收到。

用例3:向标签/分群用户(如“北京地区”、“VIP用户”)发送,验证分群逻辑是否正确。

用例4:向全量用户发送,验证广播推送的覆盖范围。

通知内容校验

用例5:验证通知的标题、正文、图标、大图是否按预期显示。

用例6:验证富媒体推送(如图片、长文本、行动按钮)的显示与功能。

用例7:验证自定义声音振动模式是否生效。

用户交互测试

用例8点击通知后,是否能正确跳转到指定的App内页面(Deep Link)。

用例9:当App处于前台、后台、进程被杀掉三种状态时,分别测试推送的接收与点击行为。

用例10:测试清除通知(左滑/右滑清除)是否正常,且不会触发任何跳转。

特殊场景测试

用例11离线推送:将设备断网 -> 发送推送 -> 再恢复网络,验证推送是否能被拉取到。

用例12多条推送:连续发送多条推送,验证通知栏是否按顺序排列,且点击每条都能正确跳转。

2. 兼容性测试

这是移动端测试的重灾区。

操作系统:重点测试Android和iOS的主要版本

设备厂商定制化系统(Android重点)

小米、华为、OPPO、vivo等厂商有各自的推送服务后台管理策略(如“自启动”、“关联启动”、“电池优化”)。

测试点:在App的权限设置中,手动关闭“允许通知”、“自启动”等权限,观察推送行为。确保引导用户正确设置的文案和流程。

不同状态栏:测试在有刘海屏、挖孔屏的设备上,通知的显示是否正常。

3. 性能测试

推送到达率与时效性

使用工具或脚本,模拟向大量设备(如1万台) 发送推送。

监控从发送到设备接收到通知的平均延迟、95分位延迟。理想情况下应在秒级。

统计成功到达率,业界优秀水平通常在99.5%以上。

App性能影响

监控在接收和处理推送时,App的CPU、内存占用是否有异常飙升。

测试在弱网环境下,推送的接收和重试机制是否合理。

4. 安全与权限测试

权限控制

用例:用户首次安装App时,系统级通知权限的弹窗是否出现。

用例:用户在系统设置中关闭了App的通知权限后,App是否无法收到任何推送,且是否有恰当的引导(如“您关闭了通知,可能会错过重要消息…”)。

内容安全

用例:尝试发送包含特殊字符、超长文本、HTML/JS代码的内容,验证前端是否做了转义或截断处理,防止注入攻击。

用例:验证推送链接是否为恶意链接。

5. 业务逻辑与边界测试

业务状态

用例:用户已注销/被封禁,是否还能收到推送?

用例:在特定业务场景下(如正在进行支付),推送是否会打断当前操作?

边界值

用例:发送空标题、空内容的推送,App和推送后台如何处理?

用例:发送超长标题和内容,查看显示效果(是否截断,UI是否错乱)。


四、 常用工具与技巧

Charles/Fiddler抓包

定位推送失败原因。抓取App启动时与推送服务器的注册请求,以及推送下发时的数据包,检查HTTP状态码和返回内容。

ADB(Android Debug Bridge)


adb shell dumpsys notification
:查看当前通知栏的所有通知详情。


adb logcat
:查看系统日志,过滤推送SDK的日志,是定位疑难杂症的利器。

推送平台后台

充分利用后台的“推送记录”功能,查看每条推送的“目标数”、“送达数”、“点击数”等数据,辅助判断问题范围。

云测平台

WeTest、Testin,利用其庞大的真机设备池,快速进行兼容性测试。


五、 总结

测试移动端推送通知,远不止“收到就行”这么简单。一个专业的测试工程师需要:

建立测试矩阵:将功能、兼容性、性能等维度与具体的设备、系统版本组合,形成全面的测试用例库。

重视自动化:对于核心的推送功能,可以尝试通过UI Automator/Appium进行点击跳转的自动化,或通过接口自动化验证推送任务是否成功创建。

关注数据与日志:培养通过日志和数据定位问题的能力,这是进阶的必经之路。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容