模拟弱网工具的使用
https://zhuanlan.zhihu.com/p/98185153
https://www.jianshu.com/p/5e35a3585df5
今年5G技術(shù)開始鋪開并進(jìn)入商用。隨著5G的到來,不知道大家有沒有和我一樣的感受,希望是我心理作用吧,我發(fā)現(xiàn)作為一個(gè)4G用戶,最近我的手機(jī)網(wǎng)速是不如從前了。特別是在游戲、或者是看一些重要直播的過程中,網(wǎng)絡(luò)的卡頓延遲,真的讓人大為光火。所以我想在最近分享一下,游戲測(cè)試需要怎么開展弱網(wǎng)測(cè)試,來盡量避免網(wǎng)絡(luò)問題帶給用戶的不良體驗(yàn)。
作為移動(dòng)端游戲測(cè)試,網(wǎng)絡(luò)環(huán)境——尤其是弱網(wǎng)環(huán)境下——的測(cè)試環(huán)節(jié)其實(shí)是必不可少的。而手機(jī)上的網(wǎng)絡(luò)制式類別很多:wifi、2G、3G、4G、5G,應(yīng)用場(chǎng)景可能就更多了:辦公室、街道、商場(chǎng)、地鐵、車庫(kù)等等。在這不同的場(chǎng)景、不同制式下,我們都可能遇到各式各樣的斷線、卡頓、延遲、數(shù)據(jù)同步異常等問題。所以,對(duì)于測(cè)試人員來說,我們面臨的第一個(gè)難題就是網(wǎng)絡(luò)環(huán)境的模擬。
今天我們先來介紹幾個(gè)常見的弱網(wǎng)環(huán)境模擬工具。
首先是Fiddler。
大家都知道這是一個(gè)抓包工具。不過它也可以比較簡(jiǎn)單的作為一個(gè)弱網(wǎng)模擬工具來進(jìn)行使用。我們可以通過Rules-Performance-Simulate Modem Speeds來對(duì)本地網(wǎng)絡(luò)進(jìn)行限速。
但遺憾的是,這種設(shè)置比較粗暴,不能更改參數(shù)。所以我們還可以通過修改配置來定義其上下行流量的數(shù)值。設(shè)置方法在Rules-Customize Rules里面,找到下圖中的這兩行,就可以通過簡(jiǎn)單的方式來達(dá)到網(wǎng)絡(luò)延遲的目的了。
不過這畢竟不是一個(gè)專門用于弱網(wǎng)測(cè)試的工具,接下來介紹一個(gè)專門用作弱網(wǎng)模擬的工具,Clumsy。
Clumsy是基于C語言開發(fā)的一款開源網(wǎng)絡(luò)模擬工具。它能在Windows平臺(tái)下人工造成不穩(wěn)定的網(wǎng)絡(luò)狀態(tài),應(yīng)用它可以方便調(diào)試應(yīng)用程序在極端網(wǎng)絡(luò)狀態(tài)下的表現(xiàn)。
如上圖所示,這個(gè)工具基本分為3個(gè)區(qū)域:過濾器、預(yù)設(shè)條件和具體功能設(shè)置。在過濾器里,我們可以設(shè)置需要觸發(fā)網(wǎng)絡(luò)限制的基本規(guī)則。比如,設(shè)置輸入(inbound)還是輸出數(shù)據(jù)(outbound)、設(shè)置過濾tcp協(xié)議(tcp)還是udp協(xié)議(udp)、設(shè)置過濾地址(ip.DstAddr)等等。
另外我們可以把一些常用的測(cè)試條件,預(yù)先寫到Clumsy的config.txt里面,然后在預(yù)設(shè)條件下拉框里快捷選擇。
填寫完過濾條件后,點(diǎn)擊start,就可以針對(duì)過濾條件范圍內(nèi)的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)限制了。除此以外,我們還可以利用具體功能設(shè)置,來設(shè)定特殊的限制規(guī)則,來進(jìn)一步縮小測(cè)試范圍。這些功能設(shè)置都是即時(shí)生效的,不需要重新stop-start。
目前對(duì)于Clumsy 0.2版本的功能有以下幾種:
- 延遲(Lag):把數(shù)據(jù)包緩存一段時(shí)間后再發(fā)出,這樣能夠模擬網(wǎng)絡(luò)延遲的狀況;
- 丟包(Drop):隨機(jī)丟棄一些數(shù)據(jù);
- 截流(Throttle):把一小段時(shí)間內(nèi)的數(shù)據(jù)攔截下來后再在之后的同一時(shí)間一起發(fā)出去;
- 重發(fā)(Duplicate):隨機(jī)復(fù)制一些數(shù)據(jù)并與其本身一同發(fā)送;
- 亂序(Out of order):打亂數(shù)據(jù)包發(fā)送的順序;
- 篡改(Tamper):隨機(jī)修改小部分的包裹內(nèi)容。
上面介紹的是一個(gè)Windows環(huán)境的測(cè)試工具,如果在手機(jī)上測(cè)試,我們必須要把手機(jī)和PC處在同一個(gè)網(wǎng)絡(luò)環(huán)境里才能生效。那有什么比較便捷的手機(jī)app可以直接進(jìn)行網(wǎng)絡(luò)測(cè)試?這里介紹一個(gè)騰訊的QNET工具。這個(gè)app可以從wetest上面下載,安裝后啟動(dòng),我們可以看到主界面還是比較簡(jiǎn)單的,分為兩部分,一個(gè)是選擇程序,一個(gè)是設(shè)置測(cè)試條件。
我們選擇好需要測(cè)試的程序后,可以點(diǎn)擊app里已經(jīng)預(yù)設(shè)好的測(cè)試條件,點(diǎn)擊右側(cè)的修改按鈕可以查看每項(xiàng)測(cè)試的具體規(guī)則。
也可以自行新增配置,設(shè)定自己的測(cè)試規(guī)則,這一點(diǎn)上和Clumsy是一樣的。
設(shè)置好之后,點(diǎn)擊開始測(cè)試,就會(huì)自動(dòng)啟動(dòng)被測(cè)程序,程序界面上會(huì)有浮窗,顯示QNET記錄的各項(xiàng)測(cè)試數(shù)據(jù),方便我們進(jìn)行工作。
測(cè)試完成后,手動(dòng)返回QNET,點(diǎn)擊結(jié)束測(cè)試即可(這一點(diǎn)就不如wetest的性能工具方便,不能在浮窗上點(diǎn)擊停止)。
?
?
Clumsy模擬弱網(wǎng)
①PC端代理設(shè)置
首先下載和安裝代理服務(wù)器工具CCProxy
復(fù)制當(dāng)前網(wǎng)址到瀏覽器https://pan.baidu.com/s/1YZBHCIiLgEVcxZxngffyVQ
點(diǎn)擊弱網(wǎng)工具→勾選第二步→點(diǎn)擊第三步的下載→安裝下載后的工具
?
?
?
安裝完代理工具后,打開服務(wù)器代理工具進(jìn)行下圖中操作
?
?
?
?
②配置手機(jī)代理
依次按下圖中的步驟執(zhí)行
?
?
設(shè)置完手機(jī)代理后,用手機(jī)打開網(wǎng)頁(yè)查看是否能正常上網(wǎng),可以正常上網(wǎng)說明代理設(shè)置成功
?
③Clumsy弱網(wǎng)模擬工具的準(zhǔn)備
復(fù)制當(dāng)前網(wǎng)址到瀏覽器https://pan.baidu.com/s/1YZBHCIiLgEVcxZxngffyVQ
點(diǎn)擊弱網(wǎng)工具→勾選第二步→點(diǎn)擊第三步的下載→安裝下載后的工具
?
?
?
④Clumsy工具參數(shù)的設(shè)置
打開clumsy,在Filtering輸入框中輸入:outbound and ip.DstAddr == 192.168.20.254(這是你的手機(jī)的IP地址)
?
?
然后設(shè)置參數(shù)
1.延遲(Lag),把數(shù)據(jù)包緩存一段時(shí)間后再發(fā)出,這樣能夠模擬網(wǎng)絡(luò)延遲的狀況。
2.掉包(Drop),隨機(jī)丟棄一些數(shù)據(jù)。
3.節(jié)流(Throttle),把一小段時(shí)間內(nèi)的數(shù)據(jù)攔截下來后再在之后的同一時(shí)間一同發(fā)出去。
4.重發(fā)(Duplicate),隨機(jī)復(fù)制一些數(shù)據(jù)并與其本身一同發(fā)送。
5.亂序(Outof order),打亂數(shù)據(jù)包發(fā)送的順序。
6.篡改(Tamper),隨機(jī)修改小部分的包裹內(nèi)容
?
總結(jié)
- 上一篇: 热血之约!《传奇天下》精英玩家品鉴会圆满
- 下一篇: 盘点100级所有副本:附带推荐门槛 可玩