《4-林俊杰-移動游戲自動化從基礎到專精的探索實踐.pdf》由會員分享,可在線閱讀,更多相關《4-林俊杰-移動游戲自動化從基礎到專精的探索實踐.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、手游自動化基礎到專精的探索實踐林凱杰騰訊高級工程師林凱杰在自動化測試領域有全面的實戰經驗,產品形態涵蓋操作系統、移動應用、手游端游,技術棧覆蓋 Web、客戶端、后臺。作為騰訊代碼委員會成員,始終在工程效能實踐一線保持探索,借助工具化平臺化沉淀能力與解決方案,在追求穩定高效的同時,堅持清理技術債務,追尋技術領域的 NeverLand,用自動化筑起城墻,為測試質量保駕護航十年測試開發經歷,專注項目質量保障與研效提升目錄CONTENTS議題背景01 能力基建02 應用探索03 預研展望04 01議題背景手游自動化VS 應用自動化執行效率低游戲包資源體積大,流程及場景切換耗時長,傳統UI自動化執行完成
2、度低,效率及穩定性表現不佳斷言能力弱界面渲染生成,元素識別能力弱,可獲取游戲數值少,場景特征提取與結果斷言能力有限框架生態少相較于應用自動化測試豐富成熟的框架生態,游戲自動化仍處于蒸汽時代,質量保障仍多以手工測試為主造景難度大場景復雜度高,涉及多機協同、多指交互、角色狀態、技能屬性等等,對于測試目標場景的構造難度大02能力基建設備集群搭建與測試鏈路上云,提供遠程設備調試、自動化測試能力,降低硬件與環境的部署維護成本微前端/微服務方式實現能力復用重組,以解決方案視角呈現給用戶,借助 OpenApi 滿足定制化開發訴求以基礎元素識別能力,疊加引擎、后臺指令交互,拓展交互能力,抽象平臺、設備層實現用
3、例跨平臺兼容基礎鏈路平臺支撐框架設計私有靈活部署本地設備上云遠程設備調試云端任務管理基礎建設-UDT平臺Unified Device Toolkit機柜設備集群屏蔽機柜,降低信號干擾靈活部署,滿足保密隱私訴求設備上云Web 調試,低延遲極輕環境依賴本地調試,設備映射本機 IDE 直連可編程HUB斷線重連,設備快速定位編程控制,支持功耗測試訴求基礎建設-設備管理在線監測,隨時隨地調試Project PageCase PageAccount PageDevice PageTask PageReport PageStatistics PageProject ServerCase ServerAcco
4、unt ServerDevice ServerTask ServerReport ServerData ServerGatewayGatewayNode B(System Docker)Exec DockerSource DockerTask DockerNode A(System Docker)Exec DockerSource DockerTask Docker1234 5671234 567基礎建設-鏈路上云獨立環境,降低部署維護成本GatewayWeb Fusion ServerProject ACase ServerProject BNew ProjectProject PageMe
5、mber PageFile PageVue PageCase PageSuite PageReact PageTask PageDevice PageSuite ServerTask ServerDevice ServerProject ServerData ServerFile ServerPerf ServerReport Server平臺支撐-融合治理技術治理,給行進中的列車換車輪平臺支撐-開放拓展通用與定制的平衡解法多協議支持支持下游不同協議服務接入,HTTP、GRPC、TRPC,語言無關,協議解耦,配置化接入多場景應用提供 HTTP、CLI、SDK 不同形態,支持代碼、命令行等不同場
6、景低成本接入通用與定制平衡通用化能力沉淀于平臺定制化能力借助 Open API 拓展實現多鑒權支持提供 智能網關、TOKEN 鑒權,支持不同組織、個人不同層級訪問權限設定元素交互GA SDK 識別元素,拓展 XPath 語法設備 input 事件驅動執行及斷言常見普通操作引擎交互Lua 腳本拓展,游戲接口調用構造特定場景、角色狀態穩定性與可測性提升后臺交互游戲流程跳轉,賬號狀態構造復雜的場景構造及邏輯腳本下發精準、高效邏輯觸發框架能力-交互拓展精準高效的場景構造框架能力-平臺兼容Write once,Run anywhere設備層面的信息獲取與交互,涵蓋 iOS、Android、IDE 編輯器
7、設備后臺微服務集群接口封裝,包含 case、task、file、report、data 等等SDK系統層面的消息獲取與執行動作,涵蓋 Linux、MAC、Windows系統界面元素獲取,引擎指令交互,包含 Unreal、Unity 兩大引擎引擎自動化 SDK平臺 SDK設備抽象引擎抽象系統抽象原生控件編寫工具GA ViewerAutomator Viewer錄制插件文件管理截圖視頻游戲控件數據獲取腳本交互變量獲取GM 抽象任務信息獲取Code IDE指令交互過程記錄賬號構造場景構造腳本下發文件存儲管理過程信息上報設備協同管理執行節點執行鏡像資源 Agent任務 Agent1234執行節點執行鏡
8、像資源 Agent任務 Agent5678任務后臺任務管理過程管理結果管理CURD資源分配執行調度設備協同信息共享上報記錄消息通知報告生成數據統計報告查看問題提單任務執行用例編寫結果處理用例腳本基礎用例流程編寫-執行-分析03應用探索設備共享-降本增效02問題設備借助上云,分享給遠程研發調試,便于問題復現與快速解決問題調試04每天下班后設備連接PC,利用夜間擴充設備池子,自動安裝最新包,節省第二天到崗后的裝包耗時測試裝包01不同角色辦公地點隔離,設備實體轉借不便,利用遠程共享設備,拓展設備池機型儲備異地辦公03后臺研發同學沒有移動設備資產,聯調僅能依賴模擬,擁有設備共享后,可低成本按需獲取后臺
9、聯調功能測試-基礎應用冒煙測試20min 級別基礎功能驗證包可用性校驗,保證提測門檻核心回歸核心模塊功能驗證重點校驗,版本基礎面保障重復驗證重復的人工驗證替代關卡、玩法、多機協同等耗時操作功能測試-場景構造 格斗場景構造“吃操作”幀同步回放基于幀同步機制,開發錄制回放功能,獲得格斗過程的操作序列指定幀插入操作基于錄制序列執行二次編輯,在指定位置插入操作構建目標場景模擬對手釋放傷害加入全屏瞬間序列,支持傷害自定義,模擬對手技能釋放所想即所得基于操作序列編輯,實現復雜場景構造,達到所想即所得的效果功能測試-結果校驗量化校驗將檢測目標量化為特性指標,實時進行指標計算輸出,結果一目了然數據獲取舍棄元素
10、特征斷言,通過游戲引擎指令,收集當前角色狀態數據表現校驗技能渲染特效等不具備明確數據預期,通過錄屏后逐幀相似度對比,發現渲染特效的問題 預期不明確,結果難對比探索性測試 手感專項幀數解析使用錄屏方式記錄技能釋放過程,通過分幀統計各階段的動畫幀數動作拆解將技能釋放流程拆解,按需可分為初始狀態、技能前搖、釋放、后搖、結束狀態等動畫優化通過動畫幀數來量化角色狀態變更,找到影響角色動作狀態的動畫時長,進而優化讓操作更絲滑 技能釋放卡頓反饋性能測試-錄制回放100%復原操作過程,搭配指令進入場景,穩定高效基于幀同步的錄制回放復原角色移動行為,需配合固定場景隨機因素,拓展操作行為基于角色向量的錄制回放回放
11、一致性1操作復雜度2設備兼容性3性能測試-自動跑圖參數化定制路徑,定制路徑格式輸出,應用于不同場景自動規劃生成路徑根據路徑自動跑圖,固定點采集數據,生成性能熱力圖自動跑圖采集性能體素化1特殊點2去噪音3骨骼化4生成路網5穩定性測試-自動遍歷關注執行效率及覆蓋率指標可點擊區域遍歷觀測指標場景定義按鈕定義遍歷策略場景相似度12345兼容性測試-LQA 中文漏翻檢測基于控件的文本獲取、OCR 識別進行文本提取,再檢測界面是否存在未翻譯的中文文本兼容性測試-LQA 文本重疊檢測獲取所有文本控件的Desired Bound,判定兩兩之間是否交叉進行重疊檢測兼容性測試-LQA 文本超框檢測獲取所有文本控件的Desired Bound 以及實際 bound,如果超出閾值,則認為 Bound不匹配,可能導致超框或者截斷04預研展望用例生成 自然語言模型用例修復 異常堆棧用例生成 邊界規則用例修復 元素變更感謝聆聽關注QECon公眾號