GameRes原创/美国太平洋时间3月19日,GDC开幕第一天,Google在GDC发布了一款由网易研发的游戏UI自动化测试方案:Airtest Project。21日,这项研发成果也展开了专门的讲座活动,向全球开发者公开演示。
Airtest Project 在GDC进行首次正式对外发布
Airtest Project的专场演示
据GameRes了解,AirtestIDE这是一个跨平台的UI自动化测试编辑器,可应用于游戏和App的多项测试功能。目前该工具已经应用在网易内部《梦幻西游》手游、《荒野行动》、《阴阳师》等数十个游戏项目中。
让我们先来一起看看Airtest Project的主要特点:
基于图像识别的 Airtest 框架,适用于Android和Windows上的游戏和APP,且无需开发者在项目代码上的额外支持。
基于UI控件搜索的 Poco 框架,使用Unity3d、Cocos2d或Android原生App开发的项目在脚本制作上具有极大的便利性。
自动化脚本录制、一键回放、报告查看,轻而易举实现自动化测试流程。
可利用手机集群进行大规模自动化测试,为游戏与APP快速实现兼容性测试。
目前支持在Windows和MacOS上运行。
5分钟快速上手,自动测试、一键生成报告
基于图像识别的UI自动化框架——Airtest,适用于任何游戏引擎和应用的自动化测试,支持Andriod和Windows,iOS支持正在开发中。Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。基于图像识别技术定位UI元素,你无需嵌入任何代码即可进行自动化测试。测试脚本运行后可以自动生成详细的测试报告,让你迅速定位失败的测试点,而快速、精准、反馈,将成为每个CP对产品的测试命脉。
在GameRes看来,游戏bug一直是围绕在每个游戏身上不可避免的问题,有些bug虽小,但对游戏本身往往非常致命,对于获取用户费用高涨,留存用户如此珍贵的现在,任何因为bug导致的用户流失是我们每个游戏厂商不得不重视的问题。以往CP在游戏测试环节上,需要投入大量的QA人力,将每个游戏版本在上百种设备上进行一遍又一遍的测试,除了消耗大量人力之外,最重要的是还影响了产品的上线更新迭代周期,加上人工操作可能产生的失误,使之成为整个研发项目过程中最重要又最容易被忽视的环节。
现在,游戏厂商可以借助Airtest IDE实现自动化UI测试,模拟人工测试时在真机上UI操作的过程,同时能实现比人工测试更为精细的测试结果,为开发团队节约成本。可录制自动化测试脚本、一键生成测试报告,提供相对完整的问题操作步骤、现场日志、截图和性能数据的记录,帮助开发成员快速定位和解决问题,实现有效沟通。
Airtest、Poco双管齐下,精益求精的自动化测试
游戏开发过程中,UI异常主要包括了游戏界面出现黑屏、白屏、花屏、资源加载失败、加载缓慢等问题。对于用户而言,游戏UI的稳定性能是最直接影响游戏体验,对UI的精细化测试必然是开发者上线前必备功课。
在显性可见的UI上,通常为登录界面、主界面、功能界面等,我们通过图像识别技术基本上可以满所有需求,但游戏中往往还具有很多隐性UI,如战斗提示、技能状态、互动逻辑等,这些在游戏特定阶段开启后才会出现和激活,这也将导致图像识别技术在这个方面有所缺失,所以,除了基于图像识别测试以外,Arttest还具有更精准的,基于UI控件的Poco测试,完美解决这个问题,也是Arttest为游戏的测试送上的一剂良药。
基于控件识别的UI自动化框架——Poco,支持主流游戏引擎:Cocos2d-x、Unity3d、Android原生应用。如果QA人员发现图像识别不够精准时,还可以使用基于UI控件搜索的方式进行自动化测试。在Poco辅助窗中切换模式至对应引擎类型,即可看到整个UI结构。
Airtest Project的开发者表示,在实际项目使用中,两者互相配合效果更好,也更加全面的提供对游戏的测试,避免功能死角。
支持Python语法,做全平台的布局
单设备的测试往往是无法满足游戏测试需求,不同设备之间差异化明显,较为显著的是屏幕尺寸和UI对内存的消耗,屏幕尺寸不同会直接导致UI布局错位,影响用户操作上的体验,甚至无法点触操作,游戏的闪退是各个玩家屡见不鲜的,除了程序错误之外,内存消耗也是导致闪退的一大凶手。回到之前说的,如果需要在百种设备上进行兼容测试,解决和测试上述问题,意味着QA人员需要在百种设备上反复测试流程,这无疑是巨大的人力时间消耗,通过一套脚本在各个设备上进行测试,并快速的将测试结果以及遇到的异常反馈给开发人员是极为重要的一环。
手游集群测试
Airtest基于Python语法简洁而强大,是广大游戏开发者所熟知的一种可编译脚本引擎,它的第三方库和相关工具也非常多,非常合于游戏开发者。一次脚本编写,多端运行,为多平台发布的产品提供质量保证。在网易游戏内部,自动化技术已经应用在数十个游戏项目中。例如《梦幻西游》手游、《大话西游》手游、《阴阳师》、《荒野行动》、《终结者2:审判日》等多款重点产品。
github脚本代码截图
Airtest Project的开发者介绍道,通常大型游戏会有数百个测试脚本,覆盖常用的玩法测试。每周这些脚本都将运行在200台手机上,进行回归测试和兼容性测试。同时,Airtest IDE也支持打包脚本成可Firebase上的测试APK,Firebase是google的自动化测试平台。
GameRes从官方了解到,在后续版本中也将加入对H5和lua脚本的支持。
结语
随着Andriod版本的迭代发布,Andriod本身也越来越规范。但不同手机厂商有不同的UI和ROM,在屏幕尺寸、内存大小等硬件方面也具有很大的差异,优化方向又不尽相同,碎片化的问题对于游戏测试而言,增加了极大负担。
Google方面表示Airtest是Android游戏开发的最强大、最全面的自动测试方案之一。通过Airtest IDE可视化、易于编辑的界面与功能,开发者只需录制一次测试脚本即可实现多端运行,减少了人力及时间成本。
Airtest IDE完全开放免费,为各类游戏开发商提供UI自动化测试解决方案,提高游戏品质。同时,GameRes认为对于Google来说,推出网易这款Airtest IDE能够为全世界的安卓开发者提供一套自动化的游戏测试解决方案,改善安卓开发的生态环境,是势在必行的一步举措。
产品官网:http://airtest.netease.com/