分享自:

面向LLM的自动游戏测试方法LAP

期刊:33rd ACM International Conference on the Foundations of Software Engineering (FSE Companion ’25)DOI:10.1145/3696630.3728700

基于大型语言模型(LLM)的自动化游戏测试研究:LAP框架的提出与验证

一、 研究作者、机构与发表信息

本研究的主要作者为 Yan Zhao(隶属于美国东密歇根大学,Eastern Michigan University)和 Chiawei Tang(隶属于美国弗吉尼亚理工大学,Virginia Tech)。该研究论文以“Towards LLM-based Automatic Playtest”为题,发表于第33届ACM软件工程基础国际会议(FSE)的附属会议(FSE Companion ‘25),会议于2025年6月23日至28日在挪威特隆赫姆举行。

二、 学术背景与研究动机

本研究属于软件工程领域,具体聚焦于软件质量保障中的自动化游戏测试。游戏测试(Playtest)是游戏开发中确保质量的关键环节,但传统的人工测试耗时耗力且成本高昂。尽管自动化测试工具众多,但将其应用于游戏测试面临独特挑战:游戏测试通常需要领域知识、动态推理和问题解决能力,这是许多传统测试工具所缺乏的。

近年来,人工智能(AI)特别是大型语言模型(LLM)的飞速发展,为自动化游戏测试提供了新的可能性。LLM展现出强大的自然语言处理、代码生成甚至图像推理能力,使其有望模拟人类认知进行复杂任务。然而,现有研究在将LLM应用于游戏测试时仍面临显著障碍:首先,当前LLM的视觉能力有限,难以精确感知和理解复杂的游戏画面;其次,大多数现有工作集中于文本游戏或具备完善应用程序编程接口(API)的游戏,而许多非文本游戏(尤其是移动游戏)缺乏能够提供游戏状态文本描述的API,这使得LLM难以直接介入。

因此,本研究旨在解决上述挑战,探索将LLM应用于自动化游戏测试的新方法。具体而言,研究选择“Match-3”类游戏(如《糖果粉碎传奇》)作为实验对象,这类游戏规则相对固定但策略空间复杂,是验证自动化测试框架的理想场景。本研究的目标是提出并验证一个名为LAP(LLM-based Automatic Playtest)的创新型框架,该框架能够克服LLM在视觉理解和API依赖方面的限制,实现对非文本移动游戏的自动化、智能化的游戏测试。

三、 研究详细工作流程

LAP框架的核心思想是将视觉游戏状态转化为LLM可理解的结构化输入,引导LLM生成游戏操作,并执行这些操作以驱动测试进程。整个工作流程包含三个关键阶段,并迭代执行直至超时。

第一阶段:游戏环境自动预处理 此阶段的目标是将视觉化的游戏棋盘状态转换为LLM可处理的数字化矩阵。 1. 游戏画面捕获:研究使用Android调试桥(ADB)工具从Android设备(或模拟器)上捕获游戏棋盘界面的截图。 2. 图标识别与坐标定位:利用开源计算机视觉库OpenCV,对截图中的特定糖果图标进行识别,并输出每个图标在屏幕上的坐标位置。 3. 矩阵构建:根据识别出的糖果图标及其位置,将Match-3游戏棋盘表示为一个m×n的矩阵。矩阵中的每个单元格对应棋盘上的一个位置,其值代表该位置上糖果的颜色(用唯一数字编码)。例如,数字1可能代表红色糖果,数字2代表蓝色糖果等。 4. 特殊元素处理:游戏中的特殊糖果(如通过匹配四个以上产生的“彩色炸弹”)和障碍糖果也被纳入矩阵表示。例如,研究中将“彩色炸弹”编码为数字0,将障碍糖果编码为数字-1。交换相邻糖果的操作被抽象为矩阵中两个相邻单元格值的交换。

第二阶段:自动提示机制 此阶段的核心是构建一个结构化的提示(Prompt),引导LLM基于预处理得到的游戏矩阵生成有效的游戏操作(即糖果交换建议)。提示框架包含三个部分: 1. 游戏环境上下文:将第一阶段生成的当前游戏状态矩阵直接提供给LLM。这部分内容在每次迭代中都会更新,确保LLM始终基于最新的棋盘信息进行决策。 2. 示例与策略:采用小样本学习(Few-shot Learning)方法,向LLM提供人工精心设计的示例。这些示例展示了特定的子矩阵模式以及在该模式下应执行的最佳交换操作。例如,提供一个子矩阵 [[‘*’, ‘1’, ‘*’], [‘1’, ‘*’, ‘1’]] 和对应的操作“将位置(0,1)的‘1’与相邻位置(1,1)的‘*’交换”。交换后,该子矩阵变为 [[‘*’, ‘*’, ‘*’], [‘1’, ‘1’, ‘1’]],从而形成一行三个相同糖果的匹配。这些示例旨在教会LLM识别能够导致“消除”的交换模式。研究中提供了15组这样的示例。 3. 游戏目标与规则:明确告知LLM其扮演的角色(经验丰富的游戏测试员)以及游戏的基本规则和目标,例如:通过交换相邻糖果形成三个或以上同行/同列匹配来消除糖果;优先交换特殊糖果(如彩色炸弹)以最大化效果等。

最终,LLM(本研究中使用的是OpenAI的GPT-o1-mini API)会根据上述综合提示,输出一系列建议的交换操作列表,例如“交换(1,6)与(1,5)”。

第三阶段:解决方案执行 此阶段将LLM生成的抽象操作转化为实际设备上的交互。 1. 坐标转换:将LLM输出的基于游戏矩阵的坐标(如(行,列))转换为Android设备屏幕上的实际像素坐标。 2. 命令执行:通过ADB工具向设备发送相应的滑动(swipe)命令,模拟用户手指的交换操作。例如,将“交换(1,6)与(1,5)”转换为命令 adb shell input swipe x1 y1 x2 y2 并执行。

迭代过程:完成一次操作后,游戏状态发生变化。LAP框架会重新开始第一阶段,捕获新的游戏画面,更新矩阵,再次提示LLM生成基于新状态的下一步操作,如此循环往复,形成一个“感知-决策-执行”的闭环,直至达到预设的测试时间或迭代次数。

四、 主要实验结果与分析

研究选取了一款开源的Match-3游戏《Cassebonbons》作为案例进行实证评估,并将LAP与三种现有测试工具进行了对比:基于随机输入的Monkey工具、基于规则学习的轻量级人工模拟测试工具LIT,以及基于强化学习(RL)的工具RLT。评估指标包括代码覆盖率、游戏得分、通关关卡数以及触发的程序崩溃次数。

1. 广泛的测试覆盖范围(游戏得分与关卡) 实验结果显示,在150次迭代中,LAP取得了最高的游戏得分(27,520分)和最高的通关关卡数(第8关),并且其得分和关卡进度随着迭代稳定增长。相比之下,LIT工具表现稳定但进步较慢,RLT工具由于训练时间短(仅8分钟,与LIT演示时间对齐)效果不佳,而Monkey工具则因无法有效进入游戏,得分始终为0。结果分析:这一结果表明,以LLM作为认知引擎的LAP能够理解游戏机制,生成有针对性的测试场景,并执行有效的游戏测试策略,从而探索了更广泛的游戏状态和内容。

2. 增强的代码探索能力(代码覆盖率) 在代码行覆盖率方面,LAP同样表现最佳,最终达到了79%的覆盖率,并且在测试初期就显示出快速的覆盖率提升。LIT工具的覆盖率稳定在75%,RLT工具从46%开始稳步增长但最终覆盖率较低,Monkey工具的覆盖率则始终维持在3-5%的极低水平。结果分析:更高的代码覆盖率意味着测试工具执行了应用程序中更多的代码路径。LAP能够深入探索代码库,最小化测试盲区,这对于发现潜在缺陷至关重要。

3. 改进的漏洞发现能力(程序崩溃) 在触发程序崩溃方面,LAP在测试过程中成功导致了5次游戏崩溃,而LIT工具触发了1次,Monkey和RLT均未触发任何崩溃。结果分析:触发崩溃是发现严重软件缺陷的直接证据。LAP能够探索更深层和更意想不到的程序路径,从而揭示出其他工具未能发现的隐藏漏洞,为开发者提供了改进应用鲁棒性和稳定性的 actionable insights。

4. 消融实验(Ablation Studies) 为了验证提示设计中不同组成部分的作用,研究进行了消融实验,比较了三种配置:仅使用规则提示、仅使用小样本学习示例提示、以及结合规则与示例的完整提示。 * 仅规则提示:能够进行游戏测试,但效率较低,游戏进展缓慢。 * 仅小样本学习提示:性能有显著提升,说明了示例在增强测试性能方面的重要性。 * 规则与示例结合:被证明是最有效的配置,无论是在短期进展还是长期优化方面都表现最佳。结果分析:消融实验清晰地证明了规则提供的结构化指导与小样本学习带来的适应性之间具有协同效应。规则确保了LLM行动的基本合规性,而示例则教会了LLM更高效、更智能的策略,二者结合最大化了LAP的测试效能。

五、 研究结论与价值

本研究成功提出了LAP,一个利用LLM自动化测试Match-3移动游戏的新型框架。通过自动预处理将视觉状态转化为结构化数据、结合规则与示例的自动提示机制、以及通过ADB的执行层,LAP有效克服了LLM在视觉感知和API依赖方面的限制。

实验结果表明,LAP在代码覆盖率、游戏进度和漏洞发现方面均优于传统的随机测试、规则学习以及训练不充分的强化学习方法。这证明了将LLM作为认知引擎用于自动化游戏测试的可行性和有效性。

科学价值与应用价值: * 科学价值:本研究为软件工程,特别是自动化测试领域,提供了一种创新的、基于LLM的测试范式。它展示了如何通过巧妙的提示工程和环境抽象,将LLM的强大推理能力应用于缺乏标准API的复杂、动态的交互式软件(如游戏)的测试中。 * 应用价值:LAP为游戏开发行业提供了一个强大且高效的自动化测试解决方案。它可以降低人工测试成本,提高测试覆盖率,并更早、更深入地发现潜在缺陷,从而提升游戏产品的质量和开发效率。

六、 研究亮点

  1. 方法创新性:LAP是首个将LLM应用于移动端Match-3游戏自动化测试的框架。其核心创新在于设计了一套完整的“视觉转文本-LLM决策-动作执行”的闭环流程,巧妙规避了当前LLM视觉能力不足和移动游戏API缺失的双重障碍。
  2. 有效的提示工程:研究采用了结合环境上下文、小样本学习示例和明确游戏规则的结构化提示方法。特别是通过小样本示例教会LLM具体的游戏策略,这是LLM能够生成有效操作的关键。
  3. 实证验证充分:研究不仅提出了框架,还通过严谨的案例研究(Cassebonbons游戏)和与多种基线工具的对比实验,全面评估了LAP在多个维度(覆盖率、进度、缺陷发现)的性能,并通过消融实验深入分析了各组件的作用,增强了结论的说服力。
  4. 指明新的研究方向:本研究为将LLM应用于更广泛的、非文本且缺乏API的软件交互测试(如其他类型的移动应用、图形化桌面软件等)开辟了新的道路。

七、 其他有价值内容

论文也坦诚讨论了LAP框架当前存在的局限性及未来的研究方向: 1. 幻觉问题:LLM有时可能生成无效的解决方案。研究通过提供尽可能丰富的游戏信息来缓解此问题。 2. 时间敏感性:对于要求实时响应的游戏(如赛车游戏),LLM的思考与生成时间可能成为瓶颈。 3. 可扩展性:虽然LAP在Match-3类游戏上验证有效,但能否将其转换和适配机制推广到其他类型移动游戏的测试中,仍需进一步探索。

这些讨论为后续研究提供了清晰的改进目标和拓展空间。LAP架起了先进人工智能与自动化游戏测试之间的桥梁,为AI在复杂交互环境中的决策与行动应用提供了一个稳健而创新的解决方案。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com