使用GPT-3生成移动应用测试的文本输入

新方法QTypist:基于大语言模型的移动应用测试文本输入生成

中国科学院和莫纳什大学的研究团队提出了一种基于预训练大语言模型(LLM)的移动应用测试文本输入生成新方法,命名为QTypist。该方法在106个Android应用和自动化测试工具上进行了评估,显著提升了测试性能。

背景与挑战

自动化移动应用测试的一个主要障碍是文本输入生成的需求,这对人工测试者来说也可能具有挑战性。原因在于不同类型的输入(如地理位置、地址、健康指标等)可能被要求,并且连续输入页面之间可能存在关系,导致验证约束。此外,应用视图中提供的输入将决定后续呈现的视图。

QTypist的核心思路

QTypist利用大语言模型(如BERT和GPT-3)的能力,理解来自移动应用的输入提示,生成有意义的文本输入。具体步骤如下:

  1. 上下文信息提取:使用GUI测试工具提取GUI视图的上下文信息,包括输入控件的元数据(如用户提示)、附近控件的上下文信息以及全局上下文(如活动名称)。
  2. 提示生成:基于提取的三类信息,构建提示。这些提示基于一组由语言学家在500个参考应用上定义的模式,共生成14种语言模式,分别与输入控件、局部上下文和全局上下文相关。
  3. 模型输入与输出:提示数据集作为GPT-3的输入,其输出被用作应用的文本输入内容。

评估与效果

QTypist的有效性通过与其他方法(如DroidBot、Humanoid等)以及人工评估生成输入质量的对比进行了评估。此外,研究人员通过在Google Play上的106个Android应用中集成QTypist,进行了实用性评估。在所有情况下,QTypist均能提升现有方法的性能。

未来工作

尽管QTypist的初步工作显示出潜力,但还需进一步扩展以应对应用未提供足够上下文信息的情况,并扩展至GUI测试之外的其他场景。

阅读 48
0 条评论