良好质量的软件产品是客户的基本诉求,而良好质量的软件需要更多的测试手段和投入,因此,软件测试是软件研发过程中一个非常重要的环节,会占用大量的项目时间和人力成本,如何高效、及时地完成测试工作一直是软件测试领域的难题之一。随...良好质量的软件产品是客户的基本诉求,而良好质量的软件需要更多的测试手段和投入,因此,软件测试是软件研发过程中一个非常重要的环节,会占用大量的项目时间和人力成本,如何高效、及时地完成测试工作一直是软件测试领域的难题之一。随着移动互联网应用行业的迅猛发展,软件的规模和复杂度不断增加,传统的软件测试通过人工手动去设计和执行测试用例,成本高、效率低、局限性大。近年来,人工智能技术在软件测试自动化领域的应用越来越受到关注。本文分析总结了人工智能软件测试自动化技术的优势、应用挑战和未来的发展方向,并提出了一种自动化的测试框架研究实践。人工智能技术在提高软件测试自动化领域的效率和测试质量方面有较大优势,未来的有关研究和应用将会继续深入,推动人工智能技术在软件测试行业的发展。Good quality software products are the basic demands of customers, and good quality software requires more testing methods and investment. Therefore, software testing is a very important part of the software development process, which will occupy a lot of project time and labor costs. How to efficiently and timely complete testing work has always been one of the challenges in the field of software testing. With the rapid development of the mobile Internet application industry, the scale and complexity of software are increasing. Traditional software testing designs and executes test cases manually, which is costly, inefficient and limited. In recent years, the application of artificial intelligence technology in software testing automation has received increasing attention. This article analyzes and summarizes the advantages, application challenges, and future development directions of artificial intelligence software testing automation technology, and proposes an automated testing framework research practice. Artificial intelligence technology has significant advantages in improving the efficiency and quality of software testing automation. Future research and applications will continue to deepen, promoting the development of artificial intelligence technology in the software testing industry.展开更多
软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信...软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信息矩阵计算代码语句的可疑度值,并根据可疑度值定位缺陷所在语句.然而,语句覆盖信息矩阵中存在着严重的数据冗余问题,冗余的数据极大地影响了SFL的缺陷定位性能.以Defects4J数据集中395个程序的语句覆盖信息矩阵为例,在超过一半的语句覆盖信息矩阵中有90%的语句存在与其具有相同覆盖信息的语句.特征选择是常用的数据预处理技术,通过去除冗余和不相关特征来获取原始特征集中有价值的特征子集.因此,我们将语句覆盖信息矩阵作为原始特征集,将冗余覆盖信息约简建模为特征选择问题,提出了一种基于冗余覆盖信息约简的软件缺陷定位方法(Fault Localization based on Redundant coverage information Reduction,FLRR).首先,使用特征选择技术对语句覆盖信息和测试用例执行结果组成的语句覆盖信息矩阵进行约简,得到语句覆盖信息矩阵子集;然后,使用SFL计算语句覆盖信息矩阵子集中语句的可疑度值,并根据可疑度值对语句进行降序排列,以定位缺陷语句.本文使用六种常用的特征选择技术对语句覆盖信息矩阵进行特征选择和约简,以得到语句覆盖信息矩阵子集,并使用四种典型的SFL技术对语句覆盖信息矩阵子集中的语句进行缺陷定位.为评估FLRR的缺陷定位性能,本文使用E_(inspect)@n和MRR(Mean Reciprocal Rank)评价指标在基于Defects4J的数据集上与四种典型的SFL技术进行了对比实验.实验结果表明,FLRR能够有效提升SFL的缺陷定位性能.对于E_(inspect)@n指标,当n=1时,FLRR相比DStar、Ochiai、Barinel和OP2分别多定位到23条、26条、14条和13条缺陷语句,分别增加了69.70%、76.47%、45.16%和38.24%;对于MRR指标,FLRR相比DStar、Ochiai、Barinel和OP2分别提升了20.08%、24.94%、17.45%和19.15%.展开更多
文摘良好质量的软件产品是客户的基本诉求,而良好质量的软件需要更多的测试手段和投入,因此,软件测试是软件研发过程中一个非常重要的环节,会占用大量的项目时间和人力成本,如何高效、及时地完成测试工作一直是软件测试领域的难题之一。随着移动互联网应用行业的迅猛发展,软件的规模和复杂度不断增加,传统的软件测试通过人工手动去设计和执行测试用例,成本高、效率低、局限性大。近年来,人工智能技术在软件测试自动化领域的应用越来越受到关注。本文分析总结了人工智能软件测试自动化技术的优势、应用挑战和未来的发展方向,并提出了一种自动化的测试框架研究实践。人工智能技术在提高软件测试自动化领域的效率和测试质量方面有较大优势,未来的有关研究和应用将会继续深入,推动人工智能技术在软件测试行业的发展。Good quality software products are the basic demands of customers, and good quality software requires more testing methods and investment. Therefore, software testing is a very important part of the software development process, which will occupy a lot of project time and labor costs. How to efficiently and timely complete testing work has always been one of the challenges in the field of software testing. With the rapid development of the mobile Internet application industry, the scale and complexity of software are increasing. Traditional software testing designs and executes test cases manually, which is costly, inefficient and limited. In recent years, the application of artificial intelligence technology in software testing automation has received increasing attention. This article analyzes and summarizes the advantages, application challenges, and future development directions of artificial intelligence software testing automation technology, and proposes an automated testing framework research practice. Artificial intelligence technology has significant advantages in improving the efficiency and quality of software testing automation. Future research and applications will continue to deepen, promoting the development of artificial intelligence technology in the software testing industry.
文摘软件规模和复杂程度的不断提高,为软件质量保障带来了严峻的挑战.软件缺陷定位是一种重要的软件质量保障技术,其中基于频谱的缺陷定位(Spectrum-based Fault Localization,SFL)是应用最为广泛的软件缺陷定位技术,其通过分析语句覆盖信息矩阵计算代码语句的可疑度值,并根据可疑度值定位缺陷所在语句.然而,语句覆盖信息矩阵中存在着严重的数据冗余问题,冗余的数据极大地影响了SFL的缺陷定位性能.以Defects4J数据集中395个程序的语句覆盖信息矩阵为例,在超过一半的语句覆盖信息矩阵中有90%的语句存在与其具有相同覆盖信息的语句.特征选择是常用的数据预处理技术,通过去除冗余和不相关特征来获取原始特征集中有价值的特征子集.因此,我们将语句覆盖信息矩阵作为原始特征集,将冗余覆盖信息约简建模为特征选择问题,提出了一种基于冗余覆盖信息约简的软件缺陷定位方法(Fault Localization based on Redundant coverage information Reduction,FLRR).首先,使用特征选择技术对语句覆盖信息和测试用例执行结果组成的语句覆盖信息矩阵进行约简,得到语句覆盖信息矩阵子集;然后,使用SFL计算语句覆盖信息矩阵子集中语句的可疑度值,并根据可疑度值对语句进行降序排列,以定位缺陷语句.本文使用六种常用的特征选择技术对语句覆盖信息矩阵进行特征选择和约简,以得到语句覆盖信息矩阵子集,并使用四种典型的SFL技术对语句覆盖信息矩阵子集中的语句进行缺陷定位.为评估FLRR的缺陷定位性能,本文使用E_(inspect)@n和MRR(Mean Reciprocal Rank)评价指标在基于Defects4J的数据集上与四种典型的SFL技术进行了对比实验.实验结果表明,FLRR能够有效提升SFL的缺陷定位性能.对于E_(inspect)@n指标,当n=1时,FLRR相比DStar、Ochiai、Barinel和OP2分别多定位到23条、26条、14条和13条缺陷语句,分别增加了69.70%、76.47%、45.16%和38.24%;对于MRR指标,FLRR相比DStar、Ochiai、Barinel和OP2分别提升了20.08%、24.94%、17.45%和19.15%.