Although automated test generation is common in many programming domains, games still challenge test generators due to their heavy randomisation and hard-to-reach program states. Neuroevolution combined with search-based software testing principles has been shown to be a promising approach for testing games, but the co-evolutionary search for optimal network topologies and weights involves unreasonably long search durations. In this paper, we aim to improve the evolutionary search for game input generators by integrating knowledge about human gameplay behaviour. To this end, we propose a novel way of systematically recording human gameplay traces, and integrating these traces into the evolutionary search for networks using traditional gradient descent as a mutation operator. Experiments conducted on eight diverse Scratch games demonstrate that the proposed approach reduces the required search time from five hours down to only 52 minutes.
翻译:虽然自动化测试生成在许多编程领域中很常见,但游戏由于其大量随机性和难以触及的程序状态仍然挑战着测试生成器。已经证明,神经进化算法结合基于搜索的软件测试原则是测试游戏的一种有前途的方法,但是进化搜索的最佳网络拓扑和权重需要过长的搜索时间。在本文中,我们旨在通过整合有关人类游戏行为的知识来改进游戏输入生成器的进化搜索。为此,我们提出了一种新的系统记录人类游戏行为的方法,并使用传统梯度下降算法作为突变操作符将这些迹线整合到网络进化搜索中。在八个不同的Scratch游戏上进行的实验表明,所提出的方法将所需的搜索时间从五个小时减少到仅为52分钟。