文摘
在应用软件工程,算法选择合适的测试用例是用于执行回归测试。这一活动的主要目标是确保被测系统(SUT)的修改不影响整体功能的软件更新。从文献结论的有效性测试用例选择完全取决于以下指标,也就是说,测试用例的执行成本,代码覆盖在单位时间的线也被称为代码覆盖率,捕捉潜在故障的能力,和代码的修改。此外,还观察到,回归测试的方法开发了到目前为止产生的结果通过专注于一个或两个参数。在本文中,我们的主要目标是双重的:一是探索的重要性详细每个指标的作用。二级目标是研究这些指标的综合效应在测试用例选择任务,能够实现多个目标。本文的详细和全面审查工作回归测试是在一个非常独特的、有原则的方式提供的。这个调查将有助于研究人员导致的回归测试。值得注意的是我们系统的文献综述(包括单反)值得注意的工作从2007年到2020年出版。我们的研究发现,大约52相关研究集中在所有的四个指标执行各自的任务。 The results also revealed that about 30% of the different categories of regression test case reported the results using metaheuristic regression test selection (RTS). Similarly, about 31% of the literature reported results using the generic regression test case selection techniques. Most of the researchers focus on the datasets, namely, Software-Artefact Infrastructure Repository (SIR), JodaTime, TreeDataStructure, and Apache Software Foundation. For validation purpose, following parameters were focused, namely, the inclusiveness, precision, recall, and retest-all.
1。介绍
回归测试的成本可以减少深入分析寻找最优解决方案的三个过程,即回归测试选择(RTS),回归测试优先级(RTP),减少回归测试(RTR) [1- - - - - -4]。RTS处理的过程从存储库中选择一组测试用例的测试套件能够足够的执行回归测试(5- - - - - -7]。同样,RTP的研究重新排列优先级更高的测试套件的测试用例基于捕获错误的能力在最短时间,成本,和努力。此外,选择测试用例等类别的可重用的测试用例,改变影响测试用例,故障影响测试用例,和冗余的测试用例。另一方面,删除冗余的测试用例未能捕获的最大缺点是称为RTR过程(8,9]。
图1显示相关的2776篇文章的详细信息从网络检索的科学。同样,图1(一)描述了文章发表在《2007 - 2020年期间在软件测试一般在特定的测试选择。超过900篇文章被发表在2018年,这表明研究在应用软件工程领域软件回归测试。图1 (b)显示文章的2007 - 2020年的引文趋势图时各种方法用于软件测试2代表的全球分布研究人工智能(AI)应用软件回归测试。这项研究已经蔓延全球,尤其活跃在美国,中国,德国,日本,印度,澳大利亚,和几个欧洲国家。即时战略游戏中使用的传统的方法由以下三部分组成,即测试用例选择模型,选择参数,并选择适当措施,如图1。最初的目标程序掠夺,它的修改版本掠夺”,测试套件中TS在给出测试用例作为输入系统的第一个组件。测试用例选择模型试图确定修改代码的修改版本掠夺”。除此之外,它还检索等相关和重要的信息代码覆盖率,检测故障,总执行时间的测试用例。收购完成后,从TS模型可以选择测试用例,移动它TS”(TS)的一个子集的基础上进行的计算模型。这些计算扮演着一个关键角色,估计算法的有效性用于选择适当的测试用例。值得注意的是,我们推导的想法写这样一篇文章从一个值得注意的工作报告(10]。
(一)
(b)
是相关提到可以使用这些计算在一个双重的RTS过程;首先是观察到的性能,然后选择一组合适的测试用例基于一些选择标准,其次这些计算扮演了一个重要的角色在评估RTS的功效与其他方法进行比较。具有十分重要的意义,组织这四个指标,即成本,保险,故障检测,和代码的修改,我们必须分析彼此的依赖关系。这方面的关键问题讨论下;第一个问题是选择合适的和适当的类型的这些措施,像coverage-based亚型的信息,潜在故障的类型和程度的严重性。我们试图解决的关键问题是获取和探索模型密切相关的RTS有助于证明包括这四个参数的选择测试用例的基础上他们的有效性和充分性。此外,我们也试图探索和识别的技术集能够产生有效和可接受的结果基于这些有效的措施。本文的主要目的是探索测试用例选择的方法对这些指标和执行仅仅作为一个有效的贡献。第二我们的研究目的是评估当前最先进的回归测试用例选择框架和技术发展到目前为止,确定可用的数据和算法的测试用例选择的解决方案的问题。
本文进一步组织如下。节2,本文采用的方法详细讨论了包括数据的来源和采用的框架进行分析。节3和部分4,我们讨论了各种指标的基础上,我们分析了书目数据相关的测试用例的选择,即co-cited参考网络,引用,同现关键词网络,破裂的关键词,dual-map覆盖网络。为此,我们利用信息可视化软件VOSviewer [11]。是相关的提到这个项目同样适用于关注结构和基本变化回归测试和识别软件测试领域的新趋势。本文的结论部分5其次是部分6的局限性和未来的工作。
2。复习方法
在本节中,我们将讨论的方法用于检索相关文章。在本文中,我们收集了值得注意的文章从多个数据库与网络相关的科学(我们)。我们平台足以提供和探索一些有用的链接,搜索查询和相关标准,研究人员可以使用收集的数据。此外,存储库的研究文章提供多种搜索条件搜索完整的书目信息的项目,以前版本的文章,引用的引用数据根据当前的文章,全文的链接。我们存储库是不同的从其他来源的方式增加平均约20000篇文章和500年,000年引用引用每隔一周。
此外,在这个调查中,我们集中包含尽可能多的相关文献。执行这个任务,我们第一次量化的密实度检索文章通过使用一些相关关键词的组合。此外,我们也试图验证我们的手工检索的文章。我们应用以下查询搜索(规定性)和检索相关的文章。
规定性= "(回归测试或测试用例选择或测试用例优先级或减少测试用例)和(多层或多或多用途或多维多向)”。
很明显,我们的搜索查询两个部分:(1)回归测试相关术语和(2)multi-criteria-based相关术语。查询使用9关键词覆盖的大部分领域软件回归测试和测试用例的选择。查询的主要目的是搜索文章,报告结果在测试用例选择同时考虑多个标准。每篇论文的书目元数据包含以下信息:文章的标题,作者列表显示相应的作者,其抽象、关键字、数字对象标识符(DOI)、期刊(或会议)名称和引用。值得注意的是我们的系统评价是完全根据检索到的文章通过科学引文索引扩展(合作伙伴)的数据集。约31%的数据集包含大约2776条记录的文献报道领域的回归测试。
2.1。科学计量分析
快速增长的文献发表在许多领域,进行了可视化工具高效足以处理出版物对更好地理解的元数据。相关的术语表中描述1。
使用最广泛的软件对于科学文献的映射,即CiteSpace V (12),是一种工具,能产生大量的足够的映射像表示引用的网络被发现co-cited文献中,关键词出现的频率,所以使用dual-map覆盖网络。此外,它也有助于识别热点的变化和修改通过计算相关网络的集群大小来确定最重要和前沿课题。这个任务是由计算集群平均使用其公布的年度出版物。此外,我们还利用VOSviewer [11在共同创作层面)进行分析。VOSviewer是可视化的软件工具来构建文献或citation-based图模型。VOSviewer同样适用于文本挖掘相关任务上面提到的同样的目的。
这些网络可视化的分析产生有用的发现和对新兴的趋势在软件测试用例选择使用不同的方法而专注于多个标准。此外,一个严格的框架采用对dual-map执行功能覆盖的最近趋势确定目标热点领域的软件测试。
3所示。科学计量分析和可视化检测新兴趋势,软件测试用例的结构变化和未来工作的选择
贡献者的科学计量分析得出结论,基于网络的映射包含文档之间的链接代表co-citations双足以揭示能力领域的研究重点和知识库13- - - - - -15]。
网络的图代表co-cited引用的模型提取研究测试用例选择的应用程序可以通过导入生成所有的2776个研究文档CiteSpace v以下值的参数调整。我们检索相关文件发表于2007 - 2020年的时间跨度。此外,我们使用了开关的设置每片纸包含在我们的科学计量学分析。如果开关设置为100,这意味着最高100篇论文将在该算法选择可视化树,主要是引用。这意味着如果我们输入一个值为50,然后CiteSpace将选择50个最引用或发生物品从每片构建一个网络,取决于我们在前一步骤中选择的节点类型。同样,如果我们选择多个节点类型,那么这些节点将由他们的次数排名出现在每一片的记录。相关的提及,导致网络的整体结构没有太大修剪;因此,没有必要修剪的图。生成的结果表明,在数据3- - - - - -5co-cited引用网络由237引用文件(从2776年引用文档)创造了约527个1587连接的节点相互连接。提到的是相关的出版物检索2007年至2020年间,总共有18个集群显示通过消除小型集群。这些集群是由固定顶点指数为2.75。
图中的节点描述co-cited引用时,节点的大小代表了被引用的项目数量,即。节点规模越大,越高将该项目引用的数量。结果,这个节点影响显著的影响因子的杂志上发表。节点的大型圆形描述参考已然破灭,最终反映出研究热点在不同的时间间隔。网络中的边缘是co-citation链接,而不同颜色的链接反映了第一次和最新的引用。从数据得出结论3- - - - - -5研究在测试用例选择在软件工程领域吸引了许多研究者从不同的学术和研究机构在全球范围内。此外,它还描述了,为这一领域的研究还没有执行,没有涉及的其他方法领域。
例如,集群之间的边缘观察选择“测试”和“有效的测试用例选择”描绘的域的测试选择可以简易有效的方法使用机器学习和人工智能的算法。一些较小的节点值,如“回归测试用例”,“测试用例选择方法,”和“自适应随机测试”是关键的重要性而搜索同样的研究文章。此外,这些小集群最有可能成为热门话题在不久的将来在软件测试领域。
在表2完成信息的6大集群描述软件测试在软件工程的研究。集群屈指可数的顺时针方向如图3。如前所述,集群的大小反映了最终的引用数量指的是热点地位,而集群计算相似度的测量由互信息(MI)之间共享的集群。出版物的平均数量显示在时间跨度上缩放、代表,最近发表的论文将出现在前面,表明在集群中的新兴趋势。
它是描述表2等集群“测试选择,2011,”“数据挖掘,2011,““quality-aware测试用例优先级、2017”和“2020年持续集成,”结论的关键软件测试相关研究的热点地区使用不同的方法包括人工智能(AI)和机器学习(ML)软件工程领域的应用。此外,它也注意到,最近的趋势是行使在软件测试领域的多个测试标准,2018年,““基于风险的测试,2020年”和“cost-cognizant 2020。”
在过去3年,研究社区表现出明显的兴趣采用机器学习的概念k均值聚类、回归分析和决策树预测动态研究方法的类型用于检索文档。这种类型的研究发现在“持续集成,2020,”文章。
方差的趋势的变化模式与软件测试相关的研究观察到这些年来证明结构变化成为一个持续的趋势应用软件工程与人工智能算法的出现。
3.1。破裂的引用作为一个指标
越来越多的引用一个特定的研究对象代表了其动态特性,最终反映的声誉的期刊发表。这种特性也称为“破裂引用”中提到的表1。它帮助研究团体发散他们的注意力转移到相关的研究文章基于各自的破裂参考图。
为了密切关注最近的和重要的研究领域特定的一些领域,我们利用跟踪过程及时跟踪进展趋势参考。这个活动有助于发现破裂强度的持续时间在一个特定的时间提取突出特性,在分配中发挥关键作用的研究对象。在图6,我们描述的结构和操作修改,不断的干预AI-assisted算法在软件测试过程中。也观察到中发挥了关键作用的人工智能算法和框架生成有效的自2013年以来,软件回归测试结果。从文献认为,大部分的研究兴趣使用现代的机器学习算法(ML)在2013年和2014年以来,传统方法在处理高维数据未能从庞大的数据中提取关键特性。实验表明,ML -和基于ai模型优于传统的方法在执行软件测试在单元级别。前8有重大破裂的研究对象引用值如图6,描述了导致一些不言而喻的方式捕获的研究热点和演化趋势在最近人工智能应用软件测试的研究。
很明显从图6这些研究对象的质量完全取决于数据挖掘和机器学习技术的人工智能应用软件工程,自2014年以来,吸引了许多研究人员。在这些研究文章,前两篇文章排名在2019年底和2020年初。这些文章的作者还建议使用Weka和Python库来执行一个全面和严格的一系列实验使用机器学习过程进行预处理,然后进行分类测试用例的基础上设定的标准。这些工具也能够快速应用程序开发和比较结果和先进的方法研究新的数据集。
4所示。角色关键词的共现网络和关键字
这是一种常见的观察,这两个字是潜在的重要的和相关的,如果他们同时出现在某些文档相同的顺序。网络代表同现关键词或潜在的重要指示能够显示紧急和重要和关键术语的重要性在一个研究领域。此外,这个网络也有助于说明热点和最近的趋势在一个特定的域(18,19]。图7描绘了时区映射的同现网络最近引人注目在软件测试工作。
在图7,同现网络描述了271年关键术语所代表的节点有超过1800的链接显示有力地构建关键词之间的联系,主要是用于文章发表在2007年和2020年之间。节点的大小表明这个词频繁出现在边缘同现的链接,线的颜色的变化描述了先锋连接,和厚度同现强度对应的链接。图7也表明,在最近的研究热点包括人工智能软件工程领域的时间间隔的2009 - 2020年涉及以下方面:“测试套件选择,”“测试用例的选择,”“测试用例排序,”“软件测试”,测试用例优先级,“减少测试用例”,“k——集群”、“机器学习模型”,“单元测试,”“回归测试,”“高维数据,”“故障检测,”“代码覆盖率,”“执行成本,”“模式匹配,”和“突变”测试。
4.1。在双重叠加网络映射指标
另外两个重要的映射也画在覆盖模式CiteSpace V桥梁之间的差距地图生成的程序(即覆盖)的地图描绘的基本知识称为基础层。基本层与一些出版的信息学科期刊引证报告中列出(JCR)。它有助于在检测期刊指标的变化在一个非常严格和全面的方式。
在图8基本映射网络使用所提供的资料表明,生成(s)在一个特定的杂志上发表更多的引用。CiteSpace能力足以支持这些映射的可视化通过相同的接口。发表的文章数量在一个特定的期刊是前面提到的每个期刊名称。期刊和学术之间的边缘学科,不同的颜色显示cite-in信息和cite-out发生。总之,图8表示关键学科和重要期刊的研究人员在软件测试领域工作使用的方法包括毫升和人工智能。
4.2。最热门学科和重点期刊
图8表明,《华尔街日报》“IEEE软件工程”做一个红色的集群(中间的网络)是一种重要的期刊,覆盖最热门学科领域的软件测试。此外,下面的研究和科学学科相关研究中也发挥了关键作用:“web服务、计算机网络、原子规则和基于网络的软件。“总之,得出基于ai算法发挥关键作用以及其他方法,执行软件测试在单元级别上。此外,这些算法提供了一个深入的使用统计软件测试和应用数学模型,也帮助增加杂志引用(或文章)。
4.3。国家的影响
在图9,一个国家合作网络显示合作国家在软件测试在2007年和2020年之间。很明显,只有三个世界各国正从世界其他地区贡献超过90%。其中,美国是764的出版物。这是一个有趣的事实,其他一些地区和国家的贡献在相对百分比很低。
4.4。作者的贡献
的关键指标之一,设计一个综合系统的评估是利用,不能成为合作作者信息中检索到的文献与一些特定的领域。相同类型的共同创作网络中描述了在这一领域10通过使用VOSviewer生成。它是观察到的最小数量的出版物12405作者,只有695出版物满足上述标准。
地图分析集群级别的合著者检测到有12颜色集群变体。最重要的集群,”陈Tsong Yueh,”海绿色的左边所示,显示54 109年与267年发表的文章引用和链接的力量。第二个最重要的集群“Cai开元”所示浅绿色与124年54篇文章引用和链接37的力量。度较高的作者中心更中心的网络结构和往往有更大的能力来影响他人。共同创作的分析表明,大部分的作者关于软件测试的文件相互紧密连接的协作和引用。
古典和基于ai的应用软件回归测试方法吸引了相当数量的研究全球社区;具体来说,机构来自美国,中国和印度成为增长和知名机构与其他地区相比。图9描绘了美国是著名的其他地区和人口与其他国家的研究回归测试应用软件工程与出版物最多的654篇文章。大陆而言,亚洲研究所主导研究软件回归测试。同样,图中显示,“IEEE软件工程”是一个顶尖的研究期刊共有649发表文章相关的回归测试。
检索到的数据我们平台描述了论文发表和被引用的数量回归测试近年来迅速增长。如前所述,总部机构严重连接方面的期刊和协作。《信息和软件技术排名第二,604篇文章,它分布在全球包括17个国家包括法国和荷兰。对于作者,人物10表明陈Tsong Yueh是作者之一是高度活跃在合作研究活动。
值得注意的是根据期刊引证报告(JCR)在2020年发表的文章的作者在我们的论文讨论了研究文章在2017年到2019年,比例为0.56,而生产率的研究文章从同一作者分别为0.43,0.35和0.28,分别在2007 - 2008年,2001 - 2011,和2012 - 2013。
4.5。革命性变化的回归测试基于ai的干预方法
下面的指示点显示基本结构的变化,出现了基于ai的出现在回归测试方法:(1)根据指示co-cited参考网络提供的参考表1在回归测试,最初的研究主要集中在基本的指标包括代码覆盖率和执行时间单独的测试用例,完全取决于提供的数据以前执行的过程。近年来,在机器学习和深度的影响网络,回归测试的研究引发了下一个新的水平代表的新方面考虑到训练数据的测试过程。科学文献的主题模式随着时间的推移,表明不同的结构性变化领域以来基于ai算法比传统的方法不同。(2)在图7的时区地图同现关键词网络表明从2007年到2010年,大部分的文学传统和基于ai的方法在软件回归测试反映在以下关键词:“系统”,“回归测试,”“单元测试”“模型检查,”“机器学习”,“分类”和“k——集群”。(3)时间轴的地图同现关键词网络(见图7)显示了结构性变化在软件工程领域的回归测试。很明显,“测试用例优先级”是最早研究和“规范”的起点。此外,“失败”热点”变质测试”推动了“人工神经网络的出现。“发散方向曲线的计算成本”和“遗传算法”表明它生下了今天的智能研究回归测试。
5。结论和讨论
本文在软件测试领域值得注意的贡献是通过考虑不同的可视化方面的研究如co-cited参考网络分析、同现关键词网络分析,参考分析,等等。此外,最近的热点和发展的发展回归测试使用传统和现代人工智能方法是公认的非常严格和全面的方法。此外,全球研究社区的参与也突出显示。
本文在文献回顾,可以看出大部分的选择方法重点关注一些特定的应用软件领域,限制我们的努力在检索任何重要的证据来分析和评估方法的优势和优势。一些相关的主题为未来的作品(1)评估选择调查方法和指标在不同的上下文中来证明其有效性,效率、适用性、可伸缩性;(2)开发选择方法可以扩展到不同的软件领域;和(3)开发框架或工具来支持测试用例的选择。此外,在分析实证结果中生成实验报告在文献中,得出结论,大部分工作是在软件开发的人员执行,由它们作为小分类。分析和验证结果在测试用例选择实验中仍然是有限的。尽管可用性的重要来源,如爵士和自由软件基金会,有必要扩大实验的规模,应用程序(例如,工业用),和软件复杂性,复制研究使用不同的测试套件可以揭示不同模式的有效性和效率,以及帮助证明提出的选择方法的可行性和适用性。
6。局限性和未来的工作
虽然我们核心收集被选为该研究的数据来源,我们可能错过了一些重要的研究出版物AI和传统方法在软件回归分析和测试。确保数据质量高,本研究从合作伙伴数据库选择的文章,也可能让我们忽略一些重要的研究成果(如,书籍,博士论文,和SSCI数据库)。
此外,“每片100强”设置为标准数据提取使用CiteSpace V可能有一些不同的影响分析相比,其他部分的价值。在未来,我们将进行详细的分析研究某些基因和深度学习应用程序启动之前的确认和验证开发的软件或移交到客户。此外,我们还计划使用一个潜在狄利克雷分配(LDA)模型在未来用于文本聚类。我们计划扩展分析运行的被引用次数之间的相关性对主研究的数量和质量措施的二次研究。我们甚至可以建立一个回归模型预测引用二次研究。
数据可用性
使用的数据来支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突。
确认
我们承认学院计算机科学和信息技术的支持,马来西亚Tun侯赛因Onn大学(UTHM),马来西亚。