Fiddler做弱網測試的步驟
面試題:
如何用fiddler做弱網測試?
答:在fiddler腳本編輯器中修改上行下行的延遲時間,然后開啟模擬器,就可以開始測試了。
步驟:
1、ctrl+R打開fiddle的腳本編輯窗口,ctrl+F查找response-trickle-delay,找到如下圖中的

解釋:request-trickle-delay:網絡請求的延遲時間,response-trickle-delay:網絡響應的延遲時間,單位都是ms
網絡取值的算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kb/s 需要delay200毫秒來接收數據。

我認為的模擬2G設置request延時=3000ms,response延時=1000ms
3G上行100ms,下行40ms
2、修改好代碼后,啟用模擬器
在fiddler中Rules → Performances → Simulate Modem Speeds

3、分析
手機點擊登錄,抓到了登錄的包,fiddler中選擇這條登錄請求,查看右邊的statistics面板


5、【編寫自定義腳本:設置一定范圍內隨機抖動】
??進一步地,我們可以擴展CustomRules.js里的邏輯,參照Jscript的文檔可以在模擬惡劣環境中加入更多自定義的邏輯,這里實現了一個隨機延時量設置,使得網絡帶寬不是恒定為一個低速的值,而是會在一定范圍內隨機抖動:
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的代理,只能模擬該層上的行為,對于一些復雜的網絡層的丟包、重傳等惡劣情況就不能很好的模擬出來,而且對于其他協議的應用也不支持,后續會介紹一些其他的模擬惡劣環境的方法和軟件來彌補這些缺失。
作者: 千里和他的軟件測試
軟件測試學習交流: 軟件測試交流群 172489141
銀行金融業務交流: 軟件測試學習交流群 52304542
接口自動化性能交流: 一個正經的測試群 188427938

浙公網安備 33010602011771號