增强基于神经进化的游戏测试:针对Scratch程序的分支覆盖方法
软件工程
2025-07-15 v1
摘要
针对游戏类程序的自动化测试生成面临独特挑战,由于其非确定性行为和复杂的控制结构。NEATEST框架已用于Scratch游戏中的自动化测试,采用神经进化测试生成,针对语句覆盖进行优化。然而,语句覆盖往往不足以发现故障,因为它不保证执行所有逻辑分支。本文引入基于分支覆盖的适应函数,以增强自动化游戏测试的有效性。我们通过集成分支适应函数来扩展NEATEST,该函数优先考虑控制依赖的分支,引导神经进化过程以最大化分支探索。为评估该方法的有效性,在25个Scratch游戏上进行了经验实验,比较了NEATEST的语句覆盖(NSC)与NEATEST的分支覆盖(NBC)。还进行了突变分析,以评估两种技术的故障检测能力。结果表明,在25个游戏中,NBC在13个游戏中实现了更高的分支覆盖,特别是在具有复杂条件结构的程序中。此外,NBC在突变测试中实现了更低的假阳性率,使其在识别游戏程序中的故障行为方面更可靠。这些发现确认,基于分支覆盖的测试生成方法提高了Scratch程序的测试覆盖率和故障检测能力。
引用
@article{arxiv.2507.09414,
title = {Enhancing NeuroEvolution-Based Game Testing: A Branch Coverage Approach for Scratch Programs},
author = {Khizra Sohail and Atif Aftab Ahmed Jilani and Nigar Azhar Butt},
journal= {arXiv preprint arXiv:2507.09414},
year = {2025}
}