Learning to Prioritize Test Cases for Computer Aided Design Software via Quantifying Functional Units

Learning to Prioritize Test Cases for Computer Aided Design Software via Quantifying Functional Units
复制标题

学习通过量化功能单元来确定计算机辅助设计软件测试用例的优先级

DOI:
10.3390/app122010414
复制
发表时间:
2022-10
期刊:
影响因子:
--
通讯作者:
Jifeng Xuan
Jifeng Xuan
中科院分区:
--
文献类型:
--
作者:
Fenfang Zeng;Shaoting Liu;Feng Yang;Yisen Xu;Guofu Zhou;Jifeng Xuan

文献摘要

相似文献

计算机辅助设计(CAD)是一系列技术,可支持使用计算机程序设计和起草2D和3D模型的自动化。 CAD软件是一个软件平台,可提供从设计到建模的过程,例如AutoCAD或FREECAD。由于功能复杂,CAD软件的质量在设计可靠的2D和3D模型中起着重要作用。 CAD软件中的缺陷之间存在许多依赖关系。软件测试是检测CAD软件开发缺陷的实用方法。但是,经常运行所有功能的所有测试用例是昂贵的。在本文中,我们设计了一种学习方法,以优先考虑CAD软件的测试用例,称为PriorCadtest。这种方法的关键思想是量化功能单元并训练可学习的模型以优先考虑测试用例。该方法的输出是一系列现有测试用例。我们在一个开源现实世界CAD项目Artofusion的七个模块上评估了Priorcadtest。故障检测(APFD)的平均百分比用于衡量有效性。实验结果表明,所提出的方法在没有测试案例优先级的情况下优于当前的工业实践。
Computer Aided Design (CAD) is a family of techniques that support the automation of designing and drafting 2D and 3D models with computer programs. CAD software is a software platform that provides the process from designing to modeling, such as AutoCAD or FreeCAD. Due to complex functions, the quality of CAD software plays an important role in designing reliable 2D and 3D models. There are many dependencies between defects in CAD software. Software testing is a practical way to detect defects in CAD software development. However, it is expensive to frequently run all the test cases for all functions. In this paper, we design an approach to learning to prioritize test cases for the CAD software, called PriorCadTest. The key idea of this approach is to quantify functional units and to train a learnable model to prioritize test cases. The output of the approach is a sequence of existing test cases. We evaluate PriorCadTest on seven modules of an open-source real-world CAD project, ArtOfIllusion. The Average Percentage of Fault Detect (APFD) is used to measure the effectiveness. Experimental results show that the proposed approach outperforms the current industrial practice without test case prioritization.