Manual testing, as a complement to automated GUI testing, is the last line of defense for app quality especially in spotting usability and accessibility issues. However, the repeated actions and easy missing of some functionalities make manual testing time-consuming, labor-extensive and inefficient. Inspired by the game candy crush with flashy candies as hint moves for players, we develop a tool named NaviDroid for navigating human testers via highlighted next operations for more effective and efficient testing. Within NaviDroid, it constructs an enriched state transition graph (STG) with the trigger actions as the edges for two involved states. Based on the STG, NaviDroid utilizes the dynamic programming algorithm to plan the exploration path, and augment the run-time GUI with visualized hint moves for testers to quickly explore untested states and avoid duplication. The automated experiments demonstrate the high coverage and efficient path planning of NaviDroid. A user study further confirms its usefulness in the participants covering more states and activities, detecting more bugs within less time compared with the control group. NaviDroid demo video: https://youtu.be/lShFyg_nTA0.
翻译:作为自动 GUI 测试的补充, 手工测试是应用质量的最后防线, 特别是在识别可用性和无障碍性问题时。 但是, 反复行动和一些功能的简单缺失使得人工测试耗时、 劳动延伸和低效。 由游戏糖果压碎和闪闪糖果作为玩家提示动作所启发, 我们开发了一个名为 NaviDroid 的工具, 用于通过突出显示的下一步操作导航人类测试者, 以便进行更有效和高效的测试。 在 NaviDroid 中, 它构建了一个浓缩的州过渡图( STG ), 其触发动作作为两个相关州的边缘。 根据STG, NaviDroid 使用动态程序算法规划探索路径, 并用可视化的提示动作增强运行时间图形界面, 用于测试者快速探索未测试状态和避免重复。 自动实验展示了Naviddroid的高覆盖范围和高效路径规划。 用户研究进一步证实它在参与者中有用, 覆盖更多的州和活动, 与控制组相比, 在更少的时间里检测更多的错误。 NaviDroid 演示录制成视频: https://youte.be/ syouthylegn.