随着业内对“工业化”认知的不断提升,越来越多的UWA用户通过UWA Pipeline的各项功能,为项目研发提供了极大的助力。其中的自动化测试与GOT Online性能测评的结合,帮助项目组在每个“测试-反馈”周期内,在大批量真机设备上实现项目的自动化运行和性能测试,极大地提高了测试任务的执行效率。而这些目标仅需要一套内网环境的云真机系统就能实现!
不久前,在UWA远程协助下,苏州天魂的《古魂-魂之刃2》项目组自主完成了云真机设备集群的搭建,并通过UWA Pipeline实现了批量设备上的自动化测试。今天我们就抛砖引玉,一起来复盘一下这套系统的搭建过程。
我们先来了解一下什么是“UWA Pipeline云真机系统”?简单来讲,就是在内网环境下,以UWA Pipeline为平台,构建一套多测试设备管理系统,接入批量移动测试设备,在PC上实时显示各设备的使用状态和参数信息,并能随时进行调用和调试,实现多设备的手动或自动化测试。(详见《UWA Pipeline 2.0 功能详解|私有云真机远程调试》)
这就是《古魂-魂之刃2》项目在云真机系统上运行的效果。下面我们来了解一下这套系统是如何搭建并运行的。
云真机系统的搭建
1.设备清单
1)手机放置架和散热风扇
准备好手机放置架和散热风扇。手机放置架主要用于统一收纳手机,便于集中管理和查看运行状态;散热风扇的作用则是真机设备在长时间的测试任务时,降低设备温度,避免设备因过热而导致的各种软硬件问题。一般来说,在进行功能测试时,UWA建议将风扇开启,而在进行性能测试时,可以将风扇关闭,从而更能体现性能测试中设备温度的真实性。
2)真机测试设备
根据项目的目标用户定位,尽可能选择不同档位、不同品牌、不同系统、不同分辨率等参数的测试设备。例如:
- 考虑不同的手机品牌分布
- 覆盖项目不同的性能分级和内存要求
- 涵盖主流的Android/iOS系统版本
- 出海项目还要综合考虑海外市场的设备分布和内存情况,有条件时可以购入海外机型
3)节点机
从性价比的角度考量,UWA建议采用专用的工控机作为节点来连接真机测试设备,不必占用大型的台式机。一般来说,我们可以通过多台工控机就能同时串联大量测试设备,组建成测试集群。
至此,UWA Pipeline云真机系统的硬件搭建就完成了。当然例如供电的插排、多接口的USB HUB集线器、网线和数据线等,大家可根据实际情况行配置即可。
2.设备调试
硬件搭建完成后,接下来就要确保各类设备正常接入UWA Pipeline。
1)节点机的配置
节点机按照UWA Pipeline的节点配置进行操作:在Pipeline的节点管理中新建节点,按照给出的提示和链接,依次完成节点机上Python、Node、Java环境和节点启动程序Provider的下载、安装与配置。
再根据节点表单中的提示,配置其余信息。保存完设置后,运行节点启动程序Provider,此时节点机就正常接入到UWA Pipeline中了。
2)真机测试设备的调试
在节点开启Provider(需要保持开启状态)并接入到UWA Pipeline后,大家就可以把真机测试设备连接到节点上进行调试(需要在手机上选择文件传输模式,接着在开发者选项中打开USB调试)。
如果设备的数据线连接和数据传输都正常,那么真机设备上会开始自动安装必要的几个应用。一般而言,当真机设备出现如下界面时,说明调试成功,此时可以到UWA Pipeline的“设备管理”中去选取相应设备,在网页端对真机设备进行滑动、安装等操作。如果希望将iOS设备接入UWA Pipeline的云真机系统,需要大家另外准备一台Mac设备作为“节点机”去配置节点,然后接入iOS设备进行调试。
3)UWA Pipeline网页访问设置
由于UWA Pipeline搭建在办公环境的局域网内,所以大家只要在同一局域网下,就可以通过浏览器直接访问和操作云真机系统中的每一个设备。
测试任务的执行
1.自动化测试
UWA为项目组编写了相关的自动化测试脚本,例如:频繁进出指定关卡,并在场景内,释放角色所有技能。
《古魂-魂之刃2》项目组选定了一批测试手机,实现了“每小时运行一次完整测试用例”的高强度、高频率自动化测试任务,从而成功定位到了“关卡加载过程中偶现的Loading卡死”的问题。
在以往的项目测试过程中,针对偶发的不明问题,项目组往往要花费大量的时间人工进行测试并尝试复现,耗费了大量时间和人力。而通过UWA Pipeline云真机系统,就可以像《古魂-魂之刃2》项目组一样,通过特定的自动化用例的运行,以少量的精力投入,及时排查可能存在的问题,大幅提高效率。同时,针对ARPG类型的游戏,UWA也建议测试用例可以覆盖多个副本自动战斗、自动播放所有技能/特效、UI遍历(例如背包、英雄遍历)等。
2.多设备调试
通过UWA Pipeline的多设备调试功能,项目组还实现了更为自由的针对大批量设备的各项操作。
例如测试人员可以选定一台设备作为“领头羊”,就可以在不使用自动化脚本的情况下,操控整个设备集群,实现一拖N同步测试的效果(如视频展示:测试人员在操作左上角的设备屏幕,而其操作动作会无缝同步到其他设备中,从而实现同时操作N台设备的效果,大幅提升测试人员的测试效率)。
通过UWA Pipeline,同一时间,各个节点机可以分别执行各自流水线上设定好的任务,用于不同的测试用例、需求、设备等组合,互相之间也不会干扰。
以上,就是《古魂-魂之刃2》团队云真机系统的搭建过程,以及测试任务运行方面的经验和细节。未来,UWA也希望可以和更多团队深入合作与交流,分享更多UWA Pipeline的使用心得和成功案例,一起学习,一起进步。