UWA学堂|测试模块知识Tree
- 作者:admin
- /
- 时间:2020年12月28日
- /
- 浏览:2476 次
- /
- 分类:厚积薄发
在游戏的开发、上线以及后续的维护中,测试是必不可少的岗位。随着行业的推进,游戏测试薪资待遇也在不断地提升,同时也意味着对该岗位更高的技能要求。
UWA学堂旨在传播游戏行业的体系化的进阶学习内容,针对不同模块知识做了分类汇总,本期为大家推送测试相关课程,帮助大家理解学习。
进入学堂:edu.uwa4d.com,选择对应分类即可查看相关课程。
Airtest是由网易游戏质量保障中心自主研发的一套基于UI层的所见即所得的自动化测试框架,同时支持安卓、iOS、桌面应用、网页应用和小程序等。
本课程期望帮助刚开始学习自动化测试的工程师、对自动化测试感兴趣的职场新人和Airtest新用户快速掌握自动化测试的学习路径,以及掌握Airtest自动化测试。
本节课程节选自《游戏自动化测试开发入门》,主要针对Python变量作用域进行讲解。视频全长约25分钟。《游戏自动化测试开发入门》课程背景:Airtest一直是游戏自动化测试中的重要工具,本课程通过项目实战讲解Airtest及相关的语言和工具,从而全方位了解Airtest的特性以及自动化测试的思路。
目前,自动化测试需求已经被越来越多的游戏开发团队所重视。一方面自动化测试可以让研发团队及时发现潜在问题,将大部分问题及时扼杀在摇篮里,另一方面,则是将繁复的检测工作进行自动化处理,可以进一步提升工作效率,降低研发成本。所以,本文我们从自身的工作出发,总结了在自动化测试开发过程中所遇到的重要问题。
内容主要包括:从游戏版本在Jenkins上的自动构建到Python测试框架优化,再到自动化测试在游戏中的运用,最后探讨在游戏研发中发挥自动化性能测试的作用。通过讲解以上各部分的搭建,希望可以让大家更深入地理解游戏自动化测试体系。
本文中所讲解的多数搭建过程都可以利用开源项目来完成,例如:Unittest、WDA、GAutomator和TCloud等。同时,也可以参考我们的定制思路,根据自身游戏项目的特点进行开发和定制。
本门课程属于基础课程,特别适合于游戏团队的测试开发人员阅读,同时需要具备少量的项目工程搭建以及二次开发能力,例如使用Python、C#、 JavaScript等。希望对大家项目中的自动化测试框架的设计和搭建能有所帮助。
文章主要介绍了利用Jenkins实现Unity的自动化打包发布,主要从以下几个方面展开介绍:
1.什么是Jenkins,为什么要用它
维基百科是这样定义的,Jenkins是一款由Java编写的开源的持续集成工具,在我的理解就是自动化开发的一个脚手架。Jenkins应用于互联网开发的方方面面,不仅仅局限于本文主要讲的游戏自动化发布,据我了解它用于互联网开发发布、移动开发发布、运维相关等等,是一个非常实用的工具,几乎成了IT公司的标配,注意这里没有局限公司的规模和行业,这说明Jenkins的实用性足以让我们没有任何理由不去了解和使用它。
2.如何配置Jenkins和打包
本文讲解了Windows、Mac配置Jenkins,以及配置过程中要注意的地方,介绍了打包Windows、Android、iOS等客户端以及在此过程中会碰到的困难和解决方案。
3.Jenkins打包流程优化
我们不能仅仅满足于自动化打包功能的实现,还要深究如何更好地利用它,让自动化做到极致,做到发布的全过程不需要人工参与。
《Jenkinsfile基础与UWA本地资源检测组件接入实战》
本课程针对参数化构建、节点、环境变量等来介绍Jenkinsfile的编排,详细讲解了string、bool、choice等常见的4种参数的参数化构建方法,变量的定义与引用以及post语句块中经常会使用到的构建状态指令,抛开原来Freestyle project的使用模式,改用Pipeline来替代,满足更复杂工作的需求,并且使整体流程更灵活,更易维护。
结合UWA的“本地资源检测”业务进行实战,使用Jenkinsfile从本地资源检测组件的接入到上传测试结果,完成整个UWA本地资源检测业务的流程编排,在实际使用过程中感受Jenkinsfile的魅力。
通过课程,读者可以获得日志操作的能力,并掌握Airtest测试框架基础应用。具体将讲解grep、awk、sed对日志的操作以及Airtest提供的图形识别与Poco模式的基础功能。(关于“assert_exists() 接口使用特殊的 ST.THRESHOLD_STRICT 值作为找图阈值的设定”问题,Airtest已经在最新版本里修复。)
(限时优惠中)该课程为UWA官方课程,原为UWA学堂训练营直播课《游戏自动化测试入门》,经编辑成视频课程,共6小节,包含ADB讲解、Python基础入门以及Airtest应用。
1)ADB讲解:介绍ADB常用场景、使用基础,以及ADB如何为日常测试工作提供助力;
2)Python基础:介绍Python语法,帮助大家建立编程思维,更好地理解业务逻辑;
3)Airtest应用:帮助掌握Airtest的使用和工作原理,为项目制作高质量自动化测试脚本。
Airtest一直是游戏自动化测试中的重要工具,本课程通过项目实战讲解Airtest及相关的语言和工具,从而全方位了解Airtest的特性以及自动化测试的思路。
在游戏版本高速迭代的今天,性能优化一直是一个很重要的命题,但是大部分团队面对日益繁重的研发压力,通常会把所有的性能优化环节放在最后,因此不得不面对优化成本大幅增加、开发周期大幅变长的问题。对此,我们提供了一种轻量级的流水线结合解决方案来解决这一问题。当我们把相关的性能检测由手动过渡到自动,把大量的优化工作前置到平时进行处理,把开发周期的末端节点的性能优化转变成开发过程中的性能保障,那么这一切都将迎刃而解。
整体的结构是由若干组件构成的,与CI工具进行结合,既可以视其为一条完整的工具链,也可以视其为一条完整的CI流水线,从代码检出到接入需要的工具进行检测、打包、检测结果的展示等一系列的流程。易于接入同时又以极低的维护成本穿插在整个项目开发周期之中。通过对项目的各种资源、场景、全局设置以及代码层面等等的维度进行全方位的检测,旨在有效地解放生产力,让研发更专注于功能和框架,让QA更专注于质量,为项目提供更智能、更简洁和更高效地护航。
创新玩法的游戏在目前中国市场尚不多见,游戏产品从一个点子、一张概念图甚至一句话开始萌芽,到最终成为商业化产品投向市场,中间经历的每个版本和过程都要精心设计和实施,稍有差池,就会面临产品的彻底失败。泰尼游戏在三年时间里,从组织架构到资源调配,从工具推广到管理实践都进行了大量的思考和尝试,正在逐步形成具有自身特色的创意游戏质量管理方法论,当然更多的是在这个过程中,汗水、教训、希望、失败等等交织在一起,成为了团队成长的重要经历。
本次报告主要讲解了嘉宾讲师所在团队的创意游戏的生命历程和游戏质量管理的方方面面,并通过具体实例来讲解在质量管理方面的工具和方法论。希望通过本次内容的交流,让更多的人能够思考在中小团队如何高效的实施创意验证、快速迭代、质量管控、团队协作等方面,以期共同成长。
在过去的五年里,移动互联网的测试技术正在突飞猛进地发展。移动游戏作为移动互联网的一部分,我们的质量体系可以从中吸取到怎样的经验和启发呢?当游戏上线后获得了玩家的广泛传播和热爱时,我们的质量体系是否为随之而来的更高标准的挑战做好了准备?游戏卡顿、加载慢、闪退、耗能等,一直是质量技术在不断探索和解决的问题。
本课程将从两方面分享有关移动游戏客户端的质量体系的经验和方法:
(1)为了达到游戏客户端的高可用要求,我们需要搭建哪些基础体系?并且如何能用好它们。
(2)怎样治理游戏客户端的性能和稳定性问题?如何用稳健的策略去发布我们的新客户端。
各品类头部游戏的争夺,也会是质量和技术博弈的舞台。在海量的玩家面前,谁的质量和稳定性更胜一筹可能就留住了玩家。移动游戏也可以像互联网大佬那样严苛地去挑战质量的极限。希望课程能对准备着未来产生爆款游戏的开发者们产生更多的思考,迸发出更多创意性的火花。
在团队从核心逐渐扩大的过程中,必须要有一套稳定的项目管理流程来保障开发和进度,而针对海外机型普遍低端的客观情况,质量和性能则成为客户端的重点攻克目标。本次议题是项目管理和质量保障,就如同勇士的剑与盾一般,保障着游戏开发的品与质:
(1)项目管理和项目经理在游戏开发中的职能和重要性
(2)项目管理中常用的流水线
(3)开发期和运营期间,项目管理的策略和实战流程
(4)手游开发中质量的定义和理解
(5)如何保障手游开发所涉及的质量领域
UWA已为超过2000个游戏团队提供了技术支持服务与产品,在近一年的的实战服务中,我们进一步拓展和完善了UWA性能保障体系。本次报告将通过大量的实例来讲解UWA与各个研发团队在性能保障和质量管控方面的落地合作与实操经验,主要内容包括:
(1)如何有效监控游戏项目的重要性能参数;
(2)如何合理使用自动化性能测试来降低人力成本;
(3)如何在研发过程中快速搭建性能保障体系等。
通过本次报告,我们希望研发团队可以进一步掌握如何通过优化研发流程来达到持续保障游戏项目开发的健康性和高效性,以此降低项目研发时间成本和人力成本。
详细介绍UWA性能保障体系,并通过具体实例来系统说明研发团队如何根据UWA性能保障体系来保证游戏项目研发过程中性能问题的及时定位和及时解决。通过本次报告,我们希望研发团队可以掌握如何通过优化研发流程来达到持续保障游戏项目开发的健康性和高效性,以此降低项目的研发时间和成本。
以上是就是本期为大家梳理的UWA学堂中与测试开发模块相关的知识Tree,作为体系化的知识,我们希望大家能掌握背后的逻辑与原理,结合学习方法论并反复实践,能够在自己的项目中更高效地进行资源管理。同时也欢迎大家向我们投稿,交流行业内的技术知识。
往期知识Tree回顾:
《Unity引擎逻辑代码模块知识Tree》
《Unity引擎渲染模块知识Tree》
《Unity引擎UI模块知识Tree》
《Unity引擎资源管理模块知识Tree》
《UWA学堂综合模块知识Tree》