在當(dāng)今移動互聯(lián)網(wǎng)盛行的時代,網(wǎng)絡(luò)的形態(tài)除了有線連接畦粮,還有2G/3G/4G/5G/WiFi等多種手機網(wǎng)絡(luò)連接方式散址。不同的協(xié)議、不同的制式宣赔、不同的速率预麸,使移動應(yīng)用運行的場景更加豐富。目前移動端產(chǎn)品的使用用戶所處的網(wǎng)絡(luò)并非完全流暢的網(wǎng)絡(luò)環(huán)境儒将,因移動端產(chǎn)品使用場景多變吏祸,如進地鐵、上公交钩蚊、進電梯等贡翘,使得弱網(wǎng)測試顯得尤為重要。畢竟考慮到各種場景的客戶端展示及容錯砰逻,能極大提升產(chǎn)品印象和用戶體驗鸣驱。本文就和大家分享一下如何上手弱網(wǎng)測試,弱網(wǎng)測試工具的使用蝠咆。
1. 什么是弱網(wǎng)測試踊东?
弱網(wǎng)測試作為健壯性測試的重要部分北滥,對于移動端測試來說必不可少。從測試角度來說闸翅,需要額外關(guān)注的場景就遠不止斷網(wǎng)再芋、網(wǎng)絡(luò)故障等情況了。對于弱網(wǎng)的數(shù)據(jù)定義缎脾,不同的應(yīng)用所界定的含義是不一樣且不清晰的祝闻,不僅要考慮各類型網(wǎng)絡(luò)最低速率,還要結(jié)合業(yè)務(wù)場景和應(yīng)用類型去劃分遗菠。按照移動的特性來說联喘,一般應(yīng)用低于2G速率的都屬于弱網(wǎng),也可以將3G劃分為弱網(wǎng)辙纬。除此之外豁遭,弱信號的WiFi通常也會被納入到弱網(wǎng)測試場景中。
1.1 弱網(wǎng)的功能測試
這一部分主要是在各種不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下進行的功能測試贺拣,同時模擬高延遲蓖谢、高丟包的異常網(wǎng)絡(luò)下進行健壯性測試。2G/3G/4G/5G的網(wǎng)絡(luò)可以通過使用電話卡移動/聯(lián)通/電信等網(wǎng)絡(luò)進行模擬譬涡,關(guān)注游戲界面的響應(yīng)時間闪幽、界面呈現(xiàn)是否完整一致等。
弱網(wǎng)功能測試建議將整體的功能測試用例在弱網(wǎng)環(huán)境下進行一輪測試涡匀,相同的模塊下的功能可以分多個網(wǎng)絡(luò)條件進行測試盯腌。這部分發(fā)現(xiàn)的問題可能會有:界面圖片在弱網(wǎng)環(huán)境下加載不出來(這就需要對圖片加載邏輯進行優(yōu)化)、界面排版結(jié)構(gòu)混亂(這就需要界面在布局是在弱網(wǎng)環(huán)境的加載進行優(yōu)化)陨瘩、界面長時間響應(yīng)沒有任何顯示(這就需要在顯示邏輯進行優(yōu)化腕够,以及引入重試機制)等。
1.2 無網(wǎng)狀態(tài)測試
無網(wǎng)狀態(tài)測試則是在切換網(wǎng)絡(luò)的情況下進行的測試舌劳,主要關(guān)注界面的顯示帚湘、用戶交互、本地數(shù)據(jù)的存儲斷網(wǎng)功能的使用等甚淡。經(jīng)常該部分也需要與網(wǎng)絡(luò)切換部分協(xié)同進行大诸。通常來說:
斷網(wǎng)情況下請求一個非本地數(shù)據(jù)時需要設(shè)定一定的時間等待上限,及時提示玩家網(wǎng)絡(luò)異常以及重試機制贯卦;
斷網(wǎng)情況下請求一個部分本地數(shù)據(jù)的界面需要觀察本地數(shù)據(jù)的部分是否加載顯示正常底挫,待請求的部分是否符合用戶交互給的缺省樣式;
斷網(wǎng)情況下請求一個完全本地數(shù)據(jù)的界面是否顯示正常脸侥。這里還需要考慮本地數(shù)據(jù)存儲的情況,有些需要聯(lián)網(wǎng)后上報服務(wù)器的數(shù)據(jù)本地是否正確的存儲盈厘,聯(lián)網(wǎng)后這些數(shù)據(jù)能否正常上報睁枕。
無網(wǎng)狀態(tài)測試建議按照頁面劃分進行,針對每個頁面單獨測試無網(wǎng)狀態(tài)的顯示,界面間跳轉(zhuǎn)的顯示外遇,界面功能的點擊和顯示注簿,同時關(guān)注無網(wǎng)到有網(wǎng)時的頁面恢復(fù)顯示狀態(tài)、數(shù)據(jù)上報情況是否正常跳仿。
1.3 網(wǎng)絡(luò)切換測試
這部分主要是進行幾個不同網(wǎng)絡(luò)場景的切換诡渴,包括WiFi到2G/3G/4G/5G、WiFi到無網(wǎng)菲语、2G/3G/4G/5G到WiFi妄辩、無網(wǎng)到2G/3G/4G/5G、無網(wǎng)到WiFi等山上。主要關(guān)注頁面的顯示與交互眼耀、尤其是弱網(wǎng)到WiFi、WiFi到弱網(wǎng)的情況佩憾,是否會有crash以及顯示的錯亂哮伟、客戶端服務(wù)器數(shù)據(jù)的一致性、請求堆積的處理等妄帘。
1.4 用戶體驗關(guān)注
弱網(wǎng)測試的最重要的目的就是盡可能保證用戶體驗楞黄。關(guān)注的關(guān)鍵點包括:
界面響應(yīng)時間是 否可接受,包括熱啟動抡驼、冷啟動時間鬼廓,界面切換,前后臺切換婶恼,首字顯示時間桑阶,首屏顯示時間等;
界面呈現(xiàn)是否完整一致勾邦;
超時文案是否符合定義蚣录,異常信息是否顯示正常;
是否有超時重連機制眷篇;
安全角度:登錄ip更換頻繁萎河、單點登錄異常等;
大流量事件風(fēng)險:是否會在弱網(wǎng)下進行更新apk包蕉饼、下載文件等大流量動作虐杯。
2. 如何做弱網(wǎng)測試?
對于測試人員來說昧港,要高效的進行弱網(wǎng)測試擎椰,就需要借助第三方工具搭建出各種弱網(wǎng)的環(huán)境,模擬一個弱網(wǎng)環(huán)境即可创肥。
2.1 弱網(wǎng)工具介紹
目前在測試移動設(shè)備上進行弱網(wǎng)絡(luò)專項測試的方案主要有3種:
第一種:通過設(shè)備連接到PC上進行弱網(wǎng)絡(luò)測試达舒,比如Fiddler值朋,Charles,Network Emulator Toolkit等巩搏。以Charles為例昨登,基本思路是在PC上裝一個Charles網(wǎng)絡(luò)抓包工具,然后再將設(shè)備的網(wǎng)絡(luò)代理到PC上贯底,通過在PC上的Charles設(shè)置延時來進行弱網(wǎng)絡(luò)模擬丰辣。
如下圖所示:打開設(shè)置界面
進行常用的網(wǎng)速模擬設(shè)置
第二種:在專有服務(wù)器上構(gòu)建弱網(wǎng)絡(luò)WiFi,移動設(shè)備連接該WiFi進行弱網(wǎng)絡(luò)測試禽捆,相關(guān)的技術(shù)方案有Facebook的ATC和騰訊的Wetest-WiFi笙什。以(Augmented Traffic Control)ATC為例,原理實際是利用了Linux流量控制系統(tǒng)睦擂,通過純Python的網(wǎng)絡(luò)庫pyroute2調(diào)用netlink的API控制得湘,它是搭建在Linux服務(wù)端的Web服務(wù),通過移動設(shè)備訪問web服務(wù)來選擇測試的網(wǎng)絡(luò)環(huán)境顿仇。
如下圖所示:打開Web網(wǎng)頁進行網(wǎng)絡(luò)測試環(huán)境選擇
第三種:以獨立 app 的方式淘正,為用戶提供弱網(wǎng)絡(luò)模擬服務(wù)。比如騰訊 wetest 服務(wù)平臺推出的弱網(wǎng)測試工具QNET臼闻,在Android設(shè)備上直接安裝使用鸿吆。
如下圖所示:用戶根據(jù)自己的測試需求自定義弱網(wǎng)參數(shù)模板
2.2 弱網(wǎng)工具的優(yōu)缺點對比
第一種通過設(shè)備連接到PC上進行弱網(wǎng)絡(luò)測試的抓包工具Charles、Fiddler述呐。
優(yōu)點:抓包工具PC端安裝方便惩淳,支持網(wǎng)絡(luò)協(xié)議抓包;根據(jù)自己的測試需求自定義弱網(wǎng)參數(shù)乓搬,配置更為靈活思犁;支持多系統(tǒng)平臺。
缺點:移動設(shè)備網(wǎng)絡(luò)代理連接PC時需要安裝相應(yīng)證書进肯,較麻煩激蹲;Fiddler不支持丟包、抖動等弱網(wǎng)環(huán)境江掩。
第二種在專有服務(wù)器上構(gòu)建弱網(wǎng)絡(luò)WiFi的方式学辱。
優(yōu)點:在手機上通過Web界面就可以隨時切換不同的網(wǎng)絡(luò)環(huán)境;多個手機可以連接到同一個WIFI下环形,相互之間模擬的網(wǎng)絡(luò)環(huán)境各不影響策泣。
缺點:搭建成本高,需要準(zhǔn)備支持AP模式且有驅(qū)動的網(wǎng)卡和Linux服務(wù)器抬吟,有專門的技術(shù)人員支持萨咕;切換到網(wǎng)絡(luò)模擬界面改參數(shù),然后再切回被測APP火本,影響被測APP的操作連貫性危队。
第三種以獨立 app 的方式提供弱網(wǎng)絡(luò)模擬服務(wù)蓄喇。
優(yōu)點:安裝簡便,應(yīng)用界面簡潔易上手交掏;支持用戶根據(jù)自己的測試需求自定義弱網(wǎng)參數(shù)模板,有比較好的靈活性刃鳄。
缺點:目前只支持Android平臺設(shè)備盅弛。
以上各方案都是比較成熟的弱網(wǎng)測試工具的使用,可根據(jù)實際情況進行選擇叔锐。
下方是不同網(wǎng)絡(luò)環(huán)境下速度的圖片挪鹏,測試時可參照設(shè)置:
我們是行者AI,我們在“AI+游戲”中不斷前行愉烙。
如果你也對游戲感興趣讨盒,對AI充滿好奇,就快來加入我們吧~