引导式错误粉碎:通过提示操作协助Android应用的手动GUI测试
作者
开源协作与代码审查原型设计与用户测试计算方法在HCI中的应用软件工程师与开发者UI/UX 设计师
文献标题
Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves
文献信息
- 主题领域: 软件工程、质量保证、手动测试
- 关键词: GUI测试, Android应用, 软件工程, NaviDroid, Bug检测, 可视化引导, 状态转换图, 动态规划
研究背景与问题
-
问题或挑战:
- 手动测试虽然仍是关键环节,但其耗时费力且容易重复探索,导致部分功能被遗漏。
- 自动化GUI测试可以减少人力,但在展开对深层UI页面、复杂操作或可用性和访问性问题的覆盖时存在局限性。
- 手动测试的效率和稳定性高度依赖测试者的能力和经验,新手测试者容易遗漏功能或增加重复探索。
-
重要性: Android应用在当前社会中的不可或缺性,如购物、阅读、社交等场景,大量用户依赖这些App,因此保证其质量至关重要。而手动测试作为质量保证的最后防线,决定了应用的可靠性和成功。
-
研究动机与相关工作:
- 提高手动测试的覆盖率以发现更多Bug,同时减少重复操作。
- 借鉴自动化测试中的优势,与手动测试结合,提供高效的测试路径引导。
- 现有研究主要集中于优化测试优先级或利用众包平台,但缺乏实时指导测试者的方法。
解决方案
-
主要方法: 提出一个名为 NaviDroid 的工具,结合自动化知识提供测试导航,帮助测试者更有效地开展手动GUI测试。
-
创新之处:
- 设计了一种增强的状态转换图(STG),捕获测试步骤的状态以及触发转换的操作。
- 基于动态规划算法规划探索路径,提升覆盖效率。
- 通过提示动作的可视化(如高亮边框)引导手动测试,避免遗漏功能和重复操作。
-
实施步骤和关键技术:
- 构建状态转换图(STG-action):
- 静态分析提取从Activity定义到初始状态转换图(ATG),并关联触发操作。
- 动态分析通过随机操作补充无法通过静态获取的信息。
- 设计上下文感知状态合并方法,降低近似重复状态对图的影响。
- 动态规划路径规划:
- 使用动态规划算法计算节点间最短路径与访问状态,并生成全覆盖路径。
- 实时可视化提示:
- 在应用运行时追踪当前页面状态,结合预定义的STG-action,用浮动窗口高亮当前操作建议,引导测试者。
- 构建状态转换图(STG-action):
研究成果
-
具体成果:
- 实现了 NaviDroid 工具,成为首个针对手动测试的 Android 测试辅助。
- 自动实验表明,工具在 85 个移动应用上实现了 74% 的活动覆盖率和 81% 的状态覆盖率,领先五种常用基线。
- 比较测试路径规划效率,NaviDroid 的探索步数比基线工具减少了 20%-42%。
- 用户研究表明,NaviDroid显著提高了状态和活动覆盖率(分别高62%和61%),且发现的错误数量大幅增加(提升146%)。
-
优势:
- 改善了手动测试中的重复操作问题。
- 显著提升活动和状态覆盖率,帮助发现更多潜在Bug。
- 用户测试支持其节省测试时间(减少至33%)。
-
局限性与未来方向:
- 未能完全覆盖所有活动和状态: 动态布局和模糊编码规则影响了状态转换图的完整性。
- 交互动作与复杂动画限制: 当前仅考虑点击操作,未来可扩展到更多多样化触发动作。
- 使用场景扩展:
- 提升对App新功能的用户引导能力。
- 将测试辅助应用扩展到其他平台(如iOS或Web)。
工具的创新和性能评估显示其在优化手动测试方面的显著优势,为改善应用质量创造了新的视角,同时提供了继续扩展和优化的若干方向。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
help
研究问题
3lightbulb
现实痛点
1- 新手在手动测试安卓应用时容易遗漏功能或重复操作。分类: 论文阅读与知识提取同类问题arrow_forward
- 80%
Varv:作为声明性数据结构的可重新编程交互软件
CHI '22· 原型设计与用户测试 +1
- 80%
学习去噪原始移动UI布局以大规模改进数据集
CHI '22· 原型设计与用户测试 +1
- 80%
如何绘制命令?一项关于电子表格草图的诱发研究
CHI '25· 原型设计与用户测试 +1
- 80%
从具有多模态和位置属性的异构网络学习用户界面语义
IUI '22· 原型设计与用户测试 +1
- 60%
通过容错延迟控制性能
CHI '19· 原型设计与用户测试 +1
- 60%
KeyMap:使用诺曼的映射改进键盘快捷方式词汇
CHI '20· 原型设计与用户测试
- 60%
X-Droid:具有单一应用幻象的快速便捷Android原型开发框架
UIST '19· 原型设计与用户测试
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)
快捷操作
广告推荐
学习 AI 编程到 CodeNow
open_in_new打开DOI链接
DOI: https://dl.acm.org/doi/abs/10.1145/3491102.3501903
一眼看懂
fact_check论文快照
dataset
来源
CHI
calendar_month
年份
2022
emoji_events
奖项
未标记奖项
group
作者
6 位作者
sell
研究子方向
开源协作与代码审查、原型设计与用户测试、计算方法在HCI中的应用
work
职业/产业
软件工程师与开发者、UI/UX 设计师
article
内容状态
已索引正文
hub
相关论文
7 篇相关论文