在三年前笔者撰写的Game-Of-AutoTest专栏当中,聊了很多关于游戏自动化测试的实践思考。不论是对自动化测试在技术层面的认识,还是怎么落地一些技术基建保障游戏自动化测试的可扩展性,在这些专栏里都已经做了深度的科普。近年来,LLM在自然语言处理领域取得了突破性进展,并且随着游戏开发的复杂度不断提升,自动化测试在保障游戏质量方面变得尤为重要。直感来看,LLM作为通用的信息处理转换大脑,必然能为游戏自动化测试技术带来了新的可能性。因此,本文就浅聊一下LLM赋能游戏自动化测试的一些想法。
首先是测试用例自动生成。LLM是具备将自然语言转化成结构化数据的能力的,所以理论可行。如果是已经编写好的游戏测试用例,一般本身已经包含了前置条件、执行步骤和预期结果的字段标注,而LLM需要做的就是怎么把每个字段里的内容和自动化框架预置的行为对应上,然后自动生成一套自动化程序。这样可以降本的原因是,自动化一端只需要实现具体的行为,而这些行为怎么串起来,用LLM结合一套行为树框架,理论上也可以自主生成自动化脚本。
其次是自动化测试脚本的迭代。测试需要执行一系列自然语言描述的行为,最终需要做自然语言描述的判断,那么怎样描述更加精确,其实也可以通过LLM辅助,给出修正建议。在此基础上,如果有一套自动化测试调试模块,就可以清晰了解每时每刻LLM在想什么,从而也可以定向优化LLM的判断。如果要让修正建议效果更好,那么LLM就需要了解更多游戏的上下文,所以如果对应的知识库能力可以和游戏引擎项目能力做一个结合的话,那就有可能达到比较好的效果。
然后是探索测试。主要是两件事情,第一件事情是给定一类游戏探索场景,LLM可以自主Plan出一套测试方案,探索测试过程潜在的崩溃和卡死问题;第二件事情就是给定一个系统模块,让LLM自主探索交互行为,自动生成大量测试用例。如果是出海类游戏,对于翻译交互类问题,LLM也有潜力去做识别,这样就可以极大提升游戏测试的广度和深度。
最后一点是,LLM如果要在游戏自动化领域应用的好,产品层面一是需要有一套类似于IDE/Workbench的东西把各种工具链串起来,二是需要配合一套易上手的教学,这样才能更快速在游戏测试工作中落地。要做这个产品还是需要一定的投入的,但大多数游戏可能研发期或者刚上线就暴毙了,不像Web产品生命周期会更长一点。所以如果要做这个产品的话,一定要抱有持续积累的打算,这样才能保证LLM自动化测试的交付质量。