朝夕光年是面向全球用戶與開發(fā)者的游戲研發(fā)與發(fā)行業(yè)務(wù)品牌,致力于服務(wù)全球玩家,幫助玩家在令人驚嘆的虛擬世界中一起玩耍與創(chuàng)造。
在游戲的研發(fā)過程中,游戲自動化一直是開展難度較大的工程,具體包括機房機架、設(shè)備調(diào)度、軟件框架、算法調(diào)校這些中臺建設(shè),復(fù)雜場景下還需要游戲項目本身的配合。
朝夕光年游戲自動化測試實踐核心的工作思路是在自動化能力分解、自動化能力評估、自動化的成熟度、自動化測試全景。
經(jīng)過這幾年的測試實踐,目前自動化在兼容性測試、穩(wěn)定性測試、性能測試、多語言本地化測試、功能回歸的部分需求中都有應(yīng)用,此篇將聚焦分享朝夕光年在自動化能力分解、自動化能力評估、自動化的成熟度、自動化測試全景等四個方面的實踐,期望能為行業(yè)內(nèi)開展自動化工作提供思路以及給到對游戲行業(yè)/游戲自動化測試方向感興趣的同學(xué)們一些啟發(fā)。
內(nèi)容綱要:
-
自動化能力分解
-
自動化能力評估
-
自動化的成熟度
-
自動化測試全景
自動化能力分解
自動化能力可以分解為驅(qū)動和檢測兩部分,每一部分可以對應(yīng)多項子能力,把驅(qū)動和檢測中各項子能力組合便形成自動化應(yīng)用場景。這種思路化整為零有利于自動化工作的快速落地。
自動化能力評估
召回率又稱查全率,精確率又稱查準(zhǔn)率。一般來說,召回率和精確率二者不可兼得,導(dǎo)致在不同場景下注重指標(biāo)不同。
自動化的成熟度
按照?Elfriede Dustin?等的“Automated Software Testing”,游戲自動化測試成熟度一般處于 L2。
L2:Incidental Automation
非主要的、附帶的
?
回歸遺漏明顯降低,用例維護(hù)成本很高
- 自動化用例主要用作回歸兜底,回歸遺漏明顯降低。
- 自動化用例模塊化程度較低,復(fù)用性和維護(hù)成本很高。
存量分層覆蓋,關(guān)注準(zhǔn)出標(biāo)準(zhǔn)中的核心回歸集
- 自動化用例的編寫主要聚焦在存量分層覆蓋,關(guān)注準(zhǔn)出標(biāo)準(zhǔn)中的核心回歸集。
- 場景級接口自動化全覆蓋,其中較穩(wěn)定場景也實現(xiàn)UI自動化覆蓋。
- 用例的維護(hù)主要靠人工補充,需投入專項的人力編碼回歸自動化用例集。
實行雙運行機制、面向回歸兜底
- 自動化實行雙運行機制:流水線觸發(fā)、離線定時觸發(fā)維護(hù)。
- 自動化主要面向回歸兜底卡點,運行時長較短?;貧w卡點有初步效果,回歸遺漏明顯降低。
自動化和人工測試環(huán)境共用
- 有測試環(huán)境,自動化用例和人工測試共用,存在數(shù)據(jù)干擾,環(huán)境較不穩(wěn)定。自動化用例失敗有 50% 以上由環(huán)境原因?qū)е隆?/p>
- 測試環(huán)境的部署和更新大多是人工進(jìn)行的。
測試數(shù)據(jù)和代碼緊耦合
不具備自動化代碼和測試數(shù)據(jù)分離的能力。驗證邏輯和測試數(shù)據(jù)耦合在一起。驗證邏輯相同,測試數(shù)據(jù)不同的情況下,依然需要編碼大量的冗余用例。
有度量,不全面;無數(shù)據(jù)分析
- 建立了部分自動化度量指標(biāo),但不全面,且無法做橫向?qū)Ρ取?/p>
- 會記錄自動化發(fā)現(xiàn)的問題,但對自動化的過程和結(jié)果數(shù)據(jù)沒有收集和分析。
用例版本化管理、有編碼工具支持
- 有支持自動化用例編碼的工具平臺。
- 用例可以版本化管理。
- 缺乏完善的測試框架支持,用例編碼成本較高,學(xué)習(xí)曲線陡峭。
具體來說,主要用在以下兩個場景:
-
就算人工測試也很難覆蓋的場景,這時更看重有效問題指標(biāo),有漏報也可接受。
-
可替代人工測試的場景,但是能保證召回率 100%,允許有誤報,整體成本能比人工低。
自動化測試全景
游戲自動化測試研究成果出來后,在通用驅(qū)動能力、通用檢測能力、測試效率提升等三方面都帶來不錯的效果。
? ???通用驅(qū)動能力
通用驅(qū)動能力方面比較出圈的進(jìn)展就是靜態(tài) UI 匹配、動態(tài) UI 匹配、自動化兼容性等。靜態(tài) UI 匹配經(jīng)常會遇到一套素材無法很好的在不同分辨率設(shè)備上匹配 UI,resize 次數(shù)太多,導(dǎo)致經(jīng)常出現(xiàn)匹配不到或匹配錯誤的情況。
比如找到“同意”的 UI,第一張圖為目標(biāo) UI 截圖(分辨率為 2400*1080),第二張圖為游戲截圖(分辨率為 960*540)。
那自動化測試就能實現(xiàn)使用最高分辨率手機對目標(biāo) UI 進(jìn)行截圖,優(yōu)先使用特征點匹配,提高匹配相似度。改進(jìn)方案后對比的圖片相似度達(dá)到 0.928。
傳統(tǒng)圖像識別流程:??
?? ?使用游戲自動化測試模型使用流程:
? ???通用檢測能力
主要涉及深度學(xué)習(xí)圖像測試和聚類篩選圖像檢測這兩個方面。
深度學(xué)習(xí)圖像測試:
利用深度學(xué)習(xí)訓(xùn)練的控件識別或者問題檢測能力雖然不能完全替代人工,但是在過程要求不會太精確的測試場景能取得不錯的效果,比如穩(wěn)定性測試(智能 Monkey)、穩(wěn)定運營的長尾項目測試等。
能力 1:異形屏異常檢測(控件識別)
能力 2:色塊檢測
能力 3:花屏檢測
能力 4:文字超框
能力 5:文字重疊
能力 6:翻譯語種錯誤
聚類篩選圖像檢測:
發(fā)現(xiàn)美術(shù)資源效果在不同機型中表現(xiàn)不相同,若每個機型都要測試無疑工作量非常巨大,不適合在人工兼容性測試用例里覆蓋,因此需要設(shè)計一套自動化資源測試方案來測試不同機型上游戲場景的美術(shù)資源,攔截表現(xiàn)不正確的機型 + 場景組合。
基于游戲接口驅(qū)動游戲截圖保存。將相同檔次相近分辨率的設(shè)備進(jìn)行分組,同一小組內(nèi)相同場景序號的截圖兩兩對比,基于“兼容性問題一般出現(xiàn)在非多數(shù)機型”認(rèn)知下進(jìn)行全自動聚類分析,從而攔截問題截圖。
? ???測試效率提升
主要是針對深度學(xué)習(xí)標(biāo)注和測試素材錄制這兩方面。
深度學(xué)習(xí)標(biāo)注:通過工具提供可視化的圖片標(biāo)注能力,為基于圖像自動化能力提供統(tǒng)一的輸入、標(biāo)注、輸出方式,提高人效與降低錯誤率。
測試素材錄制:通過素材錄制工具快速對游戲界面截圖,并確定 UI 匹配區(qū)域、ROI 以及操作方法,讓業(yè)務(wù)測試同學(xué)不用了解自動化框架也能夠執(zhí)行自動化跑測。文章來源:http://www.zghlxwxcb.cn/news/detail-684268.html
本期技術(shù)分享就到這里,歡迎更多熱愛游戲與技術(shù)的同學(xué)們一起加入致力于幫助玩家在令人驚嘆的虛擬世界中一起玩耍與創(chuàng)造的朝夕光年,一起通過朝夕努力,創(chuàng)造游戲光年!文章來源地址http://www.zghlxwxcb.cn/news/detail-684268.html
到了這里,關(guān)于朝夕光年游戲自動化測試實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!