fiider弱网测试整理

fidder弱网测试相关整理

  • 为什么进行弱网测试
    • Fiddler怎样模拟弱网?
    • 限速原理
    • 调整网络环境参数
    • Fiddler模拟恶劣网络环境的局限性

为什么进行弱网测试

模拟用户在网络不稳定的状态或者网速低,这种情况会出现一些bug,严重影响用户体验,要解决这种问题就需要制造弱网环境,复现

Fiddler怎样模拟弱网?

Fiddler 是一个 HTTP 调试代理,它能够记录所有你电脑和互联网之间的 HTTP 通讯,Fiddler 也可以让你检查所有的 HTTP 通讯,设置断点,以及修改所有的“进出”的数据(指Cookie/HTML/JS/CSS 等文件)。
利用Fiddler来模拟恶劣的网络环境,实现简单,较为直观,缺点是只能支持那些利用HTTP进行通信和交互的服务。

  • 打开fiddler,默认情况下Rules –> Performances –> Simulate Modem Speeds 是未勾选状态,网络正常。当选中此选项(模拟网速)后,网速就会变很慢,打开一个网页要加载很久。这样就实现了弱网络效果。
    fiider弱网测试整理_第1张图片
    要了解网速的具体数值,可以使用一个工具speedtest

限速原理

Fiddler限速是以网络延迟的方式实现的,网络延迟时间*网速=传输字节数。

  • 点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript。

fiider弱网测试整理_第2张图片

  • 打开该文件后,Ctrl + F 查找m_SimulateModem标志位,可以看到如下代码:
    fiider弱网测试整理_第3张图片

注释说明: request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。

调整网络环境参数

查找到if (m_SimulateModem)语句,修改代码。下面的脚本实现了一个随机延时量设置,使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动:

static function randInt(min, max) {
return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession[“request-trickle-delay”] = “”+randInt(1,50);
// Delay receives by 150ms per KB downloaded.
oSession[“response-trickle-delay”] = “”+randInt(1,50);

Fiddler模拟恶劣网络环境的局限性

Fiddler进行限速较为简单和灵活,配置也较为方便,但是由于它是一个应用层的HTTP的代理,只能模拟该层上的行为,对于一些复杂的网络层的丢包、重传等恶劣情况就不能很好的模拟出来,而且对于其他协议的应用也不支持

你可能感兴趣的:(fiider弱网测试整理)