A playtest is the process in which human testers are recruited to play video games and to reveal software bugs. Manual testing is expensive and time-consuming, especially when there are many mobile games to test and every software version requires for extensive testing before being released. Existing testing frameworks (e.g., Android Monkey) are limited because they adopt no domain knowledge to play games. Learning-based tools (e.g., Wuji) involve a huge amount of training data and computation before testing any game. This paper presents LIT -- our lightweight approach to generalize playtesting tactics from manual testing, and to adopt the generalized tactics to automate game testing. LIT consists of two phases. In Phase I, while a human plays an Android game app G for a short period of time (e.g., eight minutes), \tool records the user's actions (e.g., swipe) and the scene before each action. Based on the collected data, LIT generalizes a set of \emph{context-aware, abstract playtesting tactics} which describe under what circumstances, what actions can be taken to play the game. In Phase II, LIT tests G based on the generalized tactics. Namely, given a randomly generated game scene, LIT searches match for the abstract context of any inferred tactic; if there is a match, LIT customizes the tactic and generates a feasible event to play the game. Our evaluation with nine games shows LIT to outperform two state-of-the-art tools. This implies that by automating playtest, LIT will significantly reduce manual testing and boost the quality of game apps.
翻译:游戏测试是人类测试者被招聘来玩游戏并披露软件错误的过程。 人工测试成本昂贵且耗时, 特别是当有许多移动游戏要测试, 每个软件版本都需要在发布前进行广泛的测试时。 现有的测试框架( 例如 Android Monkey) 有限, 因为他们没有采用游戏的域知识。 基于学习的工具( 例如, Wuji) 在测试任何游戏之前需要大量的训练数据和计算。 本文展示了 LIT -- -- 我们从手动测试中推广游戏测试策略的轻量化方法, 并采用通用的游戏测试策略。 LIT 由两个阶段组成。 在第一阶段, 当一个人在短的一段时间里( 例如, Android Monkey Mack Macky) 玩游戏 GApp G( 8 分钟) 时, 工具记录了用户的动作( 例如, Swippepeople) 和每次动作之前的场景。 根据所收集的数据, LIT 概括了一套\emph{conwaret-awa 测试策略, 抽象的游戏测试策略 。 在两种情况下, 什么样的动作可以大大降低游戏的游戏的游戏的游戏, 策略测试。