轉帖|行業資訊|編輯:龔雪|2016-06-01 13:50:56.000|閱讀 392 次
概述:弱網絡專項測試(客戶端網絡損傷專項測試)是騰訊游戲內部評審時,非常重要的一環,直接決定了產品是否能直接上線運營。針對最近非常火爆的MOBA類游戲,對客戶端網絡損傷專項測試再做詮釋。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
MOBA手游的使用過程中,可能會遇到的幾個奇怪的遭遇。
網速太慢
網友的聊天內容沒拉取出來:
頭像顯示不出來:
網絡擁塞
1V1好友單挑,好友已進入副本戰斗,我還在LOADING。。
就是進不去:
網絡異常
好不容易打勝了,沒獎勵!
人死了,尸體還在,一直在…..
然后也復活不了,然后,就沒有然后了:
1V1,好友小兵沒血量卻砍不死,處女座不能忍啊:
基地和塔不見了:
技能不見了:
當然,網絡不好也會遇到好事,比如源源不斷的小兵軍團:
看了各種玩家的坑爹遭遇,大家可能也遇到過不少類似的情況,一定能理解網絡專項測試的目的和重要性。網絡專項測試,顧名思義就是專門針對網絡性能的測試。
目前我國2G網絡用戶占比仍然超過3G/4G用戶,這部分用戶是低帶寬高延時,如果手游對高延時的容忍超過2G用戶的平均值必然導致這部分用戶的流失。當然,MOBA游戲的玩家肯定都有3G網絡了,只是不可避免的一點,3G網絡在某些未被覆蓋的地區仍然會是2G網絡。
缺陷統計表示11%的手游缺陷因為網絡問題。游戲Crash排名前十的原因是因為帶寬和網絡切換。而大部分網絡問題都是非必現的,必須通過專項測試精確定位和重現問題根源來彌補普通功能測試的盲區。
分析游戲,找出游戲中和網絡交互有關的關鍵點,以下測試點優先級較高,需要重點測試:
測試點示例:
模塊 | 測試點 |
Android | |
登陸 | 登陸(鑒權)&領取每日獎勵 |
斷線自動重連 | |
斷線,手動選擇重連 | |
支付購買 | 花錢購買鉆石 |
花鉆石購買金幣 |
|
話鉆石購買體力 | |
花鉆石培養戰斗元素(士兵、箭塔、英雄) | |
花鉆石解鎖關卡 | |
花鉆石解鎖戰斗元素(士兵、箭塔、英雄) | |
話金幣解鎖英雄 | |
物品領取 | 領取任務獎勵 |
花鉆石抽獎&領取獎品 | |
接收郵件(體力) | |
游戲主流程 | 進入過關模式、挑戰模式、1V1、2V2列表 |
進入過關模式地圖 | |
進入PVE、PVP的準備界面 | |
開始PVE戰斗&花金幣攜帶技能(過關/挑戰模式) |
|
PVE戰斗(過關/挑戰模式)結算 | |
進入PVP戰斗&花金幣攜帶技能(1V1) | |
PVP戰斗中(1V1、心跳、游戲操作) | |
PVP戰斗結算(1V1) | |
進入PVP戰斗(2V2) | |
PVP戰斗中(2V2、心跳、游戲操作) | |
PVP戰斗結算(2V2) | |
2V2戰斗中,2加同時出現弱網環境 | |
ios | |
登陸 | 登陸(鑒權)&領取每日獎勵 |
支付購買 | IAP購買鉆石 |
物品領取 | 花鉆石抽獎&領取物品 |
游戲主流程 | 進入PVP戰斗&花金幣攜帶技能(1V1) |
PVP戰斗中() | |
PVP戰斗結算(1V1) |
如果游戲是Unity開發的,那么主要針對某個平臺測試即可,另外一個平臺可以抽測。同時,值得特別注意的是iOS平臺的IAP支付也有必要測試一下。
測試點斷網測試
單獨針對每一個測試點,分別進行發包斷網,收包斷網測試。這種方式只適用于客戶端單個請求上行對應服務器單個響應回包,收發消息是一對一同步進行的一般手游場景,比如購買,升級,開局,結算等。對測試者要求高,需要清晰了解每個測試點客戶端與服務器的交互邏輯,才能設計用例。因為每次只測試一個測試點,覆蓋不到游戲并發請求的異常邏輯,且開發只要做好網絡底層超時邏輯,一般都能覆蓋到全部測試點,因此發現缺陷的效率相比之下較低。
方法示例:
前提條件 | 執行步驟 | 預期結果 |
發包斷網 |
|
1.不會無限重試 |
2.有合理提示,比如超時轉菊花 | ||
3.網絡恢復后可以正常執行該邏輯 | ||
4.轉菊花期間網絡恢復,無異常 | ||
5.多次請求后網絡恢復,邏輯正常,不會導致消耗與收益不一致 | ||
回包斷網 |
|
1.服務器多次收到相同請求無異常 |
2.客戶端不會無限重試 | ||
3.有合理提示引導用戶 | ||
4.超時提示之后收到回包,客戶端無異常 | ||
5.多次請求后網絡恢復,邏輯正常,不會導致消耗與收益不一致 |
組合場景法
設置一種網絡模式,執行玩家經常遇到的游戲場景。同時配合在測試點上,采用斷網或切換網絡等操作,觀察是否符合有效(能完成邏輯)或無效預期(不能完成邏輯)。此方法執行起來方便快捷,發現缺陷效率高。適用于MOBA等實時對戰類的游戲場景。但是,由于選定的網絡有很大的不確定性,不能保證每次執行用例有恒定的網絡前提條件作為輸入,因此預期都分為有效或無效兩種情況,不能保證兩種結果都覆蓋到,是一種有損的測試方法。
常用網絡模式示例:
MOBA手游特色主要是實時對戰,為了達到實時效果又要防止作弊,目前游戲一般采用客戶端上報操作,服務器執行邏輯然后異步同步推送給多個客戶端的數值表現的方式。由于客戶端與服務器收發消息不是一對一同步的,就無法采用測試點斷網測試方法,適合采用組合場景法。
實時性強的游戲應該能實時監測到斷網或超時的情況并給出界面提示,防止出現不正常的界面表現。
所以對比常規游戲的網絡性能測試,由于MOBA手游的節奏快,對測試人員要求更高了,必須眼明手快,也需要更細心。由于網絡的不確定性,出現的缺陷基本都是非必現的,因此抓包、截圖、錄制視頻,樣樣少不了。
這也難怪,MOBA手游雖火,能持續累計玩家口碑,保持穩定增長的確沒幾家。
最后,用例設計好了,場測費時費力,我們還需要尋找更有效的模擬網絡的方法。目前市場上有一些耳熟能詳的工具或平臺可以使用。
(1) Microsoft NEWT
只支持單個用戶,自己用足夠了,搭建環境過程還挺復雜的。
(2) Facebook ATC
支持多用戶,可以搭建企業平臺。
(3) WeTest
可以很方便的遠程訪問云平臺上的各種手機設備,設置不同的網絡模式,支持實時切換網絡,對于不會搭建NEWT測試環境的小白來說,推薦使用。
原文轉載自:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn