GameRes原創(chuàng)/美國太平洋時間3月19日,GDC開幕第一天,Google在GDC發(fā)布了一款由網(wǎng)易研發(fā)的游戲UI自動化測試方案:Airtest Project。21日,這項(xiàng)研發(fā)成果也展開了專門的講座活動,向全球開發(fā)者公開演示。
Airtest Project 在GDC進(jìn)行首次正式對外發(fā)布
Airtest Project的專場演示
據(jù)GameRes了解,AirtestIDE這是一個跨平臺的UI自動化測試編輯器,可應(yīng)用于游戲和App的多項(xiàng)測試功能。目前該工具已經(jīng)應(yīng)用在網(wǎng)易內(nèi)部《夢幻西游》手游、《荒野行動》、《陰陽師》等數(shù)十個游戲項(xiàng)目中。
讓我們先來一起看看Airtest Project的主要特點(diǎn):
基于圖像識別的 Airtest 框架,適用于Android和Windows上的游戲和APP,且無需開發(fā)者在項(xiàng)目代碼上的額外支持。
基于UI控件搜索的 Poco 框架,使用Unity3d、Cocos2d或Android原生App開發(fā)的項(xiàng)目在腳本制作上具有極大的便利性。
自動化腳本錄制、一鍵回放、報告查看,輕而易舉實(shí)現(xiàn)自動化測試流程。
可利用手機(jī)集群進(jìn)行大規(guī)模自動化測試,為游戲與APP快速實(shí)現(xiàn)兼容性測試。
目前支持在Windows和MacOS上運(yùn)行。
5分鐘快速上手,自動測試、一鍵生成報告
基于圖像識別的UI自動化框架——Airtest,適用于任何游戲引擎和應(yīng)用的自動化測試,支持Andriod和Windows,iOS支持正在開發(fā)中。Airtest提供了跨平臺的API,包括安裝應(yīng)用、模擬輸入、斷言等?;趫D像識別技術(shù)定位UI元素,你無需嵌入任何代碼即可進(jìn)行自動化測試。測試腳本運(yùn)行后可以自動生成詳細(xì)的測試報告,讓你迅速定位失敗的測試點(diǎn),而快速、精準(zhǔn)、反饋,將成為每個CP對產(chǎn)品的測試命脈。
在GameRes看來,游戲bug一直是圍繞在每個游戲身上不可避免的問題,有些bug雖小,但對游戲本身往往非常致命,對于獲取用戶費(fèi)用高漲,留存用戶如此珍貴的現(xiàn)在,任何因?yàn)閎ug導(dǎo)致的用戶流失是我們每個游戲廠商不得不重視的問題。以往CP在游戲測試環(huán)節(jié)上,需要投入大量的QA人力,將每個游戲版本在上百種設(shè)備上進(jìn)行一遍又一遍的測試,除了消耗大量人力之外,最重要的是還影響了產(chǎn)品的上線更新迭代周期,加上人工操作可能產(chǎn)生的失誤,使之成為整個研發(fā)項(xiàng)目過程中最重要又最容易被忽視的環(huán)節(jié)。
現(xiàn)在,游戲廠商可以借助Airtest IDE實(shí)現(xiàn)自動化UI測試,模擬人工測試時在真機(jī)上UI操作的過程,同時能實(shí)現(xiàn)比人工測試更為精細(xì)的測試結(jié)果,為開發(fā)團(tuán)隊(duì)節(jié)約成本。可錄制自動化測試腳本、一鍵生成測試報告,提供相對完整的問題操作步驟、現(xiàn)場日志、截圖和性能數(shù)據(jù)的記錄,幫助開發(fā)成員快速定位和解決問題,實(shí)現(xiàn)有效溝通。
Airtest、Poco雙管齊下,精益求精的自動化測試
游戲開發(fā)過程中,UI異常主要包括了游戲界面出現(xiàn)黑屏、白屏、花屏、資源加載失敗、加載緩慢等問題。對于用戶而言,游戲UI的穩(wěn)定性能是最直接影響游戲體驗(yàn),對UI的精細(xì)化測試必然是開發(fā)者上線前必備功課。
在顯性可見的UI上,通常為登錄界面、主界面、功能界面等,我們通過圖像識別技術(shù)基本上可以滿所有需求,但游戲中往往還具有很多隱性UI,如戰(zhàn)斗提示、技能狀態(tài)、互動邏輯等,這些在游戲特定階段開啟后才會出現(xiàn)和激活,這也將導(dǎo)致圖像識別技術(shù)在這個方面有所缺失,所以,除了基于圖像識別測試以外,Arttest還具有更精準(zhǔn)的,基于UI控件的Poco測試,完美解決這個問題,也是Arttest為游戲的測試送上的一劑良藥。
基于控件識別的UI自動化框架——Poco,支持主流游戲引擎:Cocos2d-x、Unity3d、Android原生應(yīng)用。如果QA人員發(fā)現(xiàn)圖像識別不夠精準(zhǔn)時,還可以使用基于UI控件搜索的方式進(jìn)行自動化測試。在Poco輔助窗中切換模式至對應(yīng)引擎類型,即可看到整個UI結(jié)構(gòu)。
Airtest Project的開發(fā)者表示,在實(shí)際項(xiàng)目使用中,兩者互相配合效果更好,也更加全面的提供對游戲的測試,避免功能死角。
支持Python語法,做全平臺的布局
單設(shè)備的測試往往是無法滿足游戲測試需求,不同設(shè)備之間差異化明顯,較為顯著的是屏幕尺寸和UI對內(nèi)存的消耗,屏幕尺寸不同會直接導(dǎo)致UI布局錯位,影響用戶操作上的體驗(yàn),甚至無法點(diǎn)觸操作,游戲的閃退是各個玩家屢見不鮮的,除了程序錯誤之外,內(nèi)存消耗也是導(dǎo)致閃退的一大兇手?;氐街罢f的,如果需要在百種設(shè)備上進(jìn)行兼容測試,解決和測試上述問題,意味著QA人員需要在百種設(shè)備上反復(fù)測試流程,這無疑是巨大的人力時間消耗,通過一套腳本在各個設(shè)備上進(jìn)行測試,并快速的將測試結(jié)果以及遇到的異常反饋給開發(fā)人員是極為重要的一環(huán)。
手游集群測試
Airtest基于Python語法簡潔而強(qiáng)大,是廣大游戲開發(fā)者所熟知的一種可編譯腳本引擎,它的第三方庫和相關(guān)工具也非常多,非常合于游戲開發(fā)者。一次腳本編寫,多端運(yùn)行,為多平臺發(fā)布的產(chǎn)品提供質(zhì)量保證。在網(wǎng)易游戲內(nèi)部,自動化技術(shù)已經(jīng)應(yīng)用在數(shù)十個游戲項(xiàng)目中。例如《夢幻西游》手游、《大話西游》手游、《陰陽師》、《荒野行動》、《終結(jié)者2:審判日》等多款重點(diǎn)產(chǎn)品。
github腳本代碼截圖
Airtest Project的開發(fā)者介紹道,通常大型游戲會有數(shù)百個測試腳本,覆蓋常用的玩法測試。每周這些腳本都將運(yùn)行在200臺手機(jī)上,進(jìn)行回歸測試和兼容性測試。同時,Airtest IDE也支持打包腳本成可Firebase上的測試APK,F(xiàn)irebase是google的自動化測試平臺。
GameRes從官方了解到,在后續(xù)版本中也將加入對H5和lua腳本的支持。
結(jié)語
隨著Andriod版本的迭代發(fā)布,Andriod本身也越來越規(guī)范。但不同手機(jī)廠商有不同的UI和ROM,在屏幕尺寸、內(nèi)存大小等硬件方面也具有很大的差異,優(yōu)化方向又不盡相同,碎片化的問題對于游戲測試而言,增加了極大負(fù)擔(dān)。
Google方面表示Airtest是Android游戲開發(fā)的最強(qiáng)大、最全面的自動測試方案之一。通過Airtest IDE可視化、易于編輯的界面與功能,開發(fā)者只需錄制一次測試腳本即可實(shí)現(xiàn)多端運(yùn)行,減少了人力及時間成本。
Airtest IDE完全開放免費(fèi),為各類游戲開發(fā)商提供UI自動化測試解決方案,提高游戲品質(zhì)。同時,GameRes認(rèn)為對于Google來說,推出網(wǎng)易這款A(yù)irtest IDE能夠?yàn)槿澜绲陌沧块_發(fā)者提供一套自動化的游戲測試解決方案,改善安卓開發(fā)的生態(tài)環(huán)境,是勢在必行的一步舉措。
產(chǎn)品官網(wǎng):http://airtest.netease.com/