智能任务回归测试详述
伏羲实验室再发力,首创AI交互游戏测试:AI算法充当Tester,它通过和游戏不断交互,获取游戏状态、发送游戏操作,以完成剧情任务。
这个说法是不是非常熟悉?的确,其实这就是仿照人类玩家“玩游戏”的过程完成的建模。这样的建模方式十分通用,只要设计出AI算法能够以这样的方式完成剧情任务,那么这个AI算法就有可能可以举一反三地完成各种任务,而不需要针对每个任务写回归测试脚本了。
当然,虽然这看起来简单,但是很多细节不容忽视。首先,伏羲团队需要对具体的“游戏状态”和“动作”进行定义:
当然,虽然这看起来简单,但是很多细节不容忽视。首先,伏羲团队需要对具体的“游戏状态”和“动作”进行定义:
游戏状态:游戏状态的定义依然仿造真人玩家玩游戏,它包括当前界面上能看到的信息,如下图所示:
动作:动作的定义和真人玩家玩游戏有所不同,它不是通过鼠标键盘来操作游戏,而是通过游戏提供的内部接口实现。
定义好状态和动作之后,在AI算法的眼里剧情任务就已经不再是一个MMORPG玩法,而是一个五子棋游戏,甚至更简单地可以当做一个迷宫游戏。
AI需要不断尝试搜索找到一个操作序列能够完成游戏剧情任务,就像找到一条路径从迷宫的起点到达终点。对于这样的游戏,大家都可以通过不断扩展动作选择建立一个类似五子棋游戏(下图)的搜索树。

当然对于绝大多数剧情任务,其对应的搜索树都没有上图那么复杂。训练算法随机选择在当前状态下可以执行的动作,然后一旦发现在某次尝试之后任务已被完成,那接下来基于所收集的样本数据就可以找到到达终点的最短路径(对应可以完成任务的操作序列)。一旦完成训练找到所有剧情任务对应的操作序列,后续回归测试的过程就会十分简单,只需要不断的重复这个操作系列。
总而言之,到此为止,AI算法可以说是克服了脚本自动化回归测试的不足,任务调整或新增之后也不需要重新修改或编写脚本了,只需要让搜索算法重新构建任务图并找到完成新任务的操作序列。
智能任务回归测试效果
当发现AI算法已经能够完成绝大部分剧情任务之后,伏羲团队便迫不及待地把算法应用到真实的游戏场景中,如下图所示整个方案可以分为两个阶段:训练阶段负责运行训练算法找到完成任务的操作序列;回归阶段只负责操作序列回放,同时游戏端根据回归情况生成测试分析报告。
通过AI加盟任务回归测试,产品在具体游戏中“大展身手”:
任务回归服务已覆盖《逆水寒》的290个主线任务和220多个支线任务,每天定时对3个build版本进行全天候回归,不放过任何一个可能的问题。目前已帮项目组揪出10余个深度隐藏的bug,其中还在“青云寨”新剧情任务上线前发现了一些重要的bug,避免游戏带bug上线。
下面的视频展示了AI算法完成《逆水寒》剧情任务的过程,动图右边的动作序列是AI自行搜索到地可完成该任务的动作序列(点击放大显示全屏)。

游戏任务回归AI算法为你揭秘:在《逆水寒》中打一桶水需要多少步骤?
在某款mmorpg游戏上只用了3周时间就完成了接近400个任务的接入,并且随着接口的完善后续接入速度也会越来越快,甚至无需修改直接接入。
同时,伏羲通过不断总结踩坑的经验优化方案,使得方案比较容易推广到其它MMORPG游戏,基本解决每一款游戏的剧情任务不完全一样,导致动作集合和状态集合都会有所不同的问题。当然,这套方案也是需要游戏测试团队一起来适配原有的自动化测试框架的。
后续期待
第二点中提到,伏羲团队目前对游戏测试需求进行了一些划分:回归测试,角色平衡性测试,覆盖性测试。虽然目前团队在任务回归测试有一些进展,但这只是一个开始。
今后伏羲实验室将会不懈地针对这些问题和场景进行尝试,希望未来能够构建更加智能的测试系统,让AI技术赋能游戏测试,敬请期待后续工作!
更多相关资讯请关注:逆水寒专区
《逆水寒》江湖最新鲜:全公平联赛跨服约战上线
《逆水寒》五一度假哪家强?认准大宋江湖行
《逆水寒》恭喜七七七战队夺得跨服比武巅峰组冠军
《逆水寒》跨服比武69新锐组首届冠军正式诞生
各类优化轮番上阵《逆水寒》本周策划答疑
《逆水寒》恭喜以下玩家杀入天下第一跨服比武决赛
《逆水寒》碎梦全方位攻略 组合搭配与玩法详解
惊雷疾风大巧不工 《逆水寒》龙吟大型职业攻略
《逆水寒》骑马冲锋陷阵横扫千军 血河全方位攻略
《逆水寒》琴音声声拨弦绝杀间 神相全方位攻略
《逆水寒》拳拳致命一心护四方 铁衣全方位攻略
《逆水寒》自带宝宝的魅力少女 九灵全方位攻略