基于本地的测试 告主动分类辅助众包测试

引用

Junjie Wang, Song Wang, Qiang Cui, and Qing Wang. 2016. Local-based active classification of test report to assist crowdsourced testing. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016). Association for Computing Machinery, New York, NY, USA, 190–201. DOI:https://doi.org/10.1145/2970276.2970300

介绍

但是,由于工作量大,这样的过程很繁琐。我们对中国最大的众包测试平台之一的观察显示,该平台每月大约有 100 个项目交付,平均每天提交 1000 多份测试 告。检查 1000 份 告通常需要一个测试人员花费近半个工作周的时间。因此,从大量的测试 告中自动分类出真正的故障将大大促进这一过程。

现有的一些研究已经提出了使用监督机器学习算法对开源项目的问题 告进行分类。遗憾的是,这些方法往往需要用户对大量的训练数据进行手工标注,这在实际操作中既费时又费力。因此,如何在减少人工标注的繁重负担的同时,又能获得良好的性能是至关重要的。

基于 local 的主动分类

主动学习技术的主要关注点是测量未标记数据的信息量,以便查询信息量最大的实例,帮助建立有效的分类器。现有技术的设计是基于这样的假设,即数据是相同分布的。然而,众包 告通常具有明显的 local 偏差,因此现有技术在这些数据上会产生较差和不稳定的性能。

为了解决这样的问题,我们提出了基于 local 的主动分类(LOAF)。其主要思想是查询 local 邻域内信息量最大的实例,然后基于 local 邻域学习分类器。local 邻域定义为一个或几个附近(距离最小)的标签实例。为了应对所研究数据集的 local 偏差,我们的方法中的信息量是以 local 邻域内的信息量来衡量的–表示为 “local 信息量”。具体来说,我们首先获取每个未标记实例的 local 邻域,并测量其 local 信息性。然后我们选择 local 信息量最大的未标记实例,并查询其标签。

算法 1 和图 3 总结了 LOAF 的过程。LOAF 首先选择初始实例,并询问用户它的标签,然后,LOAF 会迭代选择 local 信息量最大的无标签实例,并查询它的标签。之后,LOAF 会反复选择一个实例,询问用户它的标签,并从有标签的实例中学习分类器。然后 LOAF 利用最新的标签信息选择下一个要选择的实例。这个过程会一直持续下去,直到满足其中一个终止标准。

我们在中国最大的众测平台之一的 34 个商业项目的 14609 份测试 告上实验研究了 LOAF 的有效性和优势。结果表明,LOAF 在标注 10%的 告的情况下,中位数的准确率可以达到 1.00。它比现有的主动学习技术和基于大量历史标签数据的监督学习技术都要好。此外,我们实现了我们的方法,进行了案例研究和调查,以进一步评估 LOAF 的有用性。反馈结果显示,80%的测试人员认同 LOAF 的实用性,并希望将其用于实际的众包测试实践中。

这些结果表明,当历史标签数据不可用时,我们的方法仍然能够以较高的准确度和较小的工作量来促进 告分类。这可以减少人工检查 告的工作量,或收集大量高质量的标签数据。

评估

RQ1 (Effectiveness): LOAF 在对众包 告进行分类时的效果如何?

我们首先研究了 LOAF 在对各实验项目的众包 告进行分类时的性能,在 70%的项目(24/34)中,LOAF 的准确率可以达到 1.00,表示 100%的精度和 100%的召回率。在 85%的项目(29/34)中,准确率在 0.98 以上。此外,LOAF 达到的最低精度是 0.95,精度和召回率都在 0.90 以上。在努力程度上,LOAF 只需要在所有测试 告的中位数上标注 10%就可以建立有效的分类器。另外,对于 88%(30/34)的项目,LOAF 只需要标记少于 20%的 告,就可以支持对所有剩余的测试 告进行有效的分类。

然后我们研究了参数 pr local 和 pr stop 对模型性能的影响,并提出了最优的 pr local 和 pr stop,在我们的环境中 pr local 取 15、pr stop 是 10。

最后,我们探讨了初始实例对模型性能的影响,随机选择初始实例通常会陷入低性能,并进一步证明了我们初始选择方法的有效性。

RQ2(优势):LOAF 在分类众包 告方面能否优于现有技术?

为了证明我们方法的优势,我们将 LOAF 与主动学习技术和监督学习技术的性能进行比较。图 7 说明了 LOAF 和监督预测技术的准确率。由于监督学习依赖于历史数据进行分类,因此我们不介绍努力程度(effort)的情况,因此努力程度(effort)的情况是对所有的训练数据进行标注。

我们很容易观察到,在所有的项目中,LOAF 的准确率都高于监督学习的准确率。在所有项目中,监督学习的准确率中位数为 0.77,远远小于 LOAF 的准确率(1.00)。这说明 LOAF 的表现甚至比建立在大量历史标签数据基础上的监督分类更好。原因可能是源于现有技术不能很好地处理众包测试数据的局部偏差。

RQ3(有用性):LOAF 对软件测试人员有用吗?

我们在百度众包测试组中进行了案例研究和问卷调查,以进一步评估 LOAF 的有用性。

就案例研究而言,LOAF 的分类性能远远优于人工,准确率更高,工作量更小,时间更短,特别是随着项目规模的扩大,人工分类的工作量和时间会急剧增加,而准确率也会明显下降。特别是随着项目规模的扩大,人工分类所耗费的精力和时间会急剧增加,而准确率也会明显下降。虽然测试人员在使用 LOAF 时可能会给查询的 表贴上错误的标签,但最终的准确率受这些错误的影响较小。

结论

1.

我们提出了基于 local 的主动分类(Local-based Active ClassiFication,LOAF)来解决自动化众包测试 告分类中的两个挑战,即 local 偏差问题和缺乏标签数据。据我们所知,这是第一个在实际工业众包测试实践中解决这两个自动化测试 告分类问题的工作。

2.

我们在中国最大的众包测试平台之一的 34 个项目的 14,609 份测试 告上评估了我们的方法,结果是可喜的。

3.

我们通过实际案例研究实现了我们的方法,并评估了其实用性。

致谢

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月1日
下一篇 2021年2月1日

相关推荐