← 最新论文
💻 computer science

Improving Test Case Prioritization in Continuous Integration Environments Using Multilayer Perceptron: An Empirical Comparative Study

这项实证研究表明,在持续集成环境中的测试用例优先级排序方面,多层感知器(MLP)显著优于五种经典的机器学习算法,在多个工业数据集上实现了卓越的故障检测效率和统计显著性。

原作者: MUSA ISYAKU, ABDULSALAM YA'U GITAL, HARUNA CHIROMA

发布于 2026-09-29
📖 1 分钟阅读☕ 轻松阅读

原作者: MUSA ISYAKU, ABDULSALAM YA'U GITAL, HARUNA CHIROMA

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

在现代软件开发这个庞大且快速变化的世界中,程序在不断地进行更新。为了保持这些系统的可靠性,工程师们在每次做出更改时都会运行被称为回归测试的自动化检查。想象一个巨大的图书馆,每增加一页书,每一本书都必须检查是否损坏。如果图书管理员必须按顺序检查每一本书,这个过程将耗时极长,而图书馆也会因此落后。在软件领域,这意味着要等待过长时间才能发现故障功能,这可能会带来高昂的成本和挫败感。为了解决这个问题,研究人员使用了一种称为测试用例优先级排序(test case prioritization)的策略。他们不再按随机顺序运行测试,而是试图找出哪些特定的测试最有可能首先失败。通过在最开始的时候运行那些最可疑的测试,团队可以更快地发现并修复问题,从而节省时间和资源。

多年来,计算机科学家一直尝试利用机器学习来辅助这项排序任务。机器学习是能够从过去的数据中学习以进行预测的计算机程序。然而,来自尼日利亚阿布巴卡尔·塔法瓦·贝莱瓦大学(Abubakar Tafawa Balewa University)的一项最新研究表明,尽管存在许多方法,但其中一种特定类型的学习模型在处理这项工作时可能最为有效。研究人员穆萨·伊西亚库(Musa Isyaku)、阿卜杜拉萨拉姆·亚乌·吉塔尔(Abdulsalam Ya'u Gital)和哈鲁纳·奇罗马(Haruna Chiroma)旨在研究多层感知器(Multilayer Perceptron)这一模型是否能在连续测试环境中,通过对数千个测试用例进行排序,表现优于其他流行的方法。他们并非仅仅凭空猜测,而是利用来自工业机器人和网络技术公司的真实世界数据,将该模型与五种其他成熟的算法进行了对比测试。

研究团队收集了来自 ABB Robotics(一家制造工业机器人的公司)的大量历史测试记录。该数据集包含了来自 106 个不同测试周期的 64,000 多次独立测试执行。在这种现实场景中,大多数测试都能成功通过,只有极小部分的测试会失败。这种情况给计算机模型制造了一个棘手的局面:如果一个程序仅仅假设每个测试都会通过,那么它在大多数情况下都是正确的,但它会完全错过那些真正失败的测试。研究人员需要一种能够识别出这些罕见故障,且不会被压倒性的成功案例所干扰的模型。为了确保他们的发现并非偶然,他们还在另外三个来自不同公司的工业数据集上测试了他们的方法,以检查其结果在不同环境下是否依然成立。

他们将选定的模型——多层感知器,与五种常见的机器学习技术进行了比较:随机森林(Random Forest)、XGBoost、逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine)以及 k-最近邻(k-Nearest Neighbors)。为了确保比较的公平性,他们在完全相同的条件下运行了所有六个模型,使用相同的数据划分和相同的参数调优方法。目标是观察哪个模型能将失败的测试排在列表的最顶端,从而确保它们被优先执行。研究人员衡量成功的标准不仅在于模型整体的正确率,还在于它识别故障的速度。他们使用了一个名为“平均故障检测百分比”(Average Percentage of Faults Detected)的特定指标,该指标本质上衡量了故障出现在列表中的先后位置。分数越高,意味着模型越擅长及早发现问题。

结果清晰且一致。在来自 ABB Robotics 的主要数据集上,多层感知器模型的准确率达到了 99.77%,在故障检测指标上的得分达到了 86.35%。虽然其他模型表现良好,但多层感知器始终能比竞争对手更有效地将失败的测试排在靠前的位置。研究人员使用了严格的统计检验来确认这种差异并非由于偶然因素造成。分析表明,多层感知器在统计学上优于所有其他五种模型,其置信水平不容置疑。即使他们调整了模型的设置以观察是否能进一步改进,多层感知器依然保持着领先地位,而其他一些模型在调优后表现反而略有下降。

这项研究中最重要的教训之一是关于我们如何衡量成功。研究人员发现,仅看整体准确率在这一领域可能会产生误导。因为大多数测试都会通过,一个模型可以仅仅通过忽略失败案例就获得极高的准确率评分。研究证明,要真正理解一个优先级排序系统的工作效果,必须观察它寻找少数失败测试的能力以及寻找这些测试的及时程度。多层感知器在这方面表现出色,证明了深度学习模型处理现实世界测试数据中复杂且不平衡特性的能力优于传统方法。

研究还探讨了该模型是否能在来自不同公司的数据上发挥作用。当在 IOFROL、PAINTCONTROL 和 Westermo Network Technologies 的数据集上进行测试时,多层感知器保持了强劲的表现,这表明它不仅仅是针对某一特定数据集的偶然契合,而是一个能够适应不同工业背景的稳健工具。研究人员得出结论,对于运行大规模自动化测试的组织而言,采用这种特定类型的机器学习模型可以显著加快寻找漏洞的过程。通过使用这种能从历史中学习复杂模式的模型,软件团队可以确保他们最关键的测试始终被优先执行,从而保持系统的可靠性,并推动开发周期在没有不必要延迟的情况下向前推进。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →