无论对于从业者还是正在读大学的技术萌新,学习的有效时间和个人时间都是有限的。高效学习者最在意的是时间的价值,一个需要体系化的知识地图就显得尤为重要。

本期为大家整理了 UWA 发布的与游戏测试开发相关的内容,欢迎大家按照自己的兴趣和需要参考取阅。

往期知识 Tree 回顾:
《Unity 引擎逻辑代码模块知识 Tree》
《Unity 引擎渲染模块知识 Tree》
《Unity 引擎 UI 模块知识 Tree》
《Unity 引擎资源管理模块知识 Tree》
《UWA 学堂综合模块知识 Tree》

《自动化测试从入门到精通》

Airtest 是由网易游戏质量保障中心自主研发的一套基于 UI 层的所见即所得的自动化测试框架,同时支持安卓、iOS、桌面应用、网页应用和小程序等。

本课程期望帮助刚开始学习自动化测试的工程师、对自动化测试感兴趣的职场新人和 Airtest 新用户快速掌握自动化测试的学习路径,以及掌握 Airtest 自动化测试。

《Jenkinsfile 基础与 UWA 本地资源检测组件接入实战》

本课程针对参数化构建、节点、环境变量等来介绍 Jenkinsfile 的编排,详细讲解了 string、bool、choice 等常见的 4 种参数的参数化构建方法,变量的定义与引用以及 post 语句块中经常会使用到的构建状态指令,抛开原来 Freestyle project 的使用模式,改用 Pipeline 来替代,满足更复杂工作的需求,并且使整体流程更灵活,更易维护。

结合 UWA 的 “本地资源检测” 业务进行实战,使用 Jenkinsfile 从本地资源检测组件的接入到上传测试结果,完成整个 UWA 本地资源检测业务的流程编排,在实际使用过程中感受 Jenkinsfile 的魅力。

《如何快速搭建游戏自动化测试》

目前,自动化测试需求已经被越来越多的游戏开发团队所重视。一方面自动化测试可以让研发团队及时发现潜在问题,将大部分问题及时扼杀在摇篮里,另一方面,则是将繁复的检测工作进行自动化处理,可以进一步提升工作效率,降低研发成本。所以,本文我们从自身的工作出发,总结了在自动化测试开发过程中所遇到的重要问题。

内容主要包括:从游戏版本在 Jenkins 上的自动构建到 Python 测试框架优化,再到自动化测试在游戏中的运用,最后探讨在游戏研发中发挥自动化性能测试的作用。通过讲解以上各部分的搭建,希望可以让大家更深入地理解游戏自动化测试体系。

本文中所讲解的多数搭建过程都可以利用开源项目来完成,例如:Unittest、WDA、GAutomator 和 TCloud 等。同时,也可以参考我们的定制思路,根据自身游戏项目的特点进行开发和定制。

本门课程属于基础课程,特别适合于游戏团队的测试开发人员阅读,同时需要具备少量的项目工程搭建以及二次开发能力,例如使用 Python、C#、 JavaScript 等。希望对大家项目中的自动化测试框架的设计和搭建能有所帮助。

《Linux 三剑客与 Airtest 的应用》

通过课程,读者可以获得日志操作的能力,并掌握 Airtest 测试框架基础应用。具体将讲解 grep、awk、sed 对日志的操作以及 Airtest 提供的图形识别与 Poco 模式的基础功能。(关于 “assert_exists() 接口使用特殊的 ST.THRESHOLD_STRICT 值作为找图阈值的设定” 问题,Airtest 已经在最新版本里修复。)

《Jenkins 自动化打包详解》

文章主要介绍了利用 Jenkins 实现 Unity 的自动化打包发布,主要从以下几个方面展开介绍:

  1. 什么是 Jenkins,为什么要用它
    维基百科是这样定义的,Jenkins 是一款由 Java 编写的开源的持续集成工具,在我的理解就是自动化开发的一个脚手架。Jenkins 应用于互联网开发的方方面面,不仅仅局限于本文主要讲的游戏自动化发布,据我了解它用于互联网开发发布、移动开发发布、运维相关等等,是一个非常实用的工具,几乎成了 IT 公司的标配,注意这里没有局限公司的规模和行业,这说明 Jenkins 的实用性足以让我们没有任何理由不去了解和使用它。

  2. 如何配置 Jenkins 和打包
    本文讲解了 Windows、Mac 配置 Jenkins,以及配置过程中要注意的地方,介绍了打包 Windows、Android、iOS 等客户端以及在此过程中会碰到的困难和解决方案。

  3. Jenkins 打包流程优化
    我们不能仅仅满足于自动化打包功能的实现,还要深究如何更好地利用它,让自动化做到极致,做到发布的全过程不需要人工参与。

《游戏客户端高可用性的探索》

在过去的五年里,移动互联网的测试技术正在突飞猛进地发展。移动游戏作为移动互联网的一部分,我们的质量体系可以从中吸取到怎样的经验和启发呢?

当游戏上线后获得了玩家的广泛传播和热爱时,我们的质量体系是否为随之而来的更高标准的挑战做好了准备?游戏卡顿、加载慢、闪退、耗能等,一直是质量技术在不断探索和解决的问题。

本课程将从两方面分享有关移动游戏客户端的质量体系的经验和方法。

  1. 为了达到游戏客户端的高可用要求,我们需要搭建哪些基础体系?并且如何能用好它们。
  2. 怎样治理游戏客户端的性能和稳定性问题?如何用稳健的策略去发布我们的新客户端。

各品类头部游戏的争夺,也会是质量和技术博弈的舞台。在海量的玩家面前,谁的质量和稳定性更胜一筹可能就留住了玩家。移动游戏也可以像互联网大佬那样严苛地去挑战质量的极限。希望课程能对准备着未来产生爆款游戏的开发者们产生更多的思考,迸发出更多创意性的火花。

《轻量级流水线结合方案助力打造高品质游戏》

在游戏版本高速迭代的今天,性能优化一直是一个很重要的命题,但是大部分团队面对日益繁重的研发压力,通常会把所有的性能优化环节放在最后,因此不得不面对优化成本大幅增加、开发周期大幅变长的问题。对此,我们提供了一种轻量级的流水线结合解决方案来解决这一问题。当我们把相关的性能检测由手动过渡到自动,把大量的优化工作前置到平时进行处理,把开发周期的末端节点的性能优化转变成开发过程中的性能保障,那么这一切都将迎刃而解。

整体的结构是由若干组件构成的,与 CI 工具进行结合,既可以视其为一条完整的工具链,也可以视其为一条完整的 CI 流水线,从代码检出到接入需要的工具进行检测、打包、检测结果的展示等一系列的流程。易于接入同时又以极低的维护成本穿插在整个项目开发周期之中。通过对项目的各种资源、场景、全局设置以及代码层面等等的维度进行全方位的检测,旨在有效地解放生产力,让研发更专注于功能和框架,让 QA 更专注于质量,为项目提供更智能、更简洁和更高效地护航。

《Python 变量作用域》

本节课程节选自《游戏自动化测试》,主要针对 Python 变量作用域进行讲解。《游戏自动化测试》课程背景:Airtest 一直是游戏自动化测试中的重要工具,本课程通过项目实战讲解 Airtest 及相关的语言和工具,从而全方位了解 Airtest 的特性以及自动化测试的思路。

以上是就是本期为大家梳理的 UWA 学堂中与测试开发模块相关的知识 Tree,作为体系化的知识,我们希望大家能掌握背后的逻辑与原理,结合学习方法论并反复实践,能够在自己的项目中更高效地进行资源管理。同时也欢迎大家向我们投稿,交流行业内的技术知识。


↙↙↙阅读原文可查看相关链接,并与作者交流