作者:周大軍/孫大偉, 騰訊后台開發 高級工程師
商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。
WeTest導讀
做好自動化測試從來不件容易的事情,更何況是手游的自動化測試,相比傳統的APP,手游畫面純OPENGL繪制無可識別控件,且界面動畫多、隨機性大。舉個例子,拿新手引導來說,手游中新賬號試玩會有一系列的新手引導,當新手引導過程通過之后,后面就不會再出現,但當賬號升級到一定等級,又會出現新玩法的新手引導。且手游的版本迭代非常快,平均1-2周就會出一個版本,界面也經常發生變化,這些都給自動化測試帶來很多障礙。
為解決手游自動化測試的這一瓶頸,騰訊WeTest依托騰訊人工智能研究的技術優勢,率先嘗試將基於深度學習的人工智能應用於手游測試當中,開啟AI手游自動化測試時代。2017 ChinaJoy WeTest展台上火爆的貪吃蛇AI互動展示,正是這一探索的成果之一。
AI自動化測試系統,開啟手游測試新風向
騰訊游戲的QA團隊,對於更高質量手游的追求從未停歇過,如今AI大火,技術上也有比較大的進步以及成熟的框架,這也給手游的自動化測試帶來很多新的可能性,目前騰訊內部也有不少團隊在積極研究手游的AI自動化測試,大體上分為兩種,一種是讓AI模型可以測試絕大多數的手游;另一種則是基於特定的手游做更細更有針對性的AI測試模型。
1、AI自動化測試系統的處理過程
手游自動化測試最重要的核心,在於如何讓電腦更智能的模擬真人的操作行為。一套基於深度學習的AI自動游戲系統,可以通過迭代訓練,讓機器自己做出動作決策,從而完成一系列的游戲操作。
AI自動游戲系統主要由4部分組成,說明如下:
● 處理模塊1:負責和手機交互,UI自動化操作,管理,結果記錄和存儲等;
● 處理模塊2:負責游戲UI界面的識別;
● 處理模塊3:負責識別一局游戲內的物體和數據等;
● 處理模塊4:負責決策玩游戲的動作決策,采用深度強化學習算法;
AI自動游戲系統整體框架如下圖: 
以天天酷跑為例,看AI自動化測試實戰演練
以天天酷跑游戲的AI自動化測試為例,整個測試過程主要分為前期訓練、接入測試、性能與結構反饋三個步驟:
前期訓練
前期訓練得到神經網絡的權值(文件),后面測試只需要讓神經網絡加載這個權值(文件)就可輸出學習到的動作決策,達到自動玩游戲的目的。
系統采用特定算法對模型進行訓練。訓練結果如下圖,橫坐標是玩的游戲局數,縱坐標是一局跑的里程數。整個訓練過程共進行了上萬局游戲,隨着訓練的次數增多,每局的里程數也在上升。 
接入測試
天天酷跑游戲運行在WeTest雲真機上,自動化進程和雲真機交互,實時抓取游戲畫面數據。
進入游戲后,檢測進程識別游戲畫面中的物體和數據,例如天天酷跑中的台階、坑、柱子等物體信息以及距離等數值信息。游戲畫面和識別出的物體和數據最終發給深度學習進程作為輸入,深度學習進程的輸出就是執行玩游戲的動作,例如天天酷跑中就是“下蹲”、“起身”、“跳躍”等。
一局游戲結束后,再重復上述的過程進行下一局測試。 
性能和結果數據
AI在玩游戲的同時,系統可以獲取手機的性能數據和游戲的結果數據,並在網頁端進行展示。
如下圖所示,每一行對應天天酷跑一局游戲,分別展示了手機CPU利用率,內存使用量,電池電量,溫度,玩一局跑的里程數和游戲時間以及死亡前的游戲畫面。 
除了天天酷跑,AI自動游戲系統已接入騰訊多項精品游戲的測試工作。
騰訊WeTest攜AI自動化手游測試,為游戲創造更大價值
使用AI自動游戲系統進行手游測試,游戲廠商可以借助AI的智能輕松實現類似於人工測試時在真機上玩游戲的過程,節省大量的測試人力成本。
隨着人工智能技術的飛速發展,簡單機械的游戲測試工作必將逐步向自動化、智能化轉移。騰訊WeTest作為游戲質量的守護者,將為游戲開發者們提供操作更加便捷高效的AI自動化測試方案,讓游戲開發者能更多地專注於游戲創意性、可玩性、操作習慣等更需要創意的環節,為游戲創造更大的價值。
關於騰訊WeTest (wetest.qq.com)
騰訊WeTest是騰訊游戲官方推出的一站式游戲測試平台,用十年騰訊游戲測試經驗幫助廣大開發者對游戲開發全生命周期進行質量保障。騰訊WeTest提供:適配兼容測試;雲端真機調試;安全測試;耗電量測試;服務器性能測試;輿情分析等服務。
點擊地址:http://wetest.qq.com/立即體驗!
