Merlin - modEl-guided reinforcement learnINg for automated testing of endless runner games
摘要
Endless Runner games are a popular genre of games known for their fast-paced, continuously generated content. Due to their dynamic and non-deterministic nature, these games present unique challenges for testing. Traditional testing methods, such as manual black-box testing and scripted test cases, often fail to capture the intricate interactions inherent in these games. To address these challenges, we propose MERLIN (ModEl-guided Reinforcement LearnINg), a dynamic, on-the-fly testing approach specifically designed for Endless Runner games. This approach combines model-based testing with deep reinforcement learning (DRL). We also propose a Unified Modeling Language (UML) profile tailored for Endless Runner games, facilitating the systematic modeling of game-specific class diagrams and state machine models. These models serve as the foundation for MERLIN, enabling it to train a DRL agent to navigate the game, achieve target states, and validate expected behaviors. The modeling methodology not only captures essential structural and behavioral elements of the games but also acts as a robust oracle, supporting comprehensive fault detection. The evaluation of MERLIN involves mutation testing across four open-source Endless Runner games. Based on common faults reported in games, 12 mutation operators have been proposed. The results demonstrate the effectiveness of MERLIN, achieving an average mutation score of 93.25%. Additionally, MERLIN achieves over 94% statement and decision coverage across all case studies. Thus, MERLIN offers a robust solution for testing Endless Runner games, integrating a scalable modeling methodology with DRL techniques to deliver comprehensive bug detection and test coverage.