在我们平常的测试的过程中,会遇到一些H5页面的测试,对于H5的测试,本人在测试的过程中曾经遇到一些坑,为了避免大家犯同样的错,总结出来供大家参考。
这里告诉大家一个通用的思考方式,在实际工作和面试过程中你可以这样应用,面试官一般情况下是找不到任何的毛病的。在拿到一个项目后,我们主要通过以下方面去考虑测试:功能测试、UI测试、兼容性测试、性能测试、安全测试、网络测试。如果是APP的话,需要加上:安装、卸载及覆盖安装测试,耗电量测试。
首页需要保证该项目的功能能够正常,接着再去测试UI、兼容性、性能、安全测试、网络测试,连基本的功能都不能保证,后面这些都是瞎扯。
是否能打开对应的链接:
用户点击H5链接,是否能够打开H5页面
H5不同页面的链接,用户点击后能够正常跳转
如果H5需要登录,那么用户打开H5后是否能够进入登录页面,
用户在微信中打开H5是否能够调用微信的授权,用户拒绝微信授权,是否能够弹出H5的登录页面
用户在弹出登录框后,点击拒绝能否正常跳转到对应的页面
需要登录的页面,用户成功登录后,跳转的位置(跳转到指定页面还是跳转到首页,这个主要看产品需求)
有的H5页面可以直接呼起APP,这个时候需要验证能够呼起APP,并且能够跳转到APP指定的页面
返回、前进功能:
H5页面下方的返回按钮,是否可以返回到指定的页面
Android手机物理键盘的返回键,是否可以返回到指定页面
PC端web浏览器返回按钮,是否可以返回指定页面
H5页面下面的前进按钮,是否能够跳转到指定的页面
支付功能:
能否可以调起第三方的支付应用(微信、支付宝)
注意观察订单的支付金额,在遇到*.99的时候,前端JS处理可能会有问题,展示的金额和支付金额会不一致(本人在这个地方也遇到坑)
手机端没有安装第三方的支付应用,是否可以打开第三方H5支付页面
调起三方支付功能后,不进行支付,查看订单的支付情况(注意,这一块我之前遇到过坑,调起了支付宝支付后,取消支付,订单的状态变成了已支付)
成功支付后,跳转的链接是否正确,订单的状态是否更新
在我的订单中,能否支付待支付的订单
支付中金额不足,订单状态是否更新
支付的金额大于银卡每日限制额度,订单状态是否能够更新
同一个订单能否重复支付(不同的浏览器打开该订单,或者同一个浏览器不同页签打开该订单)
分享和点击手机右上角···复制链接:
每个页面都需要测试分享功能
分享后的文案和图片是否正常
需要身份验证的页面,分享后能否正常的验证(用户A和用户B均是登录状态)
1).例如只有购买了该产品的用户,才能有资格抽奖,用户A把抽奖页面分享给用户B。若用户B没有买过该产品,用户B打开抽奖页面,肯定是没有资格参与抽奖;若用户B买过该产品,打开抽奖页面,可以直接参与抽奖
2).用户A在H5的付费直播间上课,分享给用户B,若用户B没有买该课程,无法进入直播间;若用户B购买过该课程,可以直接进入直播间
分享给微信朋友,功能是否正常正常使用
分享朋友圈,功能是否正常正常使用
分享QQ、QQ空间,功能是否正常正常使用
分享微博,功能是否正常正常使用
横竖屏切换:
横屏切换竖屏,页面和功能是否正常
竖屏切换横屏,页面和功能是否正常
H5与Native切换
用户登录APP后,点击H5页面,是否还需要登录(正常情况下,不需要登录)
从APP中进入H5页面,加载是否顺畅,是否会出现页面加载不出来,或者APP闪退
从H5返回APP,加载是否流程,是否会出现APP闪退情况
在APP上修改用户名、昵称、头像,在H5页面是否能够同步
埋点测试:
利用神策测试前端H5的埋点
关于神策的操作可以参考我写的文章:https://download.csdn.net/download/binbinyouni/11107506
H5清除缓存:
这个我还真不知道归属于哪一类,我个人就给他归属为功能类别吧
PC端web页面,清除浏览器缓存即可
手机微信浏览器
1)iOS:退出微信登录后,再重新登录,再次点击H5就相当于清除的微信H5缓存
2)Android:使用https://debugx5.qq.com/ 可以清除微信H5缓存
文案测试:
是否出现错别字
字号和字体是否正确
键盘:
竖屏调起键盘是否有问题
横屏调起键盘是否有问题
在调起键盘的时候切换横竖屏是否会有问题
图片测试:
图片清晰度是否清晰
图片的尺寸是否先出现裁剪,拉伸或者压缩
页面整体样式:
页面的布局是否合理
页面的控件位置是否合理
页面是否易用等等
PC端与手机端兼容性:
PC端浏览器可以正常使用H5功能
手机端浏览器可以正常使用H5功能
手机端在微信中可以正常使用H5功能
各浏览器的兼容性:
PC端:Edge浏览器、IE浏览器、360安全浏览器,360极速浏览器,Chrome浏览器、Safari浏览器
手机端:Android自带浏览器、Safari浏览器、UC浏览器、QQ浏览器,Chrome浏览器、360浏览器
手机版本兼容性:
iPhone手机:不同操作系统和不同屏幕在微信中能够正常使用H5功能,例如iPhone5s,iPhone6,iPhone6sp等;IOS10,IOS11,IOS12,IOS13,IOS14系统等
Android手机:因为Android手机种类太多了,一般通过听云\蒲公英\神策观察公司app安卓手机使用情况,我这边一般采取的策略是测试排名前20的Android手机
性能测试:
接口能够满足公司指定的性能指标:并发数、响应时间、TPS均满足需求;工具:JMeter、Loadrunner
页面加载时间满足指标;工具:performance、firebug等
接口层面:
接口是否明文传输,例如:登录时用户名和密码是否明文传输
通过抓包篡改数据能够可以达到对应的目的
1)支付时通过篡改支付金额,测试一下是否能够达成目的
2)页面需要身份校验时,篡改身份信息,是否能够达到目的
促销活动类型:
假如该活动同一个手机号和同一台设备都只能参加一次活动:
用户通过微信的H5页面登录后参与活动
用户在微信端退出登录,更换手机号是否能够参与活动
用户在手机端浏览器中输入不同手机号是否可以多次参与活动
同一个手机号用户不同更换设备是否可以多次参加活动
用户在手机浏览器中分别输入不同手机号是否可以多次参加活动
用户在PC端分别输入不同手机号看是否可以参与多次活动
用户通过抓包工具篡改数据能否达到多次参加活动的目的
不同网络情况下测试:
2G、3G、4G、5G、wifi网络测试
网络的切换测试,例如:4G切换wifi等
没有网络的情况
弱网的情况
推荐文章:
JMeter系列教程之五数据库测试
一篇搞定APP测试攻城狮面试的常见问题(面试答案)
一篇搞定Charles抓包的文章
作者简介
朱彬
10年测试工作经验,5年团队管理经验,擅长:功能、接口、性能、自动化、测试用例设计及常见测试工具的使用