论文标题
使用加强学习进行视频游戏的负载测试
Using Reinforcement Learning for Load Testing of Video Games
论文作者
论文摘要
与大多数类型的软件系统发生的情况不同,测试视频游戏在很大程度上仍然是人类测试人员进行的手动活动。这主要是由于视频游戏的连续且聪明的用户交互所致。最近,增强学习(RL)已被利用以部分自动化功能测试。 RL启用培训智能代理,甚至可以在玩游戏中实现超人性能,因此适合探索他们寻找错误。我们研究了将RL用于负载测试视频游戏的可能性。确实,游戏测试的目标不仅是识别功能错误,而且是检查游戏的性能,例如它避免滞后并在屏幕上显示高需求3D场景时每秒保持最少数量的帧数(FPS)。我们定义了一种使用RL来培训能够以人类玩游戏的代理商的方法论,同时还试图识别游戏的区域,从而导致FPS下降。我们演示了三场比赛中方法的可行性。其中两个通过注入人造性能错误来用作概念验证。第三个是一个开源3D游戏,我们使用训练有素的代理进行加载测试,显示出识别游戏区域的潜力,导致FPS较低。
Different from what happens for most types of software systems, testing video games has largely remained a manual activity performed by human testers. This is mostly due to the continuous and intelligent user interaction video games require. Recently, reinforcement learning (RL) has been exploited to partially automate functional testing. RL enables training smart agents that can even achieve super-human performance in playing games, thus being suitable to explore them looking for bugs. We investigate the possibility of using RL for load testing video games. Indeed, the goal of game testing is not only to identify functional bugs, but also to examine the game's performance, such as its ability to avoid lags and keep a minimum number of frames per second (FPS) when high-demanding 3D scenes are shown on screen. We define a methodology employing RL to train an agent able to play the game as a human while also trying to identify areas of the game resulting in a drop of FPS. We demonstrate the feasibility of our approach on three games. Two of them are used as proof-of-concept, by injecting artificial performance bugs. The third one is an open-source 3D game that we load test using the trained agent showing its potential to identify areas of the game resulting in lower FPS.