弱网测试
弱网环境存在的问题:
弱网环境下,出现丢包、延时软件的处理机制,最常见的问题就是丢包。
1、丢包:
在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传。这个时候就需要去检查产品的处理机制,给予什么提示,如果未响应怎么处理这些。
2、延时:
由于网络太差,产生了网络波动,导致数据包在传输的时候出现抖动。可能导致请求出现超时的现象。这个时候就需要给予相应的提示,或者是其他的处理方式。
环境准备:
1、安装Charles、Fiddler
2、连接代理
捕获网络信号进行环境部署来分析APP的延迟(加载)、时间、内容
3、工作流程
网络请求->代理proxy->进行目标操作(修改返回值&延迟&丢包等)->返回给移动端
4、工作原理
通过应用层或者传输层的代理服务器,将代理服务器上设置一些模拟恶劣网络环境的参数,使得通过这些代理服务器的流量都被转化为恶劣网络环境下的流量。
使用操作:
1、Charles篇:
可降低宽带速度、使用率、时延、最大传输单元、稳定率等的值,设置流量速率,并添加自定义
2、Fiddler篇
打开Rules->Performance->勾选 Simulate Modem Speeds
3、iPhone开发者选项
(1)设置中没有“开发者”选项?
手机连到装有Xcode的电脑,允许调试后,手机上就会出现“开发者”选项
(2)如何设置自己想要的弱网?
每一项后面点击进入可修改宽带和时延等
4、Chrome篇
H5在网页打开调试控制台->Network->No throttling,模拟多种网络的访问
测试点:
【弱网】
检查弱网条件下,检测产品的运行状态,处理机制,提示信息,包括网络恢复后的重连等等
1、中间转态,如:菊花、动效、进度条、百分比进度
(1、活动页面,是否使用缓存数据
(2、页面加载空白,是否有菊花或者动效
(3、上传批量图片,是否有进度条、百分比进度
(4、音频/视频播放,是否菊花或者动效
(5、等待的过程中,页面上依赖数据的控件是否可以操作
2、请求超时,如:响应时长、提示/形式
(1、响应时长,30s后超时、1分钟后超时
(2、超时后,是否判定为断网状态
(3、超时后,UI界面和提示是否友好
(4、对wifi、2g、3g、4g设置不同的超时时间
3、重连机制,如:点击页面、点击按钮、重新提交
(1、判定为断网或失败,点击页面、点击按钮是否重新提交请求
(2、是否堆积网络请求,【正向】如:10s左右无返回则会重发请求
(3、静默下载,是否保留进度继续下载
(4、上传图片/视频、下载图片/视频时,采用分段上传方式,进度到一半卡住是否又从头开始
4、容错机制,如:loading超时导致ANR or crash
(1、loading超时导致ANR or crash
(2、是否堆积网络请求,如:1次支付操作,断网后堆积多个支付请求,恢复网络后因堆积多个支付请求,是否完成多次支付
【无网】
检查无网情况下,页面是否友好、使用缓存数据、重连机制,无网状态下打开App
无网访问app
1、无网打开需要登录且未登录的app,登录界面是否正常
2、不限制登录访问或已登录的app,无缓存时是否有预置数据;有缓存时是否显示缓存数据
使用app过程中断网
1、请求超时
(1、无网下拉刷新、上拉加载页面,发请求后,是否有超时处理,提示是否友好
(2、等待上传或下载的内容,再次操作后,是否超时处理,进度到一半卡住是否又从头开始
2、默认页面
(1、访问页面,判定为断网,进入默认无网页面
(2、无网页面,返回键、刷新重连、诊断功能
3、重连机制
(1、页面点击后是否能重发请求
(2、下拉刷新后图片是否还能获取并展示
(3、页面tab栏,点击切换/左右切换,是否能重发请求
(4、按钮/操作,点击后是否能重发请求
4、缓存机制
(1、使用缓存数据展示的页面是否正常展示,如:轮播广告、icon广告入口、tab数据等
【网络切换】
检查网络切换,如:wifi切手机流量、wifi换wifi、wifi重连时,页面是否友好、使用缓存数据、重连机制、容错机制
1、请求时切换网络,如果刷新数据、播放音视频、正在上传/下载
2、wifi切手机流量,流量已打开
3、wifi换wifi,中间会断开一会网络
4、wifi断开重连,假象还连接wifi,实际没有流量