参考资料:
1、https://zhuanlan.zhihu.com/p/143080849
一、弱网简介
弱网看字面意思就是网络比较弱,我们通称为信号差,网速慢。
1、弱网的影响
在地铁、隧道、电梯和车库等场景下使用APP ,网络会出现延时、中断和超时等情况。
- 如果我们处于网速慢的地段,我们请求某个功能,app会响应非常慢,页面加载不出来,对于我们测试人员来看,就是用户请求这个API,API加载速度比较慢。
- 大家都喜欢刷抖音当我们在地铁上刷抖音,滑到下一个时候突然间就会页面卡住,这也是网络的原因导致的。
- 很多bug都会在弱网的情况下展现出来,如由于响应慢而多次请求,最终导致app出现ANR问题。
2、弱网定义
现在很多时候2G或者在地铁、电梯等场景的3G网,均可定义为弱网,下面是常见网络制式的上行、下载速度表,可以参考。
二、Fiddler实现弱网的测试
无论是做web端还是app端的测试,我们都需要对弱网进行测试,对于弱网方法有很多种,如:Fiddler模拟弱网,控制电脑的网速等,今天介绍下Fiddler如何进行弱网测试。
1、Fiddler中启动弱网
打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多。
2、设置弱网的参数
菜单Rules—>Cutomize Rules
让我们来分析一下这几行代码:
if (m_SimulateModem) { // Delay sends by 300ms per KB uploaded. oSession["request-trickle-delay"] = "300"; // Delay receives by 150ms per KB downloaded. oSession["response-trickle-delay"] = "150"; }
- 首先来判断m_SimulateModem是否为true(是否开启),也就是是否设置了弱网模式。
- oSession[“request-trickle-delay”] = “300”; 上传1KB内容需要300ms,转化一下上传速度:1Kb/0.3s = 3.3KB/s,也就是说网络上行速度只有3.3KB。
- oSession["response-trickle-delay"] = "150"; 下载1KB内容需要150ms,转化后的下载速度:1KB/0.15s=6.6KB/s,也就是说网络下载速度只有6.6KB。
- 如果你想设置下载的速度为50KB/s,你则需要设置Delay 时间为 20ms。
- 也可以限制上传的速度,调整oSession[“response-trickle-delay”]的值即可。
3、验证效果
同样的接口,开启弱网前后分别运行一次,查看统计数据。
4、恢复设置
完成测试之后,需要再次执行:打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,关闭弱网模拟。