2022年的8月,结束了很长一段时间的犹豫,笔者决定开启新的文章系列:《Game Of AutoTest》,向外界公开自己近两年来在游戏自动化测试方面所沉淀的工作经验,以及许多关于自动化测试本身的思考跟想法。在先前的测试人生栏目中,曾经分享过许多关于游戏自动化测试的技术,但并没有一个比较系统化的输出。因此借这个机会,笔者也决定好好分享一下,从一个更加纯粹的技术人的角度,对于游戏自动化测试这一细分领域的理解。
自动化测试本身已经不是一个新鲜的名词,不论是游戏还是传统互联网行业,我们都能够见到自动化测试落地的身影。但是,自动化测试基础技术到底需要往怎样的方向搭建,业务应用需要覆盖哪些场景,这些话题其实很少被讨论,并且实际沉淀下来的知识分享和业务产出,也不尽然特别引人注目。尤其在游戏测试领域,自动化测试如何被应用到实际测试工作当中,相关的沉淀是少之又少,可以算是一片待开垦的荒地。
游戏自动化测试——这个名词本身都没有一个确切的定义。有些人认为,只有像自动驱动客户端玩游戏,测试场景物件是否正常交互,这种能够实际测到和测试用例相关的内容,才算是自动化测试;也有些人认为,像一些纯粹收集性能数据的场景,比如驱动玩家在地图里跑图,收集前后台数据,也算是自动化测试。这说明了,只要是用了程序化的手段,去完成游戏测试的整个或一部分的流程,那么就有可能被定义为一种游戏自动化测试的方案。但遗憾的是,正因为如此,很多测试工作者为了让自己的工作有技术含量,都会尝试沾自动化测试技术的光,为了技术而技术,用一些现成的自动化工具去做了个demo规模的东西,然后很阿里味地包装成富有技术含量的测试工作,但实际上相对于原来反倒增加了学习、维护、执行成本,是毫无价值的负优化。其中原因,归根到底,还是自动化测试这个工作被很多人小看了。如果你是个测试工作者,但业务经验、技术能力以及良师指导三者都很缺乏,并且业务环境上没啥落地场景,组织氛围也没啥支持的话,要做好自动化测试,那是非常困难的。
因此,我们有必要去重新认识游戏自动化测试这个概念。有几个准则:
所以,要做到游戏自动化测试,落到实处,你需要:
接下来,开始启程…