编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

移动应用众包测试报告的自动化质量评估

wxchong 2024-07-16 10:52:32 开源技术 10 ℃ 0 评论

移动应用众包测试报告的自动化质量评估

论文:X. Chen, H. Jiang, X. Li, T. He and Z. Chen, "Automated quality assessment for crowdsourced test reports of mobile applications," 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, 2018, pp. 368-379.

https://ieeexplore.ieee.org/document/8330224

摘要:在移动应用众包测试中,众包工人帮助开发者测试,并提交软件异常行为的测试报告,测试报告一般提供关键信息帮助开发者理解并重现软件缺陷。由于工作者能力有限以及移动设备编辑的不便利性,测试报告的质量参差不齐。有时开发者不得不花费有限的重要资源去处理低质量的测试报告,这将严重降低他们的工作效率。为了帮助开发者在有限的资源下选择合适的测试报告来审查,本文提出了一个对测试报告质量自动化建模的框架TERQAF。TERQAF框架定义了一系列量化指标来衡量测试报告的理想属性,并汇总所有数值指标,使用阶跃变换函数确定测试报告的质量。在五个移动应用众包测试报告数据集上进行的实验表明,TERQAF能正确预测测试报告的质量,准确率高达88.06%,比基线提高了23.06%。同时实验结果证明,四大类衡量指标对评估测试报告质量的TERQAF有积极影响。

技术介绍:

随着移动设备的急剧增长和移动应用程序的迅猛发展,移动应用测试面临着巨大挑战。移动应用的典型特征包括有限带宽、不可靠网络和不同操作系统等,这些特征注定桌面和Web应用的传统测试方式不适合移动应用。随着群体智能的发展,众包测试(Crowdsourced Testing)受到了学术界和工业界的广泛关注。与传统测试相比,众包测试摆脱了测试人员地理位置的约束,测试者能随时随地进行测试,从而极大的提高了测试效率。

众包工人在众包平台提交软件异常测试报告,典型的测试报告包括环境、输入、描述和屏幕截图等。由于众包测试任务通常限定在较短时间内,大量质量参差不齐的测试报告将在短时间内发送给开发人员,开发人员时间、精力以及可用资源有限,无法阅读并理解所有的测试报告,这将严重影响开发人员复现并修复软件缺陷。许多研究侧重通过减少审查的测试报告数量来缩短总检查成本,但忽略了测试报告质量对审查成本的影响。高质量测试报告通常提供全面的缺陷信息,方便开发人员重现和修复缺陷;低质量测试报告往往缺乏缺陷的重要细节,耗费开发人员更多的时间和精力。本文提出了一个自动化衡量测试报告质量的框架:Test Report Quality Assessment FrameWork(TERQAF),以帮助开发人员选择高质量的测试报告进行审查,实验结果表明TERQAF框架有高达88.06%的预测准确率,这将大大提高开发人员修复缺陷的效率。

质量是一个模糊的概念,质量的评价依赖于不同的评价标准,结合已有的测试报告质量研究,本文定义了测试报告的理想属性(如表1所示)。测试报告的评价指标与理想属性密不可分,参考现有对需求规格(requirement specifications)测量指标的总体分类,结合测试报告的典型特征,我们定义了四类衡量测试报告质量的评价指标(如表2所示)。

表1:本文定义的测试报告理想属性,包括Atomicity、Correctness、Completeness、Conciseness、Understandability、Unambiguity、Reproducibility

表2:测试报告评价指标分为四类:Morphological、Lexical、Analytical、Relational,每个类别细分若干指标,其中X表示指标与理想属性之间是直接关系,表示间接关系

基于定义的四类评价指标,本文提出了自动化评价测试报告质量的TERQAF框架(如图1所示)。TERQAF由三个阶段组成:Preprocess、Step transformation function、 Classifier。 (1)Preprocess阶段:使用中文NLP工具IKAnalyzer对测试报告分词,处理分词文本并生成各个指标的数值,为每个测试报告生成一个向量,向量中的每个元素都是对应指标的数值。(2)Step transformation function阶段:为了将数值指标转换为标准值(即好坏),我们引入了阶跃变换函数,通常阶跃变换函数有四种主要类型:increasing、descreaing、convex和concave(如图2所示)。阶跃变换函数能规范异构数值指标,并通过设置合适的界限将其值转换为相应的标准值。

(3)Classifier阶段:使用阶跃变换函数将数值指标转换为标准值之后,通过分类器聚合所有指标的标准值来评价测试报告的质量。由于众包工人专业水平有限,高质量测试报告数量明显要低于低质量数量,因此我们认为测试报告只要有超过60%的指标为Good,此报告即为质量好的。

我们选择了CUEZILLA(一种衡量测试报告质量的自动化工具)作为基线方法,此外我们还跟WORST方法(预测测试报告质量好坏的方法)对比。表3显示了在所有数据集上不同方法的预测准确率结果。明显可知,TERQAF方法优于其他两种方法。TERQAF准确率高于CUEZILLA的原因,可能是TERQAF使用更多指标来评价测试报告的质量,获得的预测结果不受单一指标的影响。相比之下,CUEZILLA仅使用几个理想指标预测测试报告的质量,单个指标可能会对其结果其产生很大影响。TERQAF准确率高于WORST的原因,可能是WORST在预测测试报告质量时的定义导致:如果优质测试报告的数量小于质量不良的数量,则所有测试报告都被预测为坏质量的,否则所有测试报告被预测为好质量的。显然,多指标的TERQAF准确率会更高。

表3:TERQAF、WORST、CUEZILLA三种方法在五个数据集上的预测准确率,总体来看,TERQAF的准确率最高。

总体而言,本研究做出了以下贡献:

(1) 据我们所知,本文是第一项研究测试报告质量和解决测试报告质量评估问题的工作。

(2) 为了自动建模和评估测试报告的质量,本文提出了TERQAF框架,它用四类可量化的指标来评价测试报告的质量。

(3) 我们在五个真正的工业移动应用众包测试集上进行实验,结果表明TERQAF能准确预测测试报告的质量。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表