? ? ? ?fiddler&charles是較常用的抓包測試工具,其中有很多實用的功能肢执,今天這里主要介紹下功能之一的弱網(wǎng)測試消恍,這里主要介紹以下幾點:
*弱網(wǎng)的速率
*弱網(wǎng)測試操作
*弱網(wǎng)測試重點
Q:在心里默默地問下自己為什么要做弱網(wǎng)測試榴徐?目的是什么?
A:因為有些場景下需要我們去關注程序運行的情況羡榴,如在地鐵里碧查,公交上,甚至是電梯校仑,車庫等等的場景在弱網(wǎng)下是否出現(xiàn)丟包忠售、延遲的情況,若沒有應對機制迄沫,會導致用戶體驗變差而流失稻扬。弱網(wǎng)其實也就是一種異常場景,主要的作用還是輔助我們檢查產品的健壯性羊瘩。
一泰佳、做弱網(wǎng)測試就是很有意義的事情!3韭稹逝她!先看下和弱網(wǎng)相關的上下行速率,時間單位對應為毫秒睬捶,為每上傳黔宛、下載?1KB?所需耗時,1KB=8kb擒贸,弱網(wǎng)的帶寬/延遲/丟包率參考配置:
二臀晃、了解了參數(shù)配置,看下在實際工具中如何操作
1.1介劫、fiddler中Rules->Customize Rules...->彈框(或在右邊“Fiddler Script”中)中Find“delay或uploaded或m_SimulateModem”找到修改的代碼端徽惋;
1.2、在fiddler中按照網(wǎng)絡配置的參數(shù)進行修改上行下行延遲座韵,修改好后點擊保存寂曹;
1.3、在fiddler中保存后還需要啟動,Rules->Performance->Simulate Modem Speeds
2.1在charles中隆圆,先去設定弱網(wǎng)情況 Proxy->Throttle Settings...
2.2在charles中,勾選啟動翔烁,可以直接選擇網(wǎng)絡制式渺氧,也可以自定義上/下行帶寬、丟包率等等(比較強大5乓佟)侣背,點擊ok直接啟動,和主頁面烏龜icon狀態(tài)是同步的慨默,如果需要暫停的話贩耐,可以點擊小烏龜?shù)膇con;
配置參數(shù)解析:
bandwidth —— 帶寬厦取,即上行潮太、下行數(shù)據(jù)傳輸速度
utilisation —— 帶寬可用率,大部分modern是100%
round-trip latency —— 第一個請求的時延虾攻,單位是ms铡买。
MTU —— 最大傳輸單元,即TCP包的最大size霎箍,可以更真實模擬TCP層奇钞,每次傳輸?shù)姆职闆r。
Releability —— 指連接的可靠性漂坏。這里指的是10kb的可靠率景埃。用于模擬網(wǎng)絡不穩(wěn)定。
Stability —— 連接穩(wěn)定性顶别,也會影響帶寬可用性谷徙。用于模擬移動網(wǎng)絡,移動網(wǎng)絡連接一般不可靠筋夏。
三蒂胞、弱網(wǎng)測試重點
弱網(wǎng)環(huán)境下幾個經典問題:
1、丟包条篷。丟包應該是最常見的問題骗随。在TCP協(xié)議中,需要不停的發(fā)送請求赴叹,來確認連接狀態(tài)鸿染,一旦發(fā)生丟包,就需要重傳乞巧。這個時候就需要去檢查產品的處理機制涨椒,給予什么提示,如果未響應怎么處理這些。
2蚕冬、延時免猾。延時也是很常見的問題。由于網(wǎng)絡太差囤热,產生了網(wǎng)絡波動猎提,導致數(shù)據(jù)包在傳輸?shù)臅r候出現(xiàn)抖動∨园可能導致請求出現(xiàn)超時的現(xiàn)象锨苏。這個時候就需要給予相應的提示,或者是其他的處理方式棺聊。
3伞租、弱網(wǎng)下,頁面加載過程限佩,程序閃退葵诈。原因:webview超時處理未在UI線程。toast犀暑、關閉頁面等操作需要在UI線程驯击。
4、302跳轉頁面耐亏,達到內置超時閥值后徊都,webview自動關閉。原因:業(yè)務有頁面加載超時自動關閉的邏輯广辰,超時機制未考慮302場景暇矫。
參考文章:https://blog.csdn.net/tomoya_chen/article/details/80991397