一句话:提出统一黑盒小游戏测试框架 iExplorer,用混合 GUI 控件检测与类别感知策略,在微信大规模小游戏上发现两万余真实缺陷。
微信小游戏嵌入在 App 内、无需安装,平台已发布十万余款,人工测试不切实际;而现有自动化游戏测试方法难以迁移到小游戏:一方面其有效性依赖对游戏操作的先验知识和 GUI 控件树抽取,面对使用 Unity 等复杂引擎的大量小游戏时不再适用;另一方面小游戏界面控件设计高度多样,偏离普通移动应用,使基于图像的控件检测技术失效。为此,作者提出统一的黑盒小游戏测试框架 iExplorer:它采用混合 GUI 控件检测方法,融合基于深度学习的目标检测与基于边缘聚合的分割来定位小游戏中的控件;并设计类别感知的测试策略,针对滑动、点击等不同类别的控件分别处理。该系统已在生产环境部署超过六个月,过去 30 天内测试了 76,000 款小游戏,成功发现 22,144 个真实缺陷,验证了其在大规模工业场景下的有效性。
Mobile games play an increasingly important role in our daily life. The quality of mobile games can substantially affect the user experience and game revenue. Different from traditional mobile games, the mini-games provided by our partner, Tencent, are embedded in the mobile app WeChat, so users do not need to install specific game apps and can directly play the games in the app. Due to the convenient installation, WeChat has attracted large numbers of developers to design and publish on the mini-game platform in the app. Until now, the platform has more than one hundred thousand published mini-games. Manually testing all the mini-games requires enormous effort and is impractical. There exist automated game testing methods; however, they are difficult to be applied for testing mini-games for the following reasons: 1) Effective game testing heavily relies on prior knowledge about game operations and extraction of GUI widget trees. However, this knowledge is specific and not always applicable when testing a large number of mini-games with complex game engines (e.g., Unity). 2) The highly diverse GUI widget design of mini-games deviates significantly from that of mobile apps. Such issue prevents the existing image-based GUI widget detection techniques from effectively detecting widgets in mini-games. To address the aforementioned issues, we propose a unified framework for black-box mini-game testing named iExplorer. iExplorer involves a mixed GUI widget detection approach incorporating both deep learning-based object detection and edge aggregation-based segmentation for detecting GUI widgets in mini-games. A category-aware testing strategy is then proposed for testing mini-games, with different categories of widgets (e.g., sliding and clicking widgets) considered. iExplorer has been deployed in for more than six months. In the past 30 days, iExplorer has tested large-scale mini-games (i.e., 76,000) and successfully found 22,144 real bugs.
@inproceedings{WangLGLXD23,
title = {A Unified Framework for Mini-game Testing: Experience on WeChat},
author = {Chaozheng Wang and Haochuan Lu and Cuiyun Gao and Zongjie Li and Ting Xiong and Yuetang Deng},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3613868}
}