弱網測試主要就是對帶寬、丟包、延時等進行模擬弱網環境,屬於健壯性測試的內容。目前移動端用戶所處的網絡環境並不是爲徹底流暢的WiFi環境,而且在WiFi環境下也會有網絡波動。在實時性要求很是高的場景,容易傷害用戶體驗,所以,爲了不用戶體驗不友好形成用戶流失,弱網測試顯得尤其重要。而生活中看視頻經常碰到的卡頓,也能夠經過弱網測試來模擬驗證,找到合適的碼率標準值設置從而提升用戶體驗。html
總結如上圖,弱網測試可分爲弱網功能測試、網絡切換測試、斷網測試等,而且在不一樣網絡環境測試的同時密切關注用戶體驗。網絡
1)弱網下功能測試編輯器
關注頁面數據加載時間即接口發出請求到數據返回響應時間,是否有友好加載提示如loading動畫or進度條,在客戶端設置超時時間內響應正常展現頁面數據及使用功能,超出超時時間後顯示異常友好提示即超時機制,以及根據場景判斷超時後是否進行重連請求機制等。工具
2)進行網絡切換post
操做時,關注網絡切換中正好處於數據加載狀態,是否會致使App crash or ANR。測試
3)斷網狀態下動畫
頁面展現考慮三種加載狀況,一初始化從零加載應顯示異常提示頁面,二頁面加載部分數據後斷網,已加載數據是否正常展現,未加載部分是否與異常提示UI設計保持一致,三已加載全部數據後斷網從新刷新頁面是正常展現仍是覆蓋已有數據(取決開發加載策略)。在已有本地數據存儲的狀況下,查看斷網重連後可否正常使用功能以及傳參數據正確性。阿里雲
在測試過程當中,除了在實際場景如電梯、地下車庫、地鐵等環境進行模擬測試外,還能夠藉助第三方工具來進行網絡模擬測試,如上截圖。由於工做電腦限制,我最經常使用工具就是Charles和iOS自帶開發者工具。設計
1)Charlescode
在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…(轉)
瞭解了弱網測試的要點和工具後,就能夠進行視頻的卡頓測試。網絡環境的不穩定或者是寬帶自身的網速限制,經常致使用戶觀看視頻不流暢,各類卡頓,給用戶極差的體驗。所以對於播放卡頓的定義能夠概述爲「在播放過程當中頻繁出現音畫中止,致使用戶等待的現象」。在年糕媽媽App上表現爲頻繁出現音畫暫停,並出現轉圈圈畫面。
要了解卡頓產生的緣由,就須要尋找切入點,經過技術小組的研究及流程梳理,決定從數據流這個點來切入。影響卡頓的兩個變量爲視頻自己的碼率和用戶網絡的帶寬。經過兩個變量作了卡頓模擬,來驗證兩個變量對播放卡頓的影響,而且經過和網絡推薦碼率做對比分析,來肯定咱們的碼率值是否合理。
根據推薦碼率與阿里雲轉碼的實際碼率,結合不一樣網絡環境設置推薦,定檔下行帶寬測試範圍。下圖僅爲高清分辨率視頻的測試表格設計
根據以上設計表格,經過數據埋點獲得不一樣清晰度下不一樣帶寬不一樣平臺下播放卡頓次數統計,最終得出結論,推出視頻卡頓的解決方案,在此就不作詳述了。