论文
了解自动化 Web GUI 测试:跨探索策略和状态抽象的实证研究
Understanding Automated Web GUI Testing: An Empirical Study Across Exploration Strategies and State Abstractions
摘要
自动化 Web GUI 测试 (AWGT) 依赖于探索策略,这些策略通过 GUI 操作来运行 Web 应用程序,以最大限度地提高代码覆盖率,涵盖传统的基于模型、基于强化学习 (RL) 和新兴的基于 大语言模型 (LLM) 的方法。状态抽象可以检测具有相同功能的页面以避免重复测试,长期以来一直被认为对于指导探索至关重要。然而,探索策略和状态抽象如何共同影响测试有效性仍有待探索。我们提出了一项实证研究,从代码覆盖率和故障揭示的角度分析这两个因素。我们比较了基于模型、基于强化学习和基于 LLM 的代表性方法;研究六种状态抽象如何影响基于模型和基于强化学习的方法;检查不同历史表示下基于 LLM 的方法,这些方法充当状态抽象的一种形式;并比较不同方法所暴露的故障。我们的结果表明,没有任何单一策略在所有方面都表现出色。相反,类别在代码覆盖率、状态覆盖率和故障发现方面表现出互补的优势。状态抽象是一个关键因素:严格、细粒度的抽象有利于基于模型的策略,而紧凑的抽象更好地支持基于强化学习的策略。历史表示显着影响基于 LLM 的策略,其中简洁的功能级上下文表现最佳。我们还发现代码覆盖率与故障揭示能力的相关性较弱,这凸显了多维度评估的必要性。这些发现为选择探索策略和设计 AWGT 的有效状态抽象提供了实用指导。