弱网测试2022
?
當(dāng)前APP網(wǎng)絡(luò)環(huán)境比較復(fù)雜,網(wǎng)絡(luò)制式有2G、3G、4G網(wǎng)絡(luò),還有越來越多的公共Wi-Fi。不同的網(wǎng)絡(luò)環(huán)境和網(wǎng)絡(luò)制式的差異,都會對用戶使用app造成一定影響。另外,當(dāng)前app使用場景多變,如進(jìn)地鐵、上公交、進(jìn)電梯等,使得弱網(wǎng)測試顯得尤為重要。
如果app沒有對各種網(wǎng)絡(luò)異常進(jìn)行兼容處理,那么用戶可能在日常生活中遇到APP閃退、ANR、數(shù)據(jù)丟失等問題。因此,app網(wǎng)絡(luò)測試,特別是弱網(wǎng)測試尤為重要。本文梳理了app網(wǎng)絡(luò)測試要點(diǎn)和弱網(wǎng)測試常用模擬方法,讓大家對網(wǎng)絡(luò)測試有一個全面的認(rèn)識。
01
APP網(wǎng)絡(luò)測試要點(diǎn)
1、各個網(wǎng)絡(luò)下功能測試
-
不同網(wǎng)絡(luò)下,檢查基本功能點(diǎn)
-
運(yùn)營商移動、聯(lián)通、電信接入點(diǎn)測試(需要使用實(shí)際SIM卡)
-
若有智能DNS功能,還需要關(guān)注運(yùn)營商判斷/歸類
-
高延時、高丟包、無網(wǎng)、假熱點(diǎn)也可歸入弱網(wǎng)測試范疇
2、網(wǎng)絡(luò)切換測試
部分APP有智能DNS功能,網(wǎng)絡(luò)切換涉及DNS切換。
網(wǎng)絡(luò)切換檢測機(jī)制:Android可以監(jiān)聽系統(tǒng)廣播
3、弱網(wǎng)測試
用戶體驗和異常處理是各個網(wǎng)絡(luò)場景都需要關(guān)注的,只是弱網(wǎng)場景下,需要重點(diǎn)關(guān)注。
02
弱網(wǎng)測試模擬
1、什么樣的網(wǎng)絡(luò)屬于弱網(wǎng)
低于2G速率的時候都屬于弱網(wǎng),3G也可劃分為弱網(wǎng),一般Wi-Fi不劃入弱網(wǎng)測試范疇。
2、如何進(jìn)行弱網(wǎng)測試
-
SIM卡的網(wǎng)絡(luò)切換
手機(jī)-設(shè)置-移動網(wǎng)絡(luò)設(shè)置-網(wǎng)絡(luò)類型選擇
3G、4G卡都可以設(shè)置關(guān)閉3G/4G,只走2G網(wǎng)絡(luò)。 -
具體弱網(wǎng)場景測試,常見場景包括:地鐵/巴士、電梯、樓梯間、停車場
-
使用虛擬機(jī)模擬網(wǎng)絡(luò)速度,如用樹莓派搭建的弱網(wǎng)測試儀
-
使用軟件進(jìn)行網(wǎng)絡(luò)代理,模擬不同的網(wǎng)絡(luò)帶寬、延時率、丟包率
3、弱網(wǎng)模擬常用工具
方法一:charles弱網(wǎng)模擬
?
配置參數(shù)解析:
-
bandwidth?——?帶寬,即上行、下行數(shù)據(jù)傳輸速度
-
utilisation?——?帶寬可用率,大部分modern是100%
-
round-trip latency?——?第一個請求的時延,單位是ms
-
MTU?——?最大傳輸單元,即TCP包的最大size,可以更真實(shí)模擬TCP層,每次傳輸?shù)姆职闆r
-
Releability?—— 指連接的可靠性。這里指的是10kb的可靠率。用于模擬網(wǎng)絡(luò)不穩(wěn)定
-
Stability?——?連接穩(wěn)定性,也會影響帶寬可用性。用于模擬移動網(wǎng)絡(luò),移動網(wǎng)絡(luò)連接一般不可靠
具體網(wǎng)絡(luò)設(shè)置參考:
Fiddler也可以進(jìn)行弱網(wǎng)環(huán)境模擬
方法二:chrome的webview調(diào)試工具弱網(wǎng)模擬
使用chrome的webview調(diào)試工具,缺點(diǎn)是只適用于web頁面的弱網(wǎng)模擬。
具體步驟:
-
應(yīng)用打開webview調(diào)試功能,具體如下:
if?(Build.VERSION.SDK_INT >=?Build.VERSION_CODES.KITKAT)?{undefined
? ? WebView.setWebContentsDebuggingEnabled(true);
}
-
手機(jī)鏈接電腦,運(yùn)行APP,進(jìn)入具體H5頁面;
-
chrome的DevTools中打開Webview:進(jìn)入chrome://inspect/#devices,會顯示已經(jīng)連接設(shè)備,選中待調(diào)試webview的inspect network頁面,No throttling下拉框,可以進(jìn)行網(wǎng)絡(luò)模擬。
方法三:
iOS手機(jī)自帶Network Link Conditioner 弱網(wǎng)模擬
iPhone手機(jī)打開開發(fā)者選項:
設(shè)置-開發(fā)者選項 > Network Link Conditioner 入口。
系統(tǒng)已經(jīng)內(nèi)置常見網(wǎng)絡(luò)配置,也可以增加自定義配置。
具體配置參數(shù):
-
in Bandwidth?下行帶寬,即下行網(wǎng)絡(luò)速度
-
In packet loss?下行丟包率
-
in delay?下行延遲,單位ms
-
out bandwidth?上行帶寬
-
out packet loss?上行丟包率
-
out delay?上行延遲
-
DNS delay?DNS 解析延遲
-
protocol?支持Any,IPV4、IPV6
-
interface?支持Any,WI-Fi,cellular(蜂窩網(wǎng))
具體步驟參考:

?
網(wǎng)絡(luò)測試經(jīng)典問題分享
-
場景一:弱網(wǎng)下,頁面加載過程,程序閃退
原因:webview超時處理未在UI線程。toast、關(guān)閉頁面等操作需要在UI線程 -
場景二:302跳轉(zhuǎn)頁面,達(dá)到內(nèi)置超時閥值后,webview自動關(guān)閉
原因:業(yè)務(wù)有頁面加載超時自動關(guān)閉的邏輯,超時機(jī)制未考慮302場景
?
總結(jié)
- 上一篇: 安装会声会影教程
- 下一篇: 使用vite创建单页应用