高端学术
您当前的位置:核心期刊咨询网电子信息论文》基于众测操作记录的GUI软件测试用例生成

基于众测操作记录的GUI软件测试用例生成

来源:核心期刊咨询网时间:2022-03-31 11:4412

摘要:摘 要: 众包测试是一种新兴的软件测试模式,具有测试周期短、测试成本低的优点。但是在众包测试中也存在测试人员水平不一、无法形成规范化测试用例的问题。文章提出一种基于操作记录的GUI软件测试用例生成方法,該方法将测试人员操作记录转化为规范化测试用例。实验结

  摘 要: 众包测试是一种新兴的软件测试模式,具有测试周期短、测试成本低的优点。但是在众包测试中也存在测试人员水平不一、无法形成规范化测试用例的问题。文章提出一种基于操作记录的GUI软件测试用例生成方法,該方法将测试人员操作记录转化为规范化测试用例。实验结果表明,相对于手工测试生成的测试用例,该方法生成的测试用例在缺陷检测方面有显著的提高。

  关键词: 众包测试; 操作记录; 测试用例生成

  0 引言

  软件的规模日益庞大,传统手工测试效率低,已经无法满足软件日益增长的测试需求。众包测试(简称众测)作为一种新兴的测试模式,与传统手工测试相比有着测试周期短、测试成本低以及测试全面等优势[1],尽管如此,众测也存在一定不足。例如众测过程无法直接产出类似测试用例的测试资产,且测试人员的频繁变动也使得测试经验难以收集和复用。目前针对众测过程中测试用例生成的研究主要有利用Github网站Issue反馈平台上让有能力的用户完成测试用例的设计和维护[2], 以及将众测任务分解为微任务再分发给测试人员,测试人员直接撰写测试用例等[3]。以上研究虽然能够减少测试用例设计与维护等的测试开销,但是这些方法缺乏通用性,同时对测试人员水平要求较高。因此开展众测场景下通用性更强的测试用例生成研究很有必要。

  GUI软件测试在众测中占有较大比例,与基于软件源代码的测试用例生成方法[4]及基于软件开发文档的测试用例生成方法[5]相比,众测更适用于基于用户操作记录的测试用例生成方法。基于用户操作记录的测试用例生成方法以众测人员的操作记录作为生成测试用例的数据来源,对测试人员编程和撰写测试用例能力要求较低,可以有效降低测试成本和测试门槛问题。

  然而,由于众测人员的背景、专业技能和个人水平不同,测试过程也存在差异,导致众测环境下获得的测试步骤不够统一,操作记录也往往存在较多冗余。

  基于以上分析,本文提出了一种利用众测操作记录生成GUI软件测试用例的方法。该方法首先对操作记录进行优化,然后利用目标检测方法提取操作目标UI组件,最后就可以生成规范化测试用例。实验结果证明了本文所提方法的有效性与实用性。

  1 操作记录优化算法

  1.1 操作记录分类

  在获取众测过程中测试人员的操作记录之前,要定义操作记录格式。在GUI软件测试中,测试人员主要通过鼠标和键盘与待测软件进行交互。因此一个完整的操作记录应当包含测试人员测试行为的简单描述,例如用户使用鼠标点击待测软件某个位置的按钮时,可以把与测试行为相对应的待测软件截图作为操作行为的直接证明保存下来。图1展示本文获取的真实开源软件knowte的操作记录实例,此实例不仅包含操作行为文本描述、时间信息,坐标信息等信息,还包含操作行为对应的待测软件实时截图。

  由于测试过程中不可避免会产生冗余操作,这些冗余操作虽然不会降低众测工人的测试质量,但会导致最终操作记录过于繁琐,影响后续测试用例生成质量,因此获取的众测操作还无法直接作为生成测试用例的数据来源。尽管不同测试人员的冗余操作各不相同,但关键操作对应的操作信息却是相似的,因此本文通过分类方法实现对冗余操作和关键操作区分。由于无法获取操作所对应的标签,也难以针对全部类型的测试操作进行人工标注,因此本文采用无监督分类方式。在操作信息中以待测软件截图作为操作记录的直接证明,同一个操作行为对应的待测软件截图总是相似的,因此可以通过对待测软件的截图进行聚类操作实现对冗余和关键操作的划分,聚类完成后每个类别包含着测试环节中必要的操作记录的有效描述。

  本文采用层次聚类方法对操作记录包含的待测软件截图进行分类解决上述问题。具体步骤如下。

  ⑴ 待测软件截图的数据预处理。主要包含去除异常图片,比如截图失败和截图未完成图像等,以及对数据进行归一化处理。

  ⑵ 基于深度学习的特征提取。使用基于ResNet50的方法对待测软件截图进行特征提取。

  推荐阅读:计算机软件开发与数据库管理探讨

转载请注明来自:http://www.qikan2017.com/lunwen/dzi/22889.html

相关论文阅读

论文发表技巧

期刊论文问答区

电子信息优质期刊

最新期刊更新

精品推荐