网络测试要点
各个网络下功能测试
各个网络下的功能测试建议将整体的功能测试用例在弱网环境下进行一轮测试,相同模块下的功能可以分多个网络条件进行测试。
这部分发现的问题可能会有:页面图片在弱网环境下加载不出来(图片加载逻辑需优化)、需要模版的页面版式结构混乱(模版文件在弱网环境的加载需优化)、页面响应时间较长没有任何显示(页面显示逻辑待优化、重试机制加入)等。
无网测试
无网状态测试则是在切断网络的情况下进行的测试,主要关注页面的显示与交互、本地数据的存储、断网功能的使用等。通常来说需要注意下面几点:
1、断网情况下请求一个非本地数据的页面需要设定一定的时间等待上限,及时提示网络异常以及提示重试;
2、断网情况下请求一个部分本地数据的页面需要观察本地数据的部分是否加载显示正常,待请求的部分是否符合交互给的缺省样式;
3、断网情况下请求一个完全本地数据的页面是否显示正常。这里还需考虑本地数据存储的情况,有些需要联网后上报服务器的数据本地是否正确存储,联网后这些数据能否正常上报。
无网状态测试建议按照页面划分进行,针对每个页面单独测试无网状态的显示,页面间跳转的显示,页面内功能的点击和显示,同时关注无网到有网时的页面恢复显示状态、数据上报情况是否正常。
网络切换测试
这部分主要是进行几个不同网络场景的切换,包括wifi-2G/3G/4G、wifi-无网、2G/3G/4G-wifi、2G/3G/4G-无网、无网-2G/3G/4G、无网-wifi等。主要关注页面的显示与交互,尤其是弱网到wifi,wifi到弱网的情况,是否会有页面的crash以及显示的错乱、session是否一致、请求堆积处理等。
用户体验关注
弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:
- 页面响应时间是否可接受,关注包括热启动、冷启动时间,页面切换,前后台切换,首字时间,首屏时间等。
- 页面呈现是否完整一致。
- 超时文案是否符合定义,异常信息是否显示正常。
- 是否会有超时重连。
- 安全角度:是否会发生dns劫持、登录ip更换频繁、单点登录异常等。
- 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。
弱网测试
什么样的网络属于弱网
低于2G速率的时候都属于弱网,3G也可划分为弱网,一般Wi-Fi不划入弱网测试范畴。
如何进行弱网测试
- SIM卡的网络切换(手机-设置-移动网络设置-网络类型选择,3G、4G卡都可以设置关闭3G/4G,只走2G网络)
- 具体弱网场景测试,常见场景包括:地铁/巴士、电梯、楼梯间、停车场
- 使用虚拟机模拟网络速度,如用树莓派搭建的弱网测试仪
- 使用软件进行网络代理,模拟不同的网络带宽、延时率、丢包率
弱网模拟常用工具
方法一:利用抓包工具charles进行弱网设置,适用PC端和移动端(IOS/Android)
配置参数解析:
bandwidth —— 带宽,即上行、下行数据传输速度。
utilisation —— 带宽可用率,大部分modern是100%。
round-trip latency —— 第一个请求的时延,单位是ms。
MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
Releability —— 指连接的可靠性。这里指的是10kb的可靠率,用于模拟网络不稳定。
Stability —— 连接稳定性,也会影响带宽可用性,用于模拟移动网络,移动网络连接一般不可靠。
具体网络设置参考:
方法二:使用chrome浏览器的开发者工具,适用web端 打开开发者工具,打开Network,点击No throttling下拉框
方法三:使用手机自带的限速功能,只适用iOS设备 打开iOS设备,设置->开发者->NETWORK LINK CONDITIONER,系统已经内置常见网络配置,也可以增加自定义配置。(我们集团内部有个叫网络大师的应用可以在iOS和Android手机上直接通过VPN设置网络状态)
有兴趣的同学也可以自己通过树莓派利用Facebook的 ATC搭建弱网模拟环境,后面有时间我再写一篇关于这部分的文章。