視訊弱網測試及常用模擬工具

年糕媽媽技術團隊發表於2019-02-25

1.弱網測試背景

弱網測試主要就是對頻寬、丟包、延時等進行模擬弱網環境,屬於健壯性測試的內容。目前移動端使用者所處的網路環境並非為完全流暢的WiFi環境,並且在WiFi環境下也會有網路波動。在實時性要求非常高的場景,容易傷害使用者體驗,因此,為了避免使用者體驗不友好造成使用者流失,弱網測試顯得尤為重要。而生活中看視訊常常碰到的卡頓,也可以通過弱網測試來模擬驗證,找到合適的位元速率標準值設定從而提高使用者體驗。

2.弱網測試要點

視訊弱網測試及常用模擬工具

總結如上圖,弱網測試可分為弱網功能測試、網路切換測試、斷網測試等,並且在不同網路環境測試的同時密切關注使用者體驗。

1)弱網下功能測試

關注頁面資料載入時間即介面發出請求到資料返回響應時間,是否有友好載入提示如loading動畫or進度條,在客戶端設定超時時間內響應正常展示頁面資料及使用功能,超出超時時間後顯示異常友好提示即超時機制,以及根據場景判斷超時後是否進行重連請求機制等。

2)進行網路切換

操作時,關注網路切換中正好處於資料載入狀態,是否會導致App crash or ANR。

3)斷網狀態下

頁面展示考慮三種載入情況,一初始化從零載入應顯示異常提示頁面,二頁面載入部分資料後斷網,已載入資料是否正常展示,未載入部分是否與異常提示UI設計保持一致,三已載入所有資料後斷網重新重新整理頁面是正常展示還是覆蓋已有資料(取決開發載入策略)。在已有本地資料儲存的情況下,檢視斷網重連後能否正常使用功能以及傳引數據正確性。

3.常用模擬弱網測試工具

視訊弱網測試及常用模擬工具

在測試過程中,除了在實際場景如電梯、地下車庫、地鐵等環境進行模擬測試外,還可以藉助第三方工具來進行網路模擬測試,如上截圖。因為工作電腦限制,我最常用工具就是Charles和iOS自帶開發者工具。

1)Charles

在Charles的安裝及使用請參考以下連結juejin.im/post/5c0a43…

視訊弱網測試及常用模擬工具

Proxy-Throttling勾選Enable Throttling啟用網速模擬,可選擇內建的一些頻寬設定或自定義設定,儲存後可以點選主介面的小?按鈕開啟/禁用慢網速功能,配置含義:Bandwidth(頻寬)、Utilistation(利用百分比)、Round-trip(往返延遲)、MTU(位元組)

不同網路測試環境設定參考如下圖:

視訊弱網測試及常用模擬工具

2)Fiddler

fiddler的安裝及使用請參考 www.cnblogs.com/yyhh/p/5140… (轉)

Rules-customer rules開啟自定義指令碼編輯器,找到如下圖程式碼,更改頻寬延遲設定

視訊弱網測試及常用模擬工具

設定完成後,Performance-Simulate Modem Speeds,完成弱網模擬功能的開啟

3)iOS自帶開發者工具Network Link Conditioner

因為是蘋果自帶的網速模擬工具,需要在Xcode環境下啟用手機設定中才會顯示開發者選項,Xcode安裝使用請參考www.jianshu.com/p/94f722406… (轉)

視訊弱網測試及常用模擬工具

4)Facebook開源工具ATC

要使用ATC,需要在Linux環境下建立熱點,這裡就不做詳細概述,請參考 www.jianshu.com/p/fb4824fd5…(轉)

4.視訊卡頓弱網測試思路

瞭解了弱網測試的要點和工具後,就可以進行視訊的卡頓測試。網路環境的不穩定或者是寬頻自身的網速限制,常常導致使用者觀看視訊不流暢,各種卡頓,給使用者極差的體驗。因此對於播放卡頓的定義可以概述為“在播放過程中頻繁出現音畫停止,導致使用者等待的現象”。在年糕媽媽App上表現為頻繁出現音畫暫停,並出現轉圈圈畫面。

要了解卡頓產生的原因,就需要尋找切入點,通過技術小組的研究及流程梳理,決定從資料流這個點來切入。影響卡頓的兩個變數為視訊本身的位元速率和使用者網路的頻寬。通過兩個變數做了卡頓模擬,來驗證兩個變數對播放卡頓的影響,並且通過和網路推薦位元速率作對比分析,來確定我們的位元速率值是否合理。

  • 位元速率變數
    第一張圖為推薦位元速率,第二張圖為阿里雲轉碼後的位元速率。

視訊弱網測試及常用模擬工具

  • 頻寬變數

根據推薦位元速率與阿里雲轉碼的實際位元速率,結合不同網路環境設定推薦,定檔下行頻寬測試範圍。下圖僅為高清解析度視訊的測試表格設計

視訊弱網測試及常用模擬工具

5.模擬結論

根據以上設計表格,通過資料埋點得到不同清晰度下不同頻寬不同平臺下播放卡頓次數統計,最終得出結論,推出視訊卡頓的解決方案,在此就不做詳述了。


相關文章