常見的網(wǎng)絡(luò)環(huán)境
App在使用的過程中峡蟋,難免會遇到各種復(fù)雜的網(wǎng)絡(luò)環(huán)境。常常會出現(xiàn)網(wǎng)絡(luò)異常、上行或下行超時,導(dǎo)致應(yīng)用中出現(xiàn)丟包烁巫。
所以,我們要對app在上線前做一定場景的弱網(wǎng)絡(luò)環(huán)境測試蓬戚,并查看app在各種網(wǎng)絡(luò)環(huán)境下是否存在某些未知的問題。下面是我們常見的幾種網(wǎng)絡(luò)環(huán)境:
- 正常的 WiFi
- 4G
- 3G
- 2G
- 高延時
- 高丟包
- 假熱點
- 無網(wǎng)離線狀態(tài)
模擬網(wǎng)絡(luò)環(huán)境
iOS 預(yù)置網(wǎng)絡(luò)環(huán)境
Apple在 iOS 系統(tǒng)中預(yù)置了網(wǎng)絡(luò)調(diào)試工具宾抓,添加測試設(shè)備并使用XCode連接設(shè)備激活開發(fā)者模式子漩。將手機(jī)系統(tǒng)中“設(shè)置 —> 開發(fā)者 —> NETWORK LINK CONDITIONER ->Enable” 打開即可。
說明:
圖中是系統(tǒng)中預(yù)制的網(wǎng)絡(luò)環(huán)境石洗,也可以根據(jù)不同需求自己配置相應(yīng)的網(wǎng)絡(luò)環(huán)境幢泼;
開啟后影響的是整個系統(tǒng)的網(wǎng)絡(luò)環(huán)境,所以測試完畢后不要忘記關(guān)掉讲衫;
自定義配置網(wǎng)絡(luò)環(huán)境
根據(jù)不同的需求配置相應(yīng)的網(wǎng)絡(luò)環(huán)境缕棵,需要了解配置選項的含義,以100% Loss為例看看具體的配置及含義:
說明:
- 帶寬:
帶寬,是數(shù)據(jù)的傳輸能力招驴,指單位時間內(nèi)能夠傳輸?shù)臄?shù)據(jù)量篙程。
上行帶寬(速度)指的是上傳的速度,而下行帶寬(速度)指的是下載數(shù)據(jù)的速度别厘。 - 丟包率:
丟包虱饿,是指在通信中是指通信數(shù)據(jù)包丟失;丟包率是指所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)組的比率触趴。 - 延遲:
網(wǎng)絡(luò)延遲是指各式各樣的數(shù)據(jù)在網(wǎng)絡(luò)介質(zhì)中通過網(wǎng)絡(luò)協(xié)議(如TCP/IP)進(jìn)行傳輸氮发,如果信息量過大不加以限制,超額的網(wǎng)絡(luò)流量就會導(dǎo)致設(shè)備反應(yīng)緩慢雕蔽,造成網(wǎng)絡(luò)延遲折柠。
網(wǎng)絡(luò)延遲程度:
1~30ms:極快,幾乎察覺不出有延遲批狐,玩任何游戲速度都特別順暢;
31~50ms:良好前塔,可以正常游戲嚣艇,沒有明顯的延遲情況;
51~100ms:普通华弓,對抗類游戲能感覺出明顯延遲食零,稍有停頓;
100ms以上:差寂屏,無法正常游戲贰谣,有卡頓,丟包并掉線現(xiàn)象
- DNS延遲:
DNS的作用就是根據(jù)域名查出IP地址迁霎;在解析的過程中出現(xiàn)延遲吱抚。 - IPv4/IPv6 的Protocol選『Any』即可;
各種網(wǎng)絡(luò)環(huán)境的設(shè)置可參考下圖進(jìn)行配置:
網(wǎng)絡(luò)環(huán)境 | 上/下行帶寬(kbps) | 上/下行丟包率(%) | 上/下行延遲(ms) | DNS延遲(ms) |
---|---|---|---|---|
2G | 20/50 | 0/0 | 500/400 | 0 |
3G | 330/2000 | 0/0 | 100/100 | 0 |
4G | 40000/80000 | 0/0 | 15/10 | 0 |
正常WIFi | 33000/40000 | 0/0 | 1/1 | 0 |
帶寬有限環(huán)境 | 32/32 | 0/0 | 200/100 | 0 |
低丟包率考廉、低時延的環(huán)境(上行) | 33000/40000 | 10/0 | 100/100 | 200 |
低丟包率秘豹、高時延的環(huán)境(上行) | 33000/40000 | 10/0 | 350/350 | 350 |
低丟包率、低時延的環(huán)境(下行) | 33000/40000 | 0/10 | 100/100 | 200 |
低丟包率昌粤、高時延的環(huán)境(下行) | 33000/40000 | 0/10 | 350/350 | 350 |
低丟包率既绕、低時延的環(huán)境 | 33000/40000 | 10/10 | 100/100 | 200 |
低丟包率、高時延的環(huán)境 | 33000/40000 | 10/10 | 350/350 | 350 |
高丟包率的環(huán)境(上行) | 33000/40000 | 90/0 | 100/100 | 200 |
高丟包率的環(huán)境(下行) | 33000/40000 | 0/90 | 100/100 | 200 |
高丟包率的環(huán)境 | 33000/40000 | 90/90 | 100/100 | 200 |
網(wǎng)絡(luò)超時(響應(yīng)) | 33000/40000 | 0/100 | 100/100 | 200 |
網(wǎng)絡(luò)超時(請求) | 33000/40000 | 100/0 | 100/100 | 200 |
網(wǎng)絡(luò)超時(100%丟包) | 33000/40000 | 100/100 | 100/100 | 200 |
無網(wǎng)(飛行模式) |
弱網(wǎng)場景下的測試:
- 弱網(wǎng)下的功能測試
一般的功能測試都是在正常的Wi-Fi網(wǎng)絡(luò)環(huán)境下進(jìn)行的涮坐,為了保證程序的穩(wěn)定性凄贩,至少應(yīng)在一種弱網(wǎng)環(huán)境下(建議在iOS預(yù)置的100%Loss、Very Bad Network袱讹、High Latency DNS中選擇一種)將所有功能測試過一遍疲扎。
- 弱網(wǎng)下響應(yīng)超時的異常處理
a. 加載狀態(tài)
加載過程中,檢查加載圖標(biāo)、加載文案评肆、Loading债查、進(jìn)度條的正確性。
b. 響應(yīng)超時:
不同的功能及頁面根據(jù)業(yè)務(wù)的需要瓜挽,應(yīng)設(shè)置合理的超時限制盹廷;
響應(yīng)超時處理:
1) 超時提示
商店數(shù)據(jù)加載、登錄久橙、收藏等操作俄占,請求超時時,頁面顯示友好明確的異常提示淆衷;
2) 超時重連
購買缸榄、上傳播放記錄、下載等重要或不可重復(fù)的操作祝拯,超時或斷網(wǎng)后甚带,檢查是否重新發(fā)送請求;
3) 穩(wěn)定性
弱網(wǎng)情況下等待超時佳头,檢查使用網(wǎng)絡(luò)功能的穩(wěn)定性鹰贵,有無異常閃退;
- 無網(wǎng)狀態(tài)測試
a. 無網(wǎng)時請求網(wǎng)絡(luò)操作(下載康嘉、注冊登錄碉输、購買等),友好提示亭珍;
b. 已下載的音頻可播放敷钾,緩存在本地的數(shù)據(jù)顯示正常;
c. 無網(wǎng)狀態(tài)的某些操作(播放列表肄梨、播放記錄等)阻荒,有網(wǎng)時上傳;
- 大流量下網(wǎng)絡(luò)形態(tài)測試
蜂窩網(wǎng)絡(luò)情況下峭范,下載财松、觀看視頻等大流量功能,詢問用戶是否使用蜂窩網(wǎng)絡(luò)