  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.
