《A3--文驍一--光子工作室自動化研發測試管線及AI賦能實踐之路.pdf》由會員分享,可在線閱讀,更多相關《A3--文驍一--光子工作室自動化研發測試管線及AI賦能實踐之路.pdf(46頁珍藏版)》請在三個皮匠報告上搜索。
1、光子工作室自動化研發測試管線及AI賦能實踐之路文驍一騰訊光子工作室 專項測試團隊負責人文驍一騰訊光子工作室 測試專家 專項測試團隊負責人騰訊光子工作室自動化團隊負責人,有多個千萬級DAU手游的專項測試經驗,先后負責DNF、全民突擊、和平精英、英雄聯盟手游的專項測試,擁有10年以上的游戲測開經驗,2018開始負責搭建光子自動化研發測試管線,對游戲研效提升以及自動化技術在游戲領域的落地有較深理解。目錄C O N T E N T S1.光子自動化研發測試管線2.自動化提效工具鏈建設3.自動化提效UE引擎跨版本錄制回放4.AI在游戲測試中的應用光子自動化研發測試管線01背景介紹需求多精度高1.自研游戲
2、版本節奏快,敏捷開發多分支版本,日構建出包2.自研游戲玩法豐富開放大世界,FPS,SLG,MOBA3.重復性需求多全皮膚遍歷,全槍械遍歷,大世界玩法遍歷,主線任務500+4.測試人力瓶頸需求轉測速度 人力HC補充1.客戶端性能測試對精度要求高測試數據幀率波動1幀內,內存波動20MB內2.同一個場景對比測試測試前置條件和步驟一致3.專項測試需求復雜去電池,免USB,跨平臺光子自動化研發測試管線自動化研發測試管線AutoRobotSDK接入美術資源掃描性能熱力圖大世界場景掃描自動化性能冒煙自動化功能冒煙自動化專項測試.動畫技能特效武器彈道任務項目初期項目研發期項目日構建轉測項目早期接入自動化SDK
3、,和項目進行自動化接口評估,為自動化跑測做好基建研發測試左移,在項目資源批量制作階段幫助項目提升研效每日冒煙保證項目轉測內容能夠正常測試;自動化專項測試節省測試人力自動化研發測試管線:測試數據加速研發流程支持多引擎支持跨平臺項目研發流程測試數據測試數據編輯器冒煙光子自動化研發測試管線自動化研發測試管線整體架構:底層可擴展插件式SDK測試工具鏈無縫銜接上層可視化操作平臺私有云真機部署保證安全覆蓋項目研發全周期光子自動化研發測試管線大世界場景掃描l 開放世界游戲場景很大,以和平精英為例尺寸達到 8km x 8km,人工測試難以全量覆蓋l 開放世界物件非常多,開發過程中存在各種屬性缺失和配置問題l
4、物件的擺放和物理碰撞盒設置不合理,穿模,浮空,空氣墻等問題,通過人工跑圖很難遍歷光子自動化研發測試管線美術資源掃描:l 美術資源豐富,要求品質高l 美術制作周期流程長,制作流程不規范l 美術資源超標是引起性能問題主要原因之一目的:在游戲資源制作階段提前發現可能存在的性能問題游戲貼圖尺寸超標光子自動化研發測試管線性能熱力圖:目的:在研發階段對游戲整體性能進行摸底,提前發現場景性能熱點問題l 對場景進行網格劃分l 通過自動化跑圖收集引擎性能數據 FPS,CPU,GPU,FrameTime,RenderDataDrawcall,Mask,Translument PrimitiveDetailFoli
5、age、StaticMesh、Landscape MemoryDetailBinned、RHI、ShaderCode、PhysX、RenderTarget、Texture、IndexBuffer、VertexBufferl 性能問題在Web進行展示,對比,查詢光子自動化研發測試管線自動化研發測試實驗室:光子自動化測試實驗室,配備自主設計機柜和獨立網絡,目前已經具備200+設備,覆蓋高,中,低端主流廠商設備,平均每月幫助項目跑測50000+次為和平精英,PUBGM,金鏟鏟,英雄聯盟手游,黎明覺醒等多個項目提供自動化跑測能力,幫助項目實現了性能/功能冒煙等多個專項,目前已累計自動化用例20000+
6、個,總跑測次數超百萬,發現性能/功能缺陷 5000+目前已累計形成專利 6+流暢度檢測設備自動化溫控設備自動化功耗測試設備自動化機柜光子自動化研發測試管線自動化測試驅動開發自動化工具鏈配套自動化測試技術應用自動化提效自動化提效自動化測試場景游戲自動化測試技術棧:自動化測試管線自動化提效工具鏈建設02自動化提效工具鏈建設工具鏈建設AutoRobot SDK需求:1.需要解決角色尋路問題2.保證每次測試路徑一致3.能精確控制鏡頭轉向,人物操作等4.實時和游戲進行交互5.不需要頻繁維護UI異常用例6.修改自動化邏輯不需要頻繁出包挑戰:1.如何實現多協議,支持多服務互通(C+/Lua)2.如何實現邏輯
7、解耦同時在主線程調用游戲邏輯3.如何支持多平臺環境運行4.如何保持高性能,不影響正常游戲體驗方案/需求123456UI點擊方案機器學習方案圖像檢測方案行為樹方案AutoRobot SDK自研SDK方案:設計思路:打造一個插件化SDK,支持多平臺,做到和項目代碼無耦合,高性能,幫助測試和開發人員提升研發測試效率自動化提效工具鏈建設AutoRobot SDK整體框架1.實時交互設計2.跨平臺執行3.高性能4.插件式/解耦合5.支持Runtime環境框架關鍵特性自動化提效工具鏈建設AutoRobot SDK實時調用設計接口C+實現Lua接口原型導出測試腳本發送接口指令同步等待接口返回獲取返回值RPC
8、調用自動化提效工具鏈建設AutoRobot SDK跨平臺執行l Commander平臺注冊測試設備(PC,Android,IOS,PS,XBOX)l 遠程執行測試代碼自動化提效工具鏈建設工具鏈建設 用例編輯器 IDE ToolIDE主進程視頻流設備操作圖像處理用例上傳python虛擬機Socket.pyTestCase.pyAutoRobot SDK初始化TickXUI IDEIDE通用接口AutoRobot接口RecordReplayStartStopInputFindClickOCR1.支持全平臺連接2.手機免Root/越獄3.封裝操作系統級通用操作接口4.支持調用自動化SDK接口5.支持
9、OCR/圖像識別能力6.支持自動生成測試代碼7.一鍵部署測試任務到私有云自動化提效工具鏈建設XUI IDE Tool 演示視頻:自動化提效工具鏈建設光子一站式自動化測試平臺(XUI平臺):執行記錄云真機管理測試報告云真機調試自動化提效工具鏈建設XUI平臺演示視頻:自動化提效UE引擎跨版本錄制回放03自動化提效跨版本錄制回放自動化測試現狀:游戲領域自動化難以開展痛點:1.腳本高度依賴接口l游戲功能觸發(點擊UI)高度依賴開發提供接口,導致效率不高l不同項目需要重新開發接口2.測試需求過載l多個項目同時接入,導致人力飽和排期,自動化進程慢,自動化場景覆蓋率低3.開發腳本門檻高l目前腳本開發對技術和
10、代碼能力有一定要求,比較難普及到功能測試同學和外包測試同學使用方案對比圖像識別自動化Android/IOS系統接口UE4 ReplayAutoRobot錄制回放優點方案通用無代碼入侵引擎原生支持1.方案通用2.UI點擊準確性高3.腳本穩定4.腳本開發效率塊,能根據操作自動生成代碼5.錄制功能支持跨版本回放6.支持復雜場景的錄制回放缺點不穩定分辨率異形屏只適用Android不能自動生成代碼不支持復雜場景的錄制回放不能跨版本回放自動化提效跨版本錄制回放智能UI錄制回放方案:1.自動生成測試代碼根據錄制操作,自動生成測試代碼2.自動選擇點擊策略根據項目情況,智能選擇根據控件路徑/坐標點3.跨平臺使用
11、一套代碼,適配多個平臺效率對比智能UI圖像對比GAutomator編寫Case速度5s/個需要手動編寫通過GA View查找路徑,1個UI 1分鐘準確性100%準確率不高對于動態生成UI不友好根據坐標點擊校驗結果錄制點擊自動生成ClickButton代碼策略分析根據Path查找點擊AutoRobot響應ClickButton自動化提效跨版本錄制回放智能UI錄制演示視頻:自動化提效跨版本錄制回放GamePlay錄制回放方案:錄制/回放 方案優點缺點逐幀錄制玩家輸入操作1.方案通用2.實現簡單3.錄制數據小1.無法保證輸入隨機性一致2.滑動事件跨分辨率有問題逐幀錄制對局所有狀態1.不用擔心計算一致
12、性問題2.支持跳轉和倒放1.錄制數據太大2.適用于單局單人錄制回放UI輸入+關鍵幀狀態1.錄制數據小2.可以跨版本3.回放路徑準確不支持多人多客戶端錄制回放多客戶端強制幀同步1.支持多人同時錄制2.多客戶端幀同步設置可能會受網絡波動影響測試痛點:Q1:PM:這次版本外放后,性能下降很多,但是測試數據怎么這么漂亮?QA:測試場景沒有固定下來,另外內網壓力有限,模擬不了多真人對戰的情況Q2:PM:我需要測一下多真人對局情況下Crash和穩定性,需要50人以上同時進戰斗 QA:我們找不到同時這么多人的測試資源,需要策劃,運營同學配合,如果要長時間對局,成本很大.錄制回放方案實踐之路:自動化提效跨版本
13、錄制回放多人錄制回放幀同步方案:KeyFram狀態校驗:校驗位置錄制/回放幀對齊自動化提效跨版本錄制回放多人錄制回放幀同步方案:AI在游戲中的應用04AI在游戲測試中的應用測試場景思考?AI自動戰斗/自動任務AI自動生成測試用例AI LQA翻譯糾錯訓練復雜度高和玩法強相關訓練時長過長需要海量歷史數據標注工作量太大游戲種類太多語義主觀性太強訓練語料種類多翻譯修改頻繁需求總結1.具有泛化能力2.訓練復雜度不高3.能和現有自動化工具鏈結合4.測試場景AI擬人化場景:AI跑圖機器人(基礎能力)+測試工具鏈AI在游戲測試中的應用AI自動化跑圖系統介紹:奧創平臺:負責訓練模型,參數配置,發起訓練任務 AI
14、 Server:負責將客戶端數據同步給Learner Server,并負責更新訓練模型 Learner Server:訓練集群,利用客戶端數據訓練策略網絡 Game Client AI Service Module:負責從GameThread采集游戲數據,并同步給AI Server Game Server:封裝游戲接口給AI Service調用 客戶端壓測平臺:調用海量客戶端進行訓練AI在游戲測試中的應用模型算法設計:采用PPO(近端策略優化 Proximal Policy Optimization)摘自 PPO論文近端策略優化:采用動作抽樣比來防止策略更新步長過大,提高訓練過程穩定性PPO目
15、標函數:采用Clip裁剪函數對目標函數進行約束,防止發生大的更新策略,r()裁剪在區間1-,1+AI在游戲測試中的應用模型環境感知:人物狀態:位置,朝向,速度,姿態 環境狀態:環形射線視深圖、Z軸高度圖,射線雷達在模塊內實現 地圖略縮圖:小地圖序列化,模塊內實現模型執行動作:執行動作:視角轉動、移動、跳躍、翻滾、下蹲、游泳等AI在游戲測試中的應用AI模型訓練過程:XUI 平臺游戲構建分發訓練場景光子私有云AI Agentstateaction WebLoad ModelAI在游戲測試中的應用AI模型評價指標:點到點規劃:AI規劃路徑和導航網格路徑的路徑長度差異 區域遍歷:地圖網格化后的跑圖覆蓋
16、率/路線圖 動作覆蓋:進門、上樓、繞墻、攀爬等場景中能選擇正確的擬人操作 異常處理:卡死,原地轉圈等異常情況能及時上報,并且重置位置AI在游戲測試中的應用AI模型訓練現階段效果:訓練范圍:10個 500m x 500m 區域訓練時長:3天訓練規模:500個游戲客戶端覆蓋地形:草地,雪山,沙漠,城區訓練效果:97%以上的地圖覆蓋率AI在游戲測試中的應用AI Agent+專項測試:大世界地圖測試:浮空,陷地,碰撞缺失場景性能測試:性能熱力圖跑圖AI在游戲測試中的應用AI Agent能力后續規劃:AI BOT增加Action動作(開車,開火,放技能)AI BOT增加交互行為(尋找敵人,瞄準)利用AI Bot配合多人完整對局純AI BOT長時間穩定性跑測總結希望大家通過此次分享能夠更好的幫助項目提升游戲質量,預祝各自負責的項目大賣!1.游戲研發和測試相結合,共同推進項目研發2.游戲研發測試管線包含哪些內容3.游戲領域自動化測試如何開展4.AI落地游戲測試場景感謝聆聽關注公眾號