没有合适的资源?快使用搜索试试~ 我知道了~
组合测试:SCIPOG:种子和约束支持的组合t路测试生成策略分析
制作和主办:Elsevier沙特国王大学学报SCIPOG:IPOG策略中支持种子和约束的组合t路测试生成最优测试用例Aminu Aminu Muazua,b,Ahmad Sobri Hashima,Aliza Sarlana,Mujaheed Abdullahiaa马来西亚国家石油技术大学科学与信息技术学院计算机信息科学系b尼日利亚卡齐纳Umaru Musa Yar'adua大学自然和应用科学学院计算机科学系阿提奇莱因福奥文章历史记录:2022年8月25日收到2022年10月24日修订2022年11月18日接受2022年11月24日网上发售关键词:组合测试测试用例一次一参数法约束A B S T R A C T组合t路技术是一种有效的测试数据生成技术,可以有效地解决组合爆炸问题.在构造测试用例时,大量文献将t-way策略分为两种基本方法:一次一个测试方法(One-test-at-a-time approach,OTAT)和一次一个参数方法(One-parameter-at-a-time approach,OPAT)。在创建测试用例时,至少会遇到三个主要的挑战组。第一个是提供参数播种支持,这将提高软件质量。第二步涉及自动获取有关参数约束的数据并识别系统组件之间的交互。最后一个是执行速度和测试套件大小。然而,在所有现有的OPATt-路策略中,假设系统加载有该信息,则测试当今的软件系统变得困难或不可能。本文提出了一种有效的组合t-路测试用例生成策略--SCIPOG(Seeding and Constraint support in In-Parameter-Order Generalized),以发展一种改进的配对测试方法。然而,该研究探讨了目前的国家的最先进的,并比较了几个OPAT的策略在文献中发现。此外,实验-iments作为这个过程的一部分,以证明实施的正确性进行了讨论。当对结果进行统计分析时,进行了两项非参数检验-Wilcoxon秩和Friedman检验。然而,SCIPOG产生了具有竞争力的结果。最后,通过SCIPOG实验验证了IPOG策略中种子和约束支持两种方法版权所有©2022作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍当今的软件系统操作大量具有不同设置的各种配置(即,参数的数量和它们的值),在测试期间必须考虑这些配置(Nasser等人,2016; Rafi等人, 2022年)。这些软件系统由具有单独关联程序的互连组件的网络组成,而不是具有单独程序的单独组件。不同的系统组件协同工作,提供一个大型的核心功能集,关系,从而形成一个单一的集成高配置性软件系统(Manchala&Bisi,2022; Yan等人,2022年)。改变任何组件的配置都会影响系统的整体功能(Ahmed等人,2022年)。因此,评估这样的软件系统需要测试所有组件以覆盖所有测试场景(即,详尽的测试)。回想一下,由于时间、精力、劳动力、成本和资源限制等变量,很难评估高度可变的软件系统(如大型工业应用程序、电子商务系统或教育系统)的每种可想象的配置因此,采样策略是*通讯作者。电子邮件地址:aminu. umyu.edu.ng(A.Aminu Muazu),sobri. utp.edu.my(A.Sobri Hashim),aliza_sarlan@utp.edu.my(A.Sarlan),abdulla-hi_18001208@utp.edu.my(M. Abdullahi)。沙特国王大学负责同行审查https://doi.org/10.1016/j.jksuci.2022.11.0101319-1578/©2022作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comA. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报186需要将测试集分成可管理的部分(Ali等人,2021;Aminu Muazu&Aminu Muazu,2018 b)。测试用例是在软件测试期间执行的一组条件,以验证给定软件配置系统的功能(Ji等人,2022; Khamprapai等人,2021;Prasad等人,2022年)。组合爆炸问题是该领域的一个挑战,其目的是确定将覆盖给定交互强度的所有组合的最佳测试套件(Din& Zamli,2021; Muazu等人,2022年)。最早的测试技术(如等价划分、类别划分和领域测试)在(Grindal)中提到例如,2004; ZahirAhmad等人,2022),并且基于这样的思想:在假设相同子集中的所有点产生来自测试对象的类似行为的情况下,可以将测试对象的输入空间划分为子集(即,称为分区测试)。在随机测试中,测试用例是从输入分布(如均匀分布)中随机选择的,不参考规范或先前选择的测试用例。这意味着以前有软件测试的方法然而,许多学者目前正专注于建立一个最佳的策略,使用的方法被称为组合测试。这种组合测试旨在发现由参数值之间的相互作用引起的缺陷(Balogun等人,2022年)。因此,组合测试可以减少计划的成本和时间,同时还可以提高来自各种配置系统的软件测试的有效性(Zamli等人,2016; Zheng例如,2019年)。T方式是一种组合测试技术,其基于给定的交互强度最小化来自配置系统的测试用例,以覆盖参数值的所有可能组合(Esfandyari& Rafe , 2020; Maung Htay 等人,2021 a,2021 b)。t路技术,其中t代表Interaction在提供抽样测试结果方面享有盛誉然而,研究人员将t路策略分为OTAT和OPAT方法(Alsewari等人,2020年)。因此,这些OPATt-way测试策略都没有被部署来支持种子和约束,以分别提高软件质量和生成最优的测试套件应当理解,采样的测试数据可能包含一些不可能或不期望的组合。因此,需要坚持约束支持。类似地,可能存在必须使用的一组组合因此,还需要坚持提供卫星支持。种子支持将允许用户建立一组测试必须满足的边界,因此,它将提高软件的质量。在测试生成过程中,将考虑规定的限制,从而生成仅包含满足这些要求的测试的测试集合。另一方面,由于某些组合根据域语义是无效的并且必须从结果测试集中消除的可能性,测试套件大小将变得最优。重新认识到种子和约束的重要性,我们提出了一种新的OPATt-way测试策略SCIPOG,它是有效的,以及结合种子和约束支持机制。此外,各种各样的实验进行了讨论,作为这个过程的一部分,以证明是否正确的实施。以下是本文结构的细目第2节介绍了覆盖数组的表示法,第3节介绍了组合t-way测试,第4节 介 绍 了 相 关 工 作 的 文 献 综 述 , 第 5 节 详 细 介 绍 了 新 的 策 略SCIPOG,第6节展示了基准测试结果和实验讨论,第7节指出了本研究工作中对有效性的威胁。最后,第8节是结论。2. 背景研究在本节中,我们讨论了我们的研究领域的背景,包括数学覆盖数组符号和组合t-路测试技术。2.1. 覆盖数组表示法覆盖数组(CA)符号可用于在数学上抽象t路交互测试套件(AminuMuazu等人,2022; Zamli Ahmed,2011)。CA通常包括四个变量:Z,t,x和y作为CA(Z; t,yx)。符号Z、x、y和t分别表示CA的测试套件大小、参数数量、值和交互强度。CA(32; 3,36)显示,例如,32个测试用例的测试大小覆盖3向交互对于具有6个3值参数的系统。根据(Aminu Muazu等人,2022; Zamli &Ahmed,2011)混合覆盖阵列(MCA)类似于CA,因为它有三个变量:Z,t和配置W作为MCA(Z; t,W)。除了与CA中相同意义的Z和t之外,MCA还增加了一个额外的变量W。根据前面的符号,W以以下方式表示每个配置的参数和值:y 1 x 1,y 2 x 2,y 3 x 3,. . ,yn xn,其指示对于x1个参数存在y1个值,对于x2个参数存在y2个值,对于x3个 参 数存在y3个值,等等MCA(102; 3,52 42 32)示出了例如102个测试用例的测试大小,其覆盖具有6个参数的系统的3向交互:2个5值参数、2个4值参数和2个3值参数。建立了一个称为种子(S)交互作用的新变量,用于描述CA(Z,t,yx,S)或MCA(Z,t,W,S)最终测试套件中允许的交互作用集。在序列列表中,S采用Si,j的形式,其中i表示第x个参数,j表示第y个值。以CA(13,3,34,S)为例,其中S=S1,1,S2,2,S3,1. CA显示4个3值参数的3向交互作用的测试大小为13,其中序列对交互作用分量来自参数1和值1、参数2和值2以及参数3和值1。此外,还建立了一个名为排除(E)交互作用的变量来描述CA(Z,t,yx,E)或MCA(Z,t,W,E)的排除交互作用集。在约束列表中,E采用Ei,j的形式,其中i表示第x个参数,j表示第y个值。以CA(10,2,33,E)为例,其中E=E1,1,E3,1. CA显示3个3值参数的成对交互作用的测试大小为10,其中约束对交互作用分量来自参数1和值1以及参数3和值1。2.2. 组合t-路测试本文介绍了组合t-路技术,并在OPAT方法的基础上,采用IPOG-Test算法生成测试用例。然而,在组合t路测试中,当构造测试用例时, 大量文 献( Aminu Muazu 等人 , 2022; Htay , Othman ,&Amir,2021)将t-way策略分为两种基本方法。这些方法是OTAT和OPAT。OTAT方法最初从一个空的测试套件开始,然后逐渐用一个接一个的测试用例填充。这个过程一直持续到包含了整个测试用例集在最后的测试套件中。每次在OTAT中选择一个测试用例,它将被包含在最终的测试套件中;这个过程被称为垂直扩展。各种研究已经提到自动高效测试生 成 器 AETG ( Cohen 等 人 , 1997 ) 是 采 用 OTAT 策 略 的 先 驱( Alazzawi& Basri , 2020; Hassan 等 人 ,2022 年 ) 。根 据(Alsewari et al., 2020),OTAT战略A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报187主要分为三种类型,它们是:(1)基于迭代的OTAT策略:这类策略通过迭代产生测试用例。这些策略的实例包括GTWay(Zamli等人,2011)、智能测试用例生成(ITCH)(Othman Zamli,2011)等。(2)基于人工生命的策略:这类策略采用人工生命过程生成测试用例。采用蚁群算法(ACA)的策略(Ramli等人,2021),遗传算法(GA)(Esfandyari& Rafe,2018)等被认为是基于人工生命的。(3)基于启发式的策略:这些类型的策略通过启发式过程产生测试用例。采用模拟退火(SA)的策略(Rahman等人,2015)、Harmony Search(HS)(Alsewari等人,2020年),等等,被认为是基于地理学的。许多研究者在发展OTAT策略方面投入了大量的精力,而在发展OPAT策略方面投入的精力很少。另一方面,OPAT方法从初始测试一次一个地设置和添加参数,直到测试完所有参数(这称为水平扩展)。完成后,可能需要添加某些测试用例(这被称为垂直扩展),以确保完整的交互覆盖(Htay,Othman,Amir等人,2021年)。参数内订单(IPO)被认为是采用OPAT的策略的首选(Younis,2020)。然而,IPOG策略结合了IPO的所有横向和纵向算法,因此,它主要用于OPAT的t路策略。该算法如图所示。一 曰:让我们使用一个案例研究的配置系统与三个参数,以证明使用OPAT方法采用IPOG-Test算法的测试集的生成。这些参数是F、G和H,分别具有2、2和3个值,如图2所示。首先应用水平增长算法,然后应用垂直增长算法(如果需要)。我们首先存储前两个参数的对(即, F和G)在最终的测试套件,如图所示。3.第三章。之后,我们有:然后,我们扩展我们的测试,在最终的测试套件使用水平增长算法。这里,水平增长算法将采用下一个参数(即,参数H)。请注意,参数H包含三个值(h1、h2和h3),每个值将分别逐个附加到现有测试对,如图4所示。在此之后,我们有以下内容:存在未覆盖的对:f1 h3,g1 h2,g2 h1,g2 h3,f2 h1和f2 h2。下一步是获取下一个参数(如果有的话),并通过将每个值分配给不同的测试并观察未覆盖的配对来扩展最终测试套件中的测试但是,就目前而言,没有参数。然后,我们用以下参数H中的任何值填充未完成的测试f2 g2(即,h1,h2,或h3),我们有:● 如果我们选择h1,扩展测试将是f2 g2 h1,并将包括两个缺失的配对(剩余四个未覆盖的配对:f1 h3,g1 h2,g2 h3和f2 h2)。● 如果选择h2,则扩展测试将为f2 g2 h2,并且它将仅覆盖一个对(其余五个未覆盖的对:f1 h3、g1 h2、g2 h1、g2 h3和f2 h1)。● 如果选择h3,则扩展测试将为f2 g2 h3,并且它将仅覆盖一个对(其余五个未覆盖的对:f1 h3、g1 h2、g2 h1、f2 h1和f2 h2)。值得注意的是,如果我们选择h2或h3,则选择h1允许我们只有四个未覆盖的对,而不是五个未覆盖的对。因此,在最终的测试套件中,我们使用h1值并扩展了f2 g2测试,如图5所示。之后,我们有:最终的测试套件现在有四个测试用例,它们都有四个未覆盖的对:f1 h3,g1 h2,g2 h3和f2 h2。使用垂直增长,我们必须创建一个覆盖所有四个缺失配对的测试。怎么--Fig. 1. IPOG-Test算法(Lei等人, 2007年)。有时,我们可以使用垂直增长算法来填补水平增长的空白。为了用垂直增长算法覆盖f1 h3缺失对,需要生成f1h3。为了用垂直增长算法覆盖g1 h2缺失对,需要生成g1 h2。为了用垂直增长算法覆盖G2H3缺失对,我们不需要生成,而是将F1H3转换为F1G2H3并添加到最终的测试集。为了用垂直增长算法覆盖f2h2缺失对,我们不需要生成,而是将g1h2修改为f1g1h2添加到最终的测试集。 然后,最终的测试套件包括六个测试用例,如图所示。第六章:因此,我们可以看到OPAT方法如何通过逐渐增加每个参数的值来生成测试用例。此外,测试用例的数量从12个减少到6个,这是一个显著的改进(即,50%)。图二.参数值表示的图示。图三. 存储前两个参数的图示。A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报188见图4。 存储前两个参数的图示。3. 相关作品关于t路测试策略的文献是广泛的; OTAT方法的示例包括AETG(Cohen等人, 1997)、TTG(Sharif等人,2012年)及其他。然而,另一方面,AETG和TTG(OTATt-way策略)的作者指出,他们的系统可以处理约束和播种,但不能生成最小测试集。最近引入了一些OTATt-方式策略,例如已知的杂交人工蜂群。作为HABC,它基于人工蜂群算法和实际群优化的组合(Alazzawi Basri,2020)。实现HABC以支持交互强度高达6的可变交互强度。此外,作者证明了HABC策略比比较策略获得了76.31%的良好被称为GSTG的引力搜索测试生成器被嵌入在引力搜索算法中以生成最佳测试套件(Maung Htay等人,2021 a,2021 b)。GSTG支持统一的交互强度,交互强度最高可达10。被称为VS-TACO的蚁群优化的调谐版本被实现以支持可变交互强度(Zahir Ahmad等人,2022年)使用交互强度高达4。然而,OPAT t-way策略包括IPO(Tai &Lei,2002)、IPOG(Lei等人,2007)、OPAT-HS(Alsewari等人, 2018年)及其他。2002年,雷台公司提出并实施了首次公开发行股票(Tai&Lei,2002)。IPO是第一个采用OPAT方法的两两策略,它只能用于超过一个参数。IPO的主要原理是为前两个参数创建一个成对测试集,然后扩展测试集为前三个参数创建一个成对测试集,依此类推,直到最后一个参数。在任何时候添加一个参数/测试用例时,都可以注意到两个不同的增长。 因此图五.展开未覆盖对的图示。图六、覆盖缺失对后的最终测试套件图示根据作者(Tai Lei,2002),当下一个参数被添加到当前参数时,扩展处于以下两种增长中:(1)水平增长:这种增长发生在任何时候增加一个新参数的值(2)垂直增长:这种增长发生在任何时候,如果需要添加新的测试用例,它发生在水平增长完成之后。泰磊已经开发出了一种横向增长和纵向增长的算法IPO的实现只支持两两交互。最近,Tai Lei开发了一个基于IPO的测试生成工具,称为PairTest。PairTest包含两种算法(水平和垂直),可用于为软件系统配置生成测试集由于PairTest是用Java语言开发的,因此它可以在不同的平台上运行,在2007年,Lie等人(Lei等人,2007)推广了现有的战略IPO;在一个战略中结合了所有的横向和纵向算法。然而,他们的努力所产生的战略被称为IPOG。他们所做的主要推广努力是接受参数值组合数量的组合t-方式增长。这将提供最佳的测试大小和快速的执行时间(Lei等人,2007年)。作为他们努力的一部分,他们描述了一个名为FireEye的t -way 测 试 工 具 , 该 工 具 使 用 IPOG-Test 和 IPOG-D-Test ( Lei 等 人 ,2008)算法以支持多路组合。在很短的时间内,已经实现了一些变体来改 进 称 为 IPOG-D 的 IPOG ( Lei 等 人 , 2008 ) 、 IPOF1 和 IPOF2(Michael等人, 2008年)。2007年,Wang等人(Wang Ziyuan et al.,2007)分别提出了支持输入输出关系和可变交互强度的ReqOr- der和ParaOrder策略。这些策略是通过检查联合算法的弱点(即测试套件大小总是很大)而提出的,这是因为在生成的测试套件的大小中考虑了“不关心”的值因此,最终的测试套件变得多余。ReqOrder的思想是,对于给定的任何交互关系,例如:F= {f1,f2,... . ,ft},这里按覆盖需求顺序生成测试用例集的算法大多选择第一个需求。然后扩展这个测试集,直到所有的需求都被选中.而ParaOrder的思想是,当用测试生成算法生成最终的测试集时,它首先考虑该配置的一个具有较少因子的子系统,然后用一个新的因子将测试集从该配置扩展到选定的子系统中,得到一个新的子系统的测试集,直到所有的子系统都完成。2008年,Michael et al. (Michael等人, 2008年,提出完善-探讨了水平增长和垂直增长算法在IPO中的重要作用,特别是通过扩大水平增长算法的搜索空间本文提出了两种算法,并分别用IPO0和IPO00实现.这些实现分别作为IPOF1和IPOF2集成到FireEye然而,这两个版本的水平增长算法使用的随机化方法,打破债券的贪婪选择。它表明,在这项努力中,所得的覆盖阵列小了近5%2008年,Younis et al. 提出了MIPOG策略,该策略可以产生有用的高阶t路测试集(Younis等人,2008年a)。然而,对于水平扩展,MIPOG策略检查所有输入参数值并选择具有未覆盖元组的最多组合的一个,而在垂直扩展期间,它以递减的顺序大小重新排列涉及参数的值的t路组合的集合,然后从排列的集合中选择第一元组并将其与集合中的此外,作者(Younis等人,2008 b),还提出了一个基于网格的策略,用于生成一个t路测试集,A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报189这一年被称为G_MIPOG。这里所做的努力是改进和修改MIPOG战略,使其在全球资源信息数据库上运行G_MIPOG策略将计算和内存过程划分为多个部分;每个参数必须保存在相对独立的单元格中,称为worklet;因此,内存必须分散。然后是通过增加计算机作为计算节点,G_MIPOG结果与IPOG和MIPOG策略相比具有很好的扩展性。2009年,Andrea和Angelo(Calvagna Gargantini,2009)基于组合测试套件的对称性开发了一种IPOS策略。在这项工作中所做的努力是建立一个函数称为递归的pair-recover函数,创建一些丢失的对时,通过IPO生成测试用例。作者描述了IPO已成为原型工具,并已用于一系列比较基准测试任务,以衡量其战略的绩效。在这些任务中包括BBS,它被描述为基本电话计费系统的模型。TCAS系统通常被称为交通防撞系统。巡航控制系统被描述为巡航控制。移动电话系统规定了移动电话产品。SPIN模型用作验证的模拟器,以检查给定规范的属性。最后,GCC任务支持不同的计算机语言,如C、C++和Java。2009年,Cui等人,(Cui等人,2009)提出了参数内序的变体(VIPO)。VIPO使用不同的贪婪构造算法(以及水平和垂直算法)来构造每个具有IPO的测试用例进行成对测试。VIPO也会进行横向增长和纵向增长,但VIPO进行横向增长的方式与IPO不同在VIPO的水平增长中,直接扩展前两个因此,它避免了在确保最大覆盖的同时选择最大数量的值组合的时间。然而,对于垂直增长,VIPO的表现与IPO相同在包括IPO在内的大多数情况下,VIPO2010年,Younis和Zamli提出了MC-MIPOG策略(多核修改输入参数顺序)(Younis Zamli,2010)。MC-MIPOG被定义为多核架构t路测试的并行策略。它被实现为支持统一的交互强度,交互强度高达12。与原型(MIPOG)模型相比,MC-MIPOG采用了一种革命性的方法来开发多核系统,降低了控制和数据的依赖性,保证了多核系统的连接。然而,作者证明了MC-MIPOG在生成最优测试集方面比其他现有策略表现更好。2013年,Yu et al. 提出了一种新的策略(高级组合测试系统)(Yu等人,2013年)。IPOG结合了IPOG策略及其所有变体,用于生成可用于更大系统的组合测试用例因此,它在测试套件大小和执行时间之间提供了一个很好的基选择测试是一种单向测试,它提供了复杂的功能,如混合强度(统一的相互作用强度)的测试用例生成和支持约束。2013年,N-IPO代表由Gupta和Rana实施的Novel IPO(GuptaRana,2013)。N-IPO通过使用Fibonacci方法进行约束测试来改进IPO策略作者指出,在N-IPO策略中,每一个下一项都是前两项的相加,如果发现错误,它可能在两个域中的一个域中是已知的,因此这些域将被适当地测试。此外,N-IPO被指定为一个混合模型,包括IPO策略,边界值分析,斐波那契级数和伪递归方法的优点在N的末尾-IPO的实证结果表明,该策略是非常有效的,它减少了63%的测试用例生成的常规成对策略测试用例。在2013年,Zainal等人开发了TS_OP策略(Soh等人,2013年)。TS_OP是在工作站网络上利用元组空间技术,利用Map和Reduce技术实现的一种分布式t-way策略。TS_OP实现为支持统一的交互强度,交互强度最高可达6。TS_OP在五个不同的环境中运行,获得的结果不相同,因此它被归类为非确定性策略。然而,与现有的OPAT策略的结果进行了比较,结果是有竞争力的,只有在两种情况下。2014年,世伟&江华(Gao et al.,2014)提出并实现了基于IPOG的通用优化策略。在为下一个参数的扩展选择值时,此策略侧重于水平增长。它还填充了“无关紧要”位置的值根据他们的实验结果(Gao等人,2014年),该策略产生了一个最佳测试特别是在参数域增加的情况下。因此,Gao等人对IPO进行了另一种修改以解决参数值的频率(Gao等人,2015年)。这种修改是为了减少从t-路交互中发现的错误的数量,通过研究两种算法(水平增长和垂直增长)。实现后,测试集的规模减小,当参数数量较大时,缺陷识别率平均提高了31%。2018 年 , Aminu 等 人 提 出 并 实 施 了 HCATS ( Aminu MuazuAminu Muazu,2018 a)。HCATS是第一个采用IPOG方法的基于元分析的t路策略。在HCATS中所做的努力是降低测试集的大小,因此,嵌入和声搜索算法。HCATS旨在对HSS(Alsewari Zamli,2012)进行一些修改,以便在生成测试用例时接受OPAT方法。然而,HCATS支持CA数学覆盖数组符号,统一的相互作用强度与相互作用强度高达2。2018年,Alsewari等人提出了OPAT-HS(Alsewari等人,2018年)作为HCATS策略的修改,以支持t-路的统一相互作用强度高达3,在数学覆盖阵列CA MCA数学覆盖阵列符号中。OPAT-HS是基于一个元启发式称为和声搜索算法。在OPAT-HS中,与其他搜索引擎不同的是,搜索引擎都即兴发挥了十次,以选择最佳的测试用例。将OPAT-HS与一些现有的t-way策略进行了比较,OPAT-HS在大多数情况下优于所有其他策略,因为大多数时候它似乎是最好的或第二好的。2020年,GAMIPOG被提出并实施(Younis,2020)。GAMIPOG是一种基于遗传算法和MIPOG算法的混合策略。GAMIPOG是MIPOG的垂直和水平增长的集成,GAMIPOG被认为是一种确定性策略,并且是第一个实现的基于OPAT元分析的t-路策略,以支持交互强度高达15的可变交互强度2020年Aminu和Umar提出并实现了PWiseHA(Aminu MuazuDanjuma Maiwada,2020),它结合了两种OPATt-way策略(即HCATS和OPAT- HS)的特征;在构建测试用例时具有不同的和声搜索参数设置与HCATS和OPAT-HS不同,PWiseHA仅使用一种算法作为支持的关键引擎来A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报190表1分析现有的OPATt-way策略。策略作者组合实力支持交互种子设定约束t = 2 t≤3 t≤4 t≤6 t≥7均匀变量IORIPOIPOG(Tai Lei,2002)(Lei等人,(2007年)YSYSNSYSNSYSNSYSNSYSYSYSNSNSNSNSNSNSNSNS申请订单(王子元等,(2007年)YSYSNSNSNSNSNSYSNSNSParaOrderYSYSNSNSNSNSNSYSNSNS行为(Yu等人, 2013年度)YSYSYSYSNSNANANANSYSMIPOG(Younis等人,2008年a)YSYSYSYSYSYSNSNSNSNS公司简介YSYSYSYSYSYSNSNSNSNSMC-MIPOG(尤尼斯·扎姆利,2010年)YSYSYSYSYSYSNSNSNSNSGamipog(Younis,2020)YSYSYSYSYSNSYSNSNSNSIPOS(Calvagna Gargantini,2009年)YSNSNSNSNSYSNSNSNSNS–(S. Gao等人, 2014年度)YSNSNSNSNSYSNSNSNSNSVIPO(Cui等人,(2009年)YSNSNSNSNSYSNSNSNSNSN-IPO(古普塔·拉纳,2013年)NSYSYSNSNSNANANANSYSTS_OP(Soh等人, 2013年度)NSYSYSYSNSNANANANSNSHCATS(Aminu Muazu Aminu Muazu,2018年a)YSNSNSNSNSYSNSNSNSNSOPAT-HS(A. Alsewari等人, 2018年)YSYSNSNSNSYSNSNSNSNSPWiseHA(Aminu Muazu Danjuma Maiwada,2020)YSYSYSNSNSYSNSNSNSNSCA和MCA数学覆盖数组符号,相互作用强度一致,相互作用强度最大为4.表1给出了现有工作的结果,其中包含了对交互强度、组合强度、播种和约束支持方面的策略的分析。YS表示支持,NS表示不支持,NA表示无法从已发布的作品中获得。尽管有许多OPAT策略,种子和约束测试用例生成支持很少受到关注。另一方面,N-IPO和N-IPO是仅支持约束的策略的例子因此,我们决定使用原始的IPOG作为我们的基础方法,并进行了我们以下是我们将详细介绍SCIPOG战略的一部分。4. SCIPOG战略本节介绍SCIPOG,这是一种不同于IPOG的新策略。与其他现有的OPAT算法相比,我们努力支持种子和约束,构造一个更优的测试集,从而提供更少的测试用例,提高软件质量。SCIPOG采用了一个与IPOG非常相似的框架,但是有一个不同的方法来创建测试用例。换句话说,SCIPOG也处理水平和垂直增长,但以支持播种和参数约束(在水平扩展之前)的方式以及在实现期间解决无关值的正确方式。图图7和图8分别给出了我们提出的策略算法的流程图和伪代码。它首先产生一对参数及其值。通过计算最高可覆盖对,来自一个对的值与来自另一个对的值合并。通过这种方式,测试用例被创建并包含在最终的测试套件中。图中的流程图场景。第7节在下面的段落中介绍。第一部分定义了CA/MCA配置的输入参数然而,输入参数与相互作用的值及其强度(t)有关。第二部分是关于原始参数值到整数的转换。第三部分是一个修正案,着眼于测试用例是如何播种的。种子算法需要收集提供的测试数据,并尽快将其纳入最终的测试套件。第四部分是一个模块,着眼于约束超级-端口约束算法在最终的测试套件中一次又一次地找到满足约束在第五部分中,这一对生成了所有交互的覆盖,并基于OPAT方法列出了事实的数量,而第六部分是存储最终测试套件的最后阶段另一方面,在图8中,您现在可以看到我们的策略算法的伪代码。SCIPOG算法以一个参数集ps为输入,产生一个OPATt路最长对集l_p,然后产生最终测试集f_t_s作为最终输出。假设集合p_s有多个大于或等于2的参数。首先,SCIPOG算法统一读取CA或MCA配置的参数输入和交互强度t(第2行),然后将实际值分别映射为整数值(第3行),在第4- 6行中创建参数集p_s、最长对集l_p和测试集t_s,分别存储所有参数、生成的测试对和最终测试列表。算法将生成种子并直接放入测试集f_t_s(第9行到第14行),而第15行到第19行生成约束,存储在第8行中创建的约束列表C_1中。此外,该算法以域大小t的非递增顺序对参数进行排序,以允许实现最大覆盖(第20行),并将前t个参数添加到最长对集合l_p(第21行)。然后,该算法从前t个参数循环到n个参数,1(其中n是参数的数量)。 它通过扩展现有集(第22- 35行)为下一个参数构建测试集,与IPOG不同,SCIPOG根据交互强度t对参数进行排序,通过添加下一个参数值来扩展第一对,并检查水平增长中的约束要求(第31行到第33行)。如果满足,则将其因此,避免了不可能的参数(约束)组合,同时确保了最大覆盖然后重复运行并选择无关值,以扩展最长对l_p中的现有测试对,因此,SCIPOG评估如何为当前和以前的测试对正确使用因此,SCIPOG可以有效地避免局部最优,并找到一个更好的质量测试集。SCI-POG算法在垂直增长(第36行到第46行)中与IPOG执行类似,然而,SCIPOG在最后进行了验证(第49至58行),以查看最终测试f_t_s设置是否与播种和约束相匹配。现在,我们可以谈谈拟议中的SCIPOG战略的趋势埃吉与IPOG战略不同的是,A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报191见图7。 SCIPOG流程图工艺设计。A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报192见图8。SCIPOG算法。A. Aminu Muazu,A.Sobri Hashim,A.Sarlan等人沙特国王大学学报193≥≥≤组合根据域语义是无效的,SCI-POG在测试配置期间处理约束。因此,它们必须从结果测试集中消除。如果完成了正确的输入验证,算法将拒绝具有无效组合的测试,这可能会影响测试覆盖率。另一方面,SCI-POG策略允许用户建立一组测试必须满足的边界。在生成测试的过程中,将考虑规定的边界,从而生成一个测试集合,其中只包含使用播种方法满足这些要求的测试。5. 基准测试结果和讨论在本节中,我们将回顾SCIPOG战略实施的结果。首先,我们评估和比较SCIPOG与其他现有的战略,使用各种基准配置。然后,我们使用非参数检验在统计上验证了我们的发现。由于非参数检验用于比较两组不同条件下的有序数据。我们的SCIPOG策略是用Java编程语言实现的,运行环境是HP(B O)笔记本电脑,操作系统为Windows 10,内存为4GB,CPU为Intel(R)Core(TM)i5- 5200U@2.20 GHz。对于每个策略的测试结果,我们在所有比较中使用其最佳值我们的实验。5.1. 基准实验我们的基准测试实验的评估有五个主要目标。首先比较了SCIPOG和IPOG的性能。其次,我们比较了SCIPOG的性能对现有的OPAT的t-路策略生成的测试套件的大小。第三,我们比较了SCIPOG的性能与一些OTAT的t-路策略,支持约束。第四,我们比较了SCIPOG的性能与一些OTAT的t-路策略,支持播种和约束。最后,我们比较了SCIPOG的性能与一些t-路策略的执行时间。5.1.1. 针对IPOG的我们使用了三组实验发表的雷等。 (Lei等人, 2007)以比较SCIPOG与IPOG的行为。在这些实验中,SCIPOG和IPOG的测试尺寸以及它们的尺寸区间是一致的。值得注意的是,IPOG测试尺寸来自(Lei et al., 2007年)。在第一组中,参数的数量和它们的值是恒定的,而相互作用强度的范围从2到8;在第二组中,相互作用强度和参数值是恒定的,范围在4到5之间,而参数的数量的范围从5到15;在第三组中,参数的数量和相互作用强度是恒定的,范围在10到4之间,而值的范围从2到10。然而,表2、3和4分别说明了三组的结果。此外,我们定义的大小区间之间的差异,从SCIPOG和IPOG获得的测试集的大小此外,请注意,所有表格中的粗体单元格显示了最大的测试大小性能,而NA表示配置从表2、3和4中可以清楚地看出,在评估测试套件大小时,SCIPOG的性能优于IPOG。根据表2、3和4中的设置,SCIPOG如表2所示,当交互强度大于3并且测试套件大小间隔很大(即,≥134)。SCIPOG测试套件的大小图9中示出了针对IPOG针对10个参数实现的具有2向至7向相互作用强度中的5个值的结果。此外,表3显示,当参数数量增加(6个参数13)时,SCIPOG对4向交互的性能最佳。根据这些信息,可以得出结论,IPOG在参数数量达到14(参数14)时产生的测试用例方面将优于SCIPOG。表4进一步显示,尽管SCIPOG始终优于IPOG,但结局并不连续稳定,除了有4个或更多参数值的情况。SCIPOG测试套件大小与IPOG相比,在5到15个参数中,4向交互强度中有5个值,如图 10个。SCIPOG测试套件的大小与IPOG相比,10个参数的值范围为2到10,4路交互强度如图所示。 十一岁从积极的一面来看,SCIPOG比IPOG更有效地找到了理想的测试大小,分别如表2、3和4看来,没有一个单一的策略有一个占主导地位
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![unitypackage](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)