引导式错误粉碎:通过提示操作协助Android应用的手动GUI测试

开源协作与代码审查原型设计与用户测试计算方法在HCI中的应用软件工程师与开发者UI/UX 设计师

文献标题

Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves

文献信息

  • 主题领域: 软件工程、质量保证、手动测试
  • 关键词: GUI测试, Android应用, 软件工程, NaviDroid, Bug检测, 可视化引导, 状态转换图, 动态规划

研究背景与问题

  • 问题或挑战:

    1. 手动测试虽然仍是关键环节,但其耗时费力且容易重复探索,导致部分功能被遗漏。
    2. 自动化GUI测试可以减少人力,但在展开对深层UI页面、复杂操作或可用性和访问性问题的覆盖时存在局限性。
    3. 手动测试的效率和稳定性高度依赖测试者的能力和经验,新手测试者容易遗漏功能或增加重复探索。
  • 重要性: Android应用在当前社会中的不可或缺性,如购物、阅读、社交等场景,大量用户依赖这些App,因此保证其质量至关重要。而手动测试作为质量保证的最后防线,决定了应用的可靠性和成功。

  • 研究动机与相关工作:

    1. 提高手动测试的覆盖率以发现更多Bug,同时减少重复操作。
    2. 借鉴自动化测试中的优势,与手动测试结合,提供高效的测试路径引导。
    3. 现有研究主要集中于优化测试优先级或利用众包平台,但缺乏实时指导测试者的方法。

解决方案

  • 主要方法: 提出一个名为 NaviDroid 的工具,结合自动化知识提供测试导航,帮助测试者更有效地开展手动GUI测试。

  • 创新之处:

    1. 设计了一种增强的状态转换图(STG),捕获测试步骤的状态以及触发转换的操作。
    2. 基于动态规划算法规划探索路径,提升覆盖效率。
    3. 通过提示动作的可视化(如高亮边框)引导手动测试,避免遗漏功能和重复操作。
  • 实施步骤和关键技术:

    1. 构建状态转换图(STG-action):
      • 静态分析提取从Activity定义到初始状态转换图(ATG),并关联触发操作。
      • 动态分析通过随机操作补充无法通过静态获取的信息。
      • 设计上下文感知状态合并方法,降低近似重复状态对图的影响。
    2. 动态规划路径规划:
      • 使用动态规划算法计算节点间最短路径与访问状态,并生成全覆盖路径。
    3. 实时可视化提示:
      • 在应用运行时追踪当前页面状态,结合预定义的STG-action,用浮动窗口高亮当前操作建议,引导测试者。

研究成果

  • 具体成果:

    1. 实现了 NaviDroid 工具,成为首个针对手动测试的 Android 测试辅助。
    2. 自动实验表明,工具在 85 个移动应用上实现了 74% 的活动覆盖率和 81% 的状态覆盖率,领先五种常用基线。
    3. 比较测试路径规划效率,NaviDroid 的探索步数比基线工具减少了 20%-42%。
    4. 用户研究表明,NaviDroid显著提高了状态和活动覆盖率(分别高62%和61%),且发现的错误数量大幅增加(提升146%)。
  • 优势:

    1. 改善了手动测试中的重复操作问题。
    2. 显著提升活动和状态覆盖率,帮助发现更多潜在Bug。
    3. 用户测试支持其节省测试时间(减少至33%)。
  • 局限性与未来方向:

    1. 未能完全覆盖所有活动和状态: 动态布局和模糊编码规则影响了状态转换图的完整性。
    2. 交互动作与复杂动画限制: 当前仅考虑点击操作,未来可扩展到更多多样化触发动作。
    3. 使用场景扩展:
      • 提升对App新功能的用户引导能力。
      • 将测试辅助应用扩展到其他平台(如iOS或Web)。

工具的创新和性能评估显示其在优化手动测试方面的显著优势,为改善应用质量创造了新的视角,同时提供了继续扩展和优化的若干方向。

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/papers/chi/68857/2022

广告推荐

学习 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 篇相关论文