一.弱网络测试背景
移动端产品的使用并非完全都是在流畅的wifi环境,大部分用户主要使用4G,3G,2G等网络,另外因为移动端产品使用的场景多变,如进公交,上地铁,坐电梯,使得弱网测试显得尤为重要。考虑到各种场景的客户端展示及容错,提升产品的印象和用户体验,提高产品的健壮性,弱网测试必不可少。
二.弱网络测试建议
网下需要进行功能点测试,无网络测试,网络切换测试等,测试过程除了关注功能点的实现,还应关注用户体验等各个方面
三.弱网络测试通用功能点总结
四.弱网络测试用例实例
五. Fiddler模拟弱网
1.手机设置上网代理
(1)启动Fiddler,打开菜单栏中的Tools-Fiddler Options,打开Options
(2)对话框
(3)在Fiddler Options对话框,点击Connections,勾选Allow romote computers toconnect后面的复选框,点击OK按钮
(4)在本机cmd里面输入:ipconfig,找到本机的ip地址
(5)打开Android设备的设置-WALN,找到和电脑连的一样的网络,长按-修改网络,弹出网络设置对话框,找到代理选择手动,主机名(电脑ip地址),端口8888(跟fiddler设置一致),然后点击确定按钮
2.Fiddler模拟限速环境
(1)设置端口号8888(保证没被占用)
(2)重启Fiddler
(3)手动设置上行,下行速率 网络取值算法:1000/下载速度=需要delay时间(毫秒),比如50kb/s,需要delay200毫秒来接收数据
Rules-Customize Rules-CTRL+F查找(SimulateModem),然后修改速率
2G/3G建议上下行速率如下:
(4)设置模拟调制解调器的速度rules-performance-simulate modem speeds -保存
(5)重启Fiddler
六.常见问题及原因
1.上传大图,多图,视频,文件时,在弱网环境下出现进度条走到一半卡住然后又从头开始。
原因:采用分段上传方式,在请求超时时间到时,分段传输没有结束,代码逻辑不对,导致每次重试都重头上传,一直循环。
2.在弱网络环境下容易出现登录不上或者登陆上马上掉线;
原因:登录没有缓冲机制,而请求超时时间的设置没有区分同网络情况;解决方案:针对wifi、2g、3g、4g设置不同的超时时间。
3.刷新页面很快就给出暂无内容的提示,明显没有到请求超时时间;
原因:可能是连接超时时间太短,wifi下设置两秒,在弱网络下需要加长。
4.弱网络环境下,请求的数据返回时间较长,等待的过程中,如果页面上的相关控件仍然可以操作,则有可能出现闪退现象;
原因:依赖数据的控件操作,在数据返回前没有做兼容处理。
5.逻辑错误。比如:购买时扣费和获得不一致,领取物品没到账等。
6.页面显示错误。比如:页面重叠。
7.用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,
数据下载过程中、下载失败后,未进行数据回滚,中止后重新下载,出现数据重复
进行数据回滚,中止后重新下载,出现数据重复。
8.用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据
9…在弱网环境下,用户输入用户名和密码点击登录,应用链接超时后,按照强网业务逻辑处理,导致返回超时异常。
10.在弱网环境下,用户输入用户名和密码后点击登录,数据下载超时,加载数据严重依赖于后来的异步加载。数据还没来得及返回,应用跳转到下个activity,导致崩溃。
11.弱网环境下某个操作响应时间
原因:APP用户对等待时间容忍度低,若弱网环境loading超过5s,用户很容易kill应用后再次进入应用
12.弱网环境下直至超时,UI界面友好度&APP是否稳定
原因:容错机制主要是考虑弱网情况下带来的不稳定,常见的问题是:loading超时导致ANR or crash
【测试点】弱网环境直至超时,判定为断网状态,UI界面和提示,友好且理解无歧义
13.断网后环境下,是否自动重发请求
原因:不同模块,开发对请求处理不同。测试前可了解,代码是否支持自动重复请求,自动重发请求的频率是什么?
【测试点】断网后恢复网络,是否堆积网络请求(目前来说理财模块 当10s左右无返回 则会重发请求),此时请求和返回正常情况下,是否出现异常情况。比如1次支付操作,断网后堆积多个支付请求,恢复网络后因堆积多个支付请求,是否完成多次支付。
ps:断网后恢复网络,考虑APP进行操作目的是否对伤害用户体验,通过哪种手段可以达到操作目的同时用户体验无感或者低伤害
14.弱网络环境下,请求的数据返回时间较长,等待的过程中,如果页面上的相关控件仍然可以操作,则容易出现异常现(闪退现象、触发底部时获得原页面请求数据)
原因:依赖数据的控件操作,在数据返回前没有做兼容处理
15.搜索时输入关键字会连续发请求,停下时,显示最终的关键字搜索结果,但很快又会被前面的关键字搜索结果覆盖了;
原因:中间的请求返回较慢,显示了最终的结果后,之前的请求返回的数据应不做处理。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取