随着项目研发规模的扩大,无论是打包编译的需求,还是测试任务的广度深度都在与日俱增。面对越来越高频的“发版-测试-反馈”的工期,如何在每个工作环节上提升研发效率,最大程度地发挥整个研发团队的生产力,并最终可按时交付版本,是大家都在努力的方向。
为了解决游戏行业当下的各种研发效率困境,UWA Pipeline孕育而生,经过几个版本迭代后,现正式推出UWA Pipeline 2.0版本,它是一款面向游戏开发团队的本地协作平台,旨在为游戏开发团队搭建专属的DevOps研发交付流水线。主要提供:
- 提交代码后的全自动编译出包测试流水线;
- 可视化的流水线编辑器;
- 高可用的自动化测试平台;
- 高效的设备管理平台;
- 为游戏团队而生的制品管理;
- 无缝对接UWA 性能保障体系。
下面我们逐一介绍各个功能点:
1、全自动编译出包测试流水线
可视化的流水线编辑器
传统的研发流程中需要大量的团队协作,包括代码编译、数据库集成、功能测试、审查、部署和反馈等,因此在日常的研发团队中,实现一套完整的出包测试流水线都需要大量的人力参与和一定的技术门槛现在,这些繁琐的工作都可以通过UWA Pipeline高效实现,只需0.5天远程部署,就能在本地运行起来。
UWA Pipeline已经支持了日常的打包构建、测试和部署等基本功能,大家可以随取即用。
同时,随着团队规模的扩大,对于研发效率和质量重视意识不断提升,越来越定制化的需求已经变得日益突出,因此在Pipeline本身支持可扩展的情况下,我们后续还会陆续支持一些常用的功能操作,譬如包前检测、构建检测、版本号检测、安全加固检测等,提醒系统等,便于大家都能创建贴合项目自身需求的流水线。
在UWA Pipeline中,所有的流水线编辑均是可视化的,我们可轻松排布需要的工作任务,非代码人员也可以轻松驾驭。
2、高可用的自动化测试平台
面对越来越密集的“发版-测试-反馈”的工期,我们需要自动化测试去接替一部分传统的人工测试。UWA Pipeline的自动化测试框架能实现自动安装,以及各种性能或功能测试,节省大量重复工作上的人力和时间成本。
自动化安装
Pipeline内置自动化测试框架。我们可以在出新版后统一在公司内部的真机上批量安装,以此排查是否有兼容性问题,譬如无法安装,白屏或黑屏的现象。
自动化功能/性能测试
自动化功能非常适合项目的研发中后期或维护阶段,使用代码辅助做一些重复性较高的测试工作,例如回归玩法逻辑包括:新手引导、UI遍历、场景挂机、场景切换等;或者一些手工测试较难达成的测试,例如多人战斗等。同时,由于是全自动的,也不受时间限制,只要有机器资源就可以运行。
基于UWA Pipeline的自动化测试框架,研发团队只需安排个别人员就能实现对测试全程的有效监控,解放传统测试过程中的大量的人力和时间成本;确保了项目每一次的改动和更新,都能得到充分的测试验证,及时暴露项目中各种潜在的问题。
应对突发问题
同时,我们也可以实时监控真机的脚本运行情况。在测试运行中如出现异常或突发问题时也能及时干预。
3、无缝接入UWA性能保障体系
当我们执行自动化测试后,如何高效地分析报告并反馈问题也是我们要攻克的挑战,反馈的全面性和精准性很大程度影响了整个测试成果的有效性。在一般的批量自动化测试中我们发现有这类痛点:
• 自动化测试多限于功能测试,分析结果多为兼容性内容,较为单一
• 测试报告需要逐一查看,分析和定位问题的人力/时间成本较高
为了优化以上两大困境,UWA Pipeline提供了详尽的测试报告。在研发团队完成自动化测试后,可通过报告从宏观上了解各机型对测试用例的执行情况,快速定位执行情况异常的机型和步骤,从而进行针对性地分析和处理。
Pipeline也可以把功能测试和性能测试结合起来,在一次测试时收集功能测试和性能数据。通过GOT Online批量收集的性能数据,我们也可以拿来做版本对比,查看最新版本下的哪个模块、哪个具体参数的发生了变化。
通过数据反馈,我们可以及时验证是否引入了新的隐患,它可能是功能上的bug,也可能是性能问题,通过回归测试都可以降低发现和修复问题的成本。
4、实用的本地真机平台
由于自动化测试天然对于设备、脚本和测试包有着集中管理的需求,但现实中由于各种困难使得我们往往难以实现很好的集中管理:设备占用、设备找不到等情况常有发生;因此UWA Pipeline内置了实用的本地云真机系统,日常开发中用到的测试机可统一接入到局域网,研发团队可进行实时地在线真机操作并监控运行情况。
在Pipeline的界面中,我们可以通过品牌、Android系统、屏幕分辨率、设备是否空闲等标签快速筛查合适的测试设备。
针对空闲的设备,QA团队可以在每次发版后,按需做对应的自动化测试;也可以在日常轻松执行一些远程调试工作,UWA Pipeline支持常见的功能操作譬如打开浏览器、打开开发模式、截图等,也可以自定义一些快捷入口,譬如调起UWA SDK面板等。
通过对测试设备的集中管理,合理调度分配,研发团队可突破传统的网页访问、办公地点、常规网络限制,更*地进行项目测试。
除此之外,Pipeline还提供制品管理功能,包括:用例管理和包管理。在Pipeline中编译构建后的版本可快速安装到指定测试机上,无缝推动之后的自动化测试。
在产品向精品化迈入的今天,任何研发团队都需要提升研发效率。UWA Pipeline的推出,正是基于游戏行业的特点,将DevOps的理念充分整合到日常流程中,为更敏捷的开发部署模式提供更多可能,为研发团队争取更多时间,让更智慧的研发生产力爆发出来。