没有合适的资源?快使用搜索试试~ 我知道了~
基于引力搜索算法的组合t路测试集生成" - 研究文件总结.
沙特国王大学学报基于引力搜索算法的组合t路测试集生成Khin Maung Htaya,Kham,Rozmie Razif Othmana,Amiza Amirb,Jalal Mohammed Hachim Alkanaanica电子工程技术学院,马来西亚玻璃城大学,02600 Arau,玻璃城,马来西亚b马来西亚玻璃市大学高级通信工程(ACE)卓越中心,地址:01000 Kangar,Perlis,Malaysiac伊拉克巴士拉伊拉克大学学院计算机工程系阿提奇莱因福奥文章历史记录:2021年2月21日收到2021年6月1日修订2021年6月28日接受2021年7月6日在线发布关键词:组合测试T路测试套件交互测试元启发式引力搜索算法A B S T R A C T由于不同用户的需求,当代软件在输入功能方面已经变得特征丰富(即,参数)和选择(即,价值观)。就测试时间和成本而言,对复杂的软件系统进行详尽的测试是不切实际的在文献中已经提出了各种测试用例设计策略,如等价类划分,边界值分析和决策表。与早期的作品不同,组合t-路测试支持两个或更多的输入参数的相互作用所造成的故障的检测,从而有效地最大限度地减少测试套件的大小。在过去的几年里,元启发式算法似乎是最常见的选择,因为他们的有效性证明,提供最佳/接近最佳的结果。然而,生成一个t-way测试套件是一个NP难问题,没有一个单一的t-way策略可以保证显示优于其他所有类型的系统配置。因此,本文提出了一种新的t路策略的基础上的引力搜索算法(GSA),称为引力搜索测试生成器(GSTG)。本文的主要贡献是,GSA第一次适应了t-路测试数据生成。基准测试结果表明,与其他现有策略相比,GSTG在大多数系统配置中获得了有竞争力的结果,并解决了更高的组合覆盖率(即,t≤ 10)。版权所有©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY许可下的文章(http://creativecommons.org/licenses/by/4.0/)。1. 介绍在过去的十年中,软件的使用在那些将技术广泛集成到日常活动中的个人因此,开发各种类型的高级软件系统(例如,AdobePremiere Pro)导致设计、代码行(LOC)、可配置输入参数和值的数量方面软件复杂性主要涉及输入功能之间的依赖性,导致在系统中引入被定义为交互故障的错误(Kuhn等人,2010年)。虽然穷举测试可以为所有可能的参数交互生成测试用例,但由于时间和资源的限制,*通讯作者。电子邮件地址:khin@studentmail.unimap.edu.my(K. Maung Htay)。沙特国王大学负责同行审查制作和主办:Elsevier(Nie和Leung,2011)。尽管当前的测试集缩减策略在文献中可用,例如等价划分、边界值分析和因果图(Umar,2020),但是,这些策略由于相互作用而不能有效地揭示故障(Calvagna等人,2009年)。作为对上述策略的补充,组合测试已经成为用于检测由于被测系统(SUT)中的参数交互而导致的错误的替代测试策略(Othman等人,2014年)。它也被研究人员广泛称为t方式测试,其中t被称为交互强度。例如,t等于2(双向)或成对测试测试SUT中每两个参数的组合。这里,t的值可以从2变化到总参数数在整个SUT。测试用例(即,测试套件)可以至少一次覆盖所有必要的交互元素,并且测试套件大小与T交互强度数量成比例地减小。t-way测试的基本研究发现是,两个参数的相互作用经常触发软件系统中的故障,其中一些是由更高的相互作用引起的。美国国家标准与技术研究所(NIST)进行的一项实证研究表明,70至近90https://doi.org/10.1016/j.jksuci.2021.06.0201319-1578/©2021作者。由Elsevier B.V.代表沙特国王大学出版。这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comK.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4861在跨不同的系统域进行测试时,通过2到6路交互检测到10%的故障,因此,被认为是有效的测试策略(Hagar等人,2015年)。然而,另一项研究认为,测试直到t = 6对于复杂的系统是不够的,因为增加的特征可以引入需要以t > 6的相互作用强度进行测试的故障(Younis等人,2012年)。当应用组合测试时所面临的主要挑战是产生最佳测试套件,其中每个元组(即,参数与其相应值的组合)最多由一个测试用例覆盖。T路测试生成是非确定性多项式时间困难(NP-hard)问题;换句话说,参数大小的增加引起问题的计算时间和复杂性两者的增加(Yuan等人,2011年)。因此,研究人员已经实现了几种元启发式优化算法来解决这个问题。针对测试生成策略提出的算法包括粒子群优化(PSO)(Ahmed等人,2012);布谷鸟搜索(CS)(Nasser等人,2015)、Harmony Search ( HS ) ( Alsewari 等 人 ,2020 ) 、 FlowerPollution Algorithm(FPA)(Alsewari等人,2018)、人工蜂群(ABC)(Alsewari等人,2017);肾算法(KA)(Homaid等人,2018)和鲸优化算法(WOA)(Hassan等人,2020年,我想提几个。另一方面,根据没有免费的午餐(NFL)定理(亚当等人,2019),没有一种算法擅长于为所有类型的系统生成最佳测试大小,因此,为t路优化问题提出新的算法是一项开放式研究。本文提出了一种新的引力搜索算法(GSA)适应的t路测试集生成策略,称为引力搜索测试生成器(GSTG)。引力搜索算法(GSA)是一种基于种群的随机搜索算法,其灵感来自牛顿第一引力定律和第二运动定律的物理现象(Rashedite等人,2009年)。与其他优化算法相比,GSA具有稳定的收敛速度以搜索全局最优值,并且具有良好的局部最小值避免(Mirjalili等人, 2012年)。 它还具有产生具有高精度的接近最优的解决方案的高度潜力(David等人, 2013年)。 由于这些原因,GSA已被广泛应用于解决若干研究领域中的组合优化问题,包括电力工程(Mohanty等人,2020)、模式识别(Gonzalez等人,2015),通信工程(Siddique和Adeli,2016),电气工程(Jordehi,2017),以及所有领域的结果都展示了GSA的竞争力。因此,作为GSA的一个未开发的领域,利用GSA的组合测试集生成在这项研究中有两个主要的贡献。前者是基于GSA的t-way策略GSTG的设计与实现,后者是通过基准测试实验对GSTG进行性能评估。本文的其余部分分为以下几部分。第2节描述了组合t路测试的理论背景和相关的数学符号。第3介绍了现有的t-路策略的文献第4节和第5节详细介绍了引力搜索算法(GSA)及其提出的t路测试集生成的实现策略第六阐述了GSA参数的调整过程,并讨论了GSTG与现有策略的基准测试结果和统计分析。最后,第七提出了本文的结论和未来的研究方向。2. T-Way测试的理论背景为了说明t-方式交互测试的思想,Foodpanda食品配送服务公司的在线搜索系统被认为是一个假设的例子,如图所示。1.一、系统包括四个输入参数:语言选择、登录、文本/数字字符串框和发货选项。每个参数都有两个可能的值:语言选择= {English,Mandarin},登录= {是,否},文本/数字字符串框= {街道名称,地区邮政编码},运输选项= {送货,提货}。如果对该系统进行详尽测试,则需要2 * 2 * 2 * 2 = 16个测试用例组合来覆盖整个系统配置。然而,具有众多参数和值的复杂系统可能导致在处理有限的截止日期和资源时不可能处理的大量测试用例(Othman等人,2012年)。例如,一个有30个输入参数的系统,每个参数有两个选项,需要230个(即1073741824个)穷举测试列表,最终导致组合爆炸问题(Petke,2015)。出于这个原因,t-路抽样策略可以应用于最小化测试用例,从而节省时间和成本。在前面描述的示例系统中,通过应用成对t路策略,只需要16个测试用例中的6个来覆盖所有交互。图2示出了系统的成对测试套件生成。t路测试集的生成可以在数学上表示为覆盖阵列(CA)系统配置。CA提供了在特定配置大小中测试所有参数相互作用的功能,以产生最佳/接近最佳的测试套件(Rahman等人,2014年)。CA由四个参数组成,CA(N,t,vp)的形式,其中N(产生的测试用例的数量),t(交互强度),p(输入参数或变量)和v(参数的基本值或选项)。参考图2,用于示例系统的CA可以被描述为CA(6,2,24),其描绘了6个测试用例的测试套件,覆盖具有4个参数2值的双向或成对交互强度。3. 相关工作文献研究中的最新技术水平(SOTA)t-方式策略可以分为三类:代数方法、计算方法和Meta启发式方法(Nie和Leung,2011)。代数方法使用数学代数函数和预先建立的规则来构造CA测试集。因此,这种方法的计算时间通常是轻量级的,并且可以生成最佳测试套件(Younis等人,2008年)。然而,它的应用范围往往局限于小型系统配置(Yan和Zhang,2008)。TConfig(Williams,2000)是一种基于代数的递归测试用例集构造方法。计算方法主要采用贪婪技术,即每次迭代产生的新测试用例覆盖最大数量的未覆盖交互元素。计算方法使用两种测试集构造方法:一次一个参数(OPAT)和一次一个测试(OTAT)。OPAT方法以最少数量的系统参数作为初始测试用例。测试套件通过在每个迭代过程中添加一个参数来水平扩展,直到完全覆盖所有参数IPOG(Lei等人, 2007)、IPOG-D(Lei等人, 2008)和IPOF(Forbes等人,2008年)是OPAT的示例战略。相比之下,OTAT方法在所有元组首先被构建之后,每次迭代产生单个测试用例许多策略,包括那些实现元启发式算法的策略这样的策略涉及AETG(Cohen等人,1997);mAETG (Cohen等人, 2007 ),Jenny (Jenkins , 2005)和PICT(Czerwonka,2006),仅举几例。这些方法通常很难产生最佳的测试用例,尽管它们在测试大型系统配置中很有用。K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4862Fig. 1. Foodpanda送货服务搜索界面。图二、 Foodpanda搜索系统的成对测试集生成元启发式算法模仿自然现象的过程,例如模仿人类或动物的进化行为的进化算法、复制动物群体的活动的群智能算法以及模拟物理或化学定律的基于物理或化学过程的算法(Cuevas等人, 2020年)。这些算法已被广泛应用于解决工程领域中的复杂优化问题,因为它们可以在合理的时间内提供接近最优的结果相比,其他现有的技术。Meta-启发式适应t路策略通常产生最优的(即,大多数最小值)测试用例。然而,这些策略的另一面是具有过多迭代的较长测试套件生成时间,因为测试套件在每次迭代中随机生成,直到完成指定数量的迭代(Zamli等人, 2016年)。粒子群优化算法(PSO)是最早的组合测试算法。一种粒子群测试发生器(PSTG)(Ahmed等人,2012)模拟了成群鸟类寻找食物的行为。PSTG通过初始化随机数量的粒子群来生成测试集,这些粒子群被表示为测试用例,每个粒子的位置和速度。在每次迭代中,每个随机生成的测试用例都试图提高其质量通过根据当前获得的最佳测试情况来更新速度。结果,粒子移动到下一个更好的位置(即,形成下一个最佳测试用例)。执行该过程,直到满足所有终止标准在过去的五年里,引入了大量的成对元启发式策略。2015年,为测试数据生成实施了候鸟优化(MBO)(Zakaria和Zamli,2019)。目标优化策略利用不同鸟类在长距离飞行时的节能行为,通过邻域搜索来寻找最佳测试用例。利益共享机制和并行解决方案处理是管理层收购的两个显著特征。同年,另外三种算法K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4863用于测试优化。布谷鸟搜索(CS)策略(Ahmed等人, 2015)在Levy Flight的帮助下在搜索空间中搜索最佳测试用例,构建最小化测试集。另一种策略称为花策略(FS)(Alsewari et al., 2018)模仿开花植物的雌雄器官之间的授粉功能,并以较少的控制参数表达其高效方法。同样,蝙蝠启发的相互作用策略(BA)(Alsariera等人,2015年)从蝙蝠在漆黑的黑暗中使用回声定位的狩猎行为中获得灵感。球棒的位置决定了解决方案的质量。人工蜂群测试生成(ABC-TG)和基于教学的优化(TLBO)的策略在随后的几年中被引入。ABC-TG(Alsewari等人,2017)利用蜜蜂使用的最佳食物来源的搜索方法。食物来源被表示为测试用例,并且高质量的食物来源充当具有最大覆盖的交互元素的测试用例。TLBO(Zamli等人,2016)应用两个阶段的技术来获得接近最优的解决方案:教师阶段全局搜索解决方案,而学习者阶段执行局部搜索。成对肾脏策略(PKS)(Homaid等人,2018年)是在新的肾脏算法(KA)的影响下发展起来的。KA模拟人体的肾脏过程,包括过滤、重吸收、分泌和排泄。过滤用作局部搜索以将生成的溶液(测试用例)过滤到过滤的血液(FB)中(即,好溶液)组和废物组(W)(即,更糟糕的解决方案)。重吸收过程的作用类似于全局搜索,其中W中的测试用例被重新评估以重定向回FB。在分泌过程中,对FB中添加的测试用例进行检查,将质量覆盖率不合格的测试用例返回给W。最后,测试用例中的测试用例被删除并替换为新生成的测试用例。基于蜻蜓算法(DFA)的t路策略(Ahmed,2019)是由蜻蜓的两种行为方式(静态和动态)激发的蜻蜓静态地将自己分成小群体,在一个小区域内飞行,寻找蝴蝶和昆虫等食物来源,实现全球搜索阶段。对另一方面,它们在单个方向上动态地以较大的组飞行,承担局部搜索阶段。每个节点(即,测试案例)基于其食物来源的质量进行评估(即,互动覆盖),它附近的蜻蜓也是如此。选择最佳测试用例并将其添加到FTS中,同时从列表中删除覆盖的元素Jaya算法(JA)是一种基于种群的算法,旨在解决组合优化问题。在JA中,候选解将同时搜索最佳解并避免更差的解。在每个迭代周期中只更新最佳和最差的解,并根据最佳和最差的解更新下一个解。改进的Jaya算法(IJA)(Nasser等人,2020)被开发为用于t路测试的JA变体。IJA应用Levy Flight和突变算子来提高原JA的可搜索性。拉丁超立方体采样策略(LHS-JA)(Nasser等人, 2020)是JA的另一个变体,用于增强搜索过程的多样性。作为t-way测试领域的最新研究成果,我们于2020年推出了基于WhaleOptimizationAlgorithm ( WOA ) 和 SineCosineAlgorithm(SCA)WOA(Hassan等人,2020年)的灵感来自座头鲸的狩猎性质,他们的泡沫网喂养技术,以追捕受害者。WOA更强调全局搜索而不是局部搜索。SCA(Altmemi等人,2020)是一种基于随机种群的算法,利用正弦和余弦数学模型来更新当前找到的最佳解的新位置。SCA策略支持更高的交互强度测试(即,t >6)。4. 引力搜索算法GSA由来自伊朗的一组研究人员于2009年引入(Rashedi等人,2009年)。GSA认为假设的宇宙被称为搜索空间,其中有一定数量的对象,如图3所示。每个物体都有自己的质量来识别性能度量。在整个搜索空间中,物体通过引力相互吸引。因此,质量较轻的物体朝向图3.第三章。在GSA的搜索空间中的对象的说明K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4864我1/4米我ð 联系我们我我P我D¼≤ð ÞNð Þ我-不是我我我我我Fi¼兰德·J·豪xd-xdJ我我我我.Σ将物体与较重的物体放在一起。在GSA中,对象其中G0是G_t的初始值,a>0是搜索控制参数,t是当前迭代,Tmax是最大迭代。两个物体之间的距离定义在等式中(七)、对象 在算法过程的某些阶段,期望算法达到最佳状态,其中没有Rij¼kM. Xj-MXkð7Þ发生更多的位置变化,并且具有最重质量的物体(即,最优解)将存在。GSA首先随机初始化对象群体。每个初始化的对象都是一维数组的形式第i个物体在第d维中由于重力的加速度在等式中计算。(8)基于运动规律。Fd尺寸N。每个对象的质量或性能度量由适应度函数值确定,并且与问题相关。阿迪伊ðXiÞð8Þdent.具有较高适应度值的对象由于质量的沉重和增加的重力强度而在搜索空间中比其他对象移动得更慢。每个物体的惯性质量计算如下:其中Fd是其他物体施加在第i个物体上的力的随机加权和。由于加速度导致对象的速度和位置的变化,因此第i个对象的速度和位置(9)和m XfitXi-最差最佳-最差ð1Þ(十)、vdt1rand×vdadð9Þ其中,fitXi表示第i个对象的适应度值,best和最差代表最好和最差的适应值,xdt1xdvdt110所有的物体。优化可以是一个min-iii最小化或最大化问题。至于最小化问题,最佳和最差的适应值定义在方程。(2)和(3)。最佳1/4mini21;···;N½fitXi] 2最坏情况:最坏其中N表示人口数。具有大范围的质量值可以影响相互依赖的重力。因此,在质量上应用归一化提供了重力的更精细的模拟输出。的相对归一化质量,第i个对象在Eq. (四)、mXi其中vdt1是第i个物体在第d维中的下一个速度锡翁 河 是之前的速度,xd是新的位置,第d个维度中的第i个对象,并且Xd是第i个对象的先前位置。算法1描述了GSA的伪代码。算法1:GSA算法伪代码01:初始化所需参数02:生成的随机总体为对象,X i¼x1;···;xd;···;xn(对于i/41; 2;··· ;N)03:虽然不符合终止标准,04:计算每个对象的适应度值,fitXi05:对于i= 1;i≤NMXiN1/1m<$X<$;0≤M<$Xi<$≤1<$4<$06:使用等式确定整个群体中的最佳和最差对象(2)及(3)GSA遵循牛顿第一定律和第二定律,用于确定物体的力和运动。该算法通过在力计算中引入随机算子来增加随机特征。以这种方式,识别由搜索空间中的其他对象作用在特定对象上的总力,并且因此,执行探索过程。为了执行开发过程,K最好与一组较重的对象(即,具有较高适应值的对象)也被添加。探索首先在迭代开始时进行,并且在一定数量的迭代之后进行利用,其中只有K个最佳对象将对其他对象施加力。第d维中的其余K个最佳物体作用在第i个物体上的总力表示为等式:(五)、XMXiXM. Xj.ΣDj2K最佳里杰杰J我07:计算惯性质量,mXi和相对质量,每个对象的MXi。等式(1)和(4)08:对于j Kbest;j N09:使用等式2计算两个对象之间的欧几里得距离(七)10:使用方程更新重力常数G t(6)11:计算作用在一个物体上的总重力对象,Fi使用Eq. (五)12:使用Eq.计算物体的加速度(8)13:使用等式14更新对象的速度向量(9)14:使用等式14更新对象的位置向量。(10)15:结束16:结束17:设置t1/4t1十八日:end十九日:返回搜索空间其中Kbest是时间的函数,其值在每次迭代时线性减小,rand j是(Kuhn等人, 2010); G是引力常数,R ij是第i个和第j个物体之间的欧几里得距离,e是一个小常数,用于防止R ij被零除,当R ij<0时,xd和x d是第d维中的第j个和第i个对象。Gt是控制GSA搜索精度和探测能力的引力系数,其值随时间减小。当量(6)给出了其数学模型。GtG0× e 最大温度范围在文献中,已开发出GSA的修改变体,在解决特定的优化问题中显示出优于原始GSA的优越性。Gao等人(Gao等人,2014)提出了一种解决图规划问题(GPP)的三值引力搜索算法(TGSA),该算法采用单行布线方法。TGSA将对象视为边序列,并使用三值编码集{U,L,E},使得搜索空间可以是三角形超立方体的形式。两个物体之间的距离仅在两个物体的边2Þð5ÞK.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4865Þ我我我我不同的价值观. TGSA使用两个索引更新对象的位置。第一索引基于当前速度值确定位置是更新为U还是L,还是保持与先前位置相同。在第二个索引中,根据从整个群体收集的信息TGSA的其余程序以与标准GSA相同的方式进行。Gao等人 (Gao等人, 2014)引入了两个额外的GSA变体,其使用混沌算子,一种非线性系统的动态方面。第一种变体产生混沌序列来代替随机序列,而第二种变体采用混沌算子作为局部混沌搜索方法。研究人员还通过展示与GSA集成的五种不同的混沌映射来扩展他们的工作(Shen等人, 2015年),并将其性能与原始GSA进行了比较。 为了克服单个混沌映射GSA有限的搜索能力,提出了三种新的多混沌嵌入GSA(MCGSA)(Song et al., 2017年)提出。在48个基准函数中的31个函数中,MCGSA的性能优于其他混沌J. Ji等人 (Ji等人, 2017年)提出了自适应版本的GSA与修改的混沌局部搜索,以提高开发搜索能力。研究人员提供了两个关于GSA控制参数的实证实验。实验证明,G参数对算法的收敛速度有很大的影响。因此,所提出的自适应机制给出了适当的G值,然后使用混沌系统提高搜索性能。在另一项研究中,Y.Wang等人 (Wang等人, 2020)利用四种混沌神经振子有效地改变了引力常数G。混沌神经模型包括四个神经元来模拟混沌神经行为:输入、输出、兴奋和抑制神经元。这些振荡器保持较大的G值,以便对象有足够的时间搜索搜索空间的更多区域。聚合学习引力搜索算法(ALGSA)(Lei等人,2020)应用新的总引力,其中单个K最佳对象不断用于构建各种引力场。通过这种方式,最佳个体不是只吸引同一领域中的最佳个体,而是吸引给定迭代中新创建的领域中的其他非最佳个体,从而稳定了引力的快速下降速度ALGSA和前面提到的GSA变体一样,采用了自适应机制的引力常数。GSA也从人口的角度进行了修改拓扑结构,以帮助指导整个群体中单个对象的搜索方向。分层引力搜索算法(HGSA)(Wang等人,2018)由三层组成:对象群体(底层),K个最佳对象(中层)和全局最优对象(顶层)。底层的单个对象将发展为中层的更好对象(K个最佳个体)。为了提高分散能力,HGSA采用对数-S形传递函数构造新的引力常数,取代了原GSA中的指数引力常数。在顶层,将所选择的K个最佳对象与全局最优对象进行比较。较好的K最佳个体替代全局最佳个体作为最佳新对象。在GSA中,各层之间的相互作用强化了独立对象的演化行为。多层引力搜索算法(MLGSA)(Wang等人,2021)是最近开发的GSA变体,具有四个层次:群体、迭代最佳、个人最佳和全局最佳。此外,层之间的三种交互(即,MLGSA中迭代最优与种群的第一次交互、个人最优与迭代最优的第二次交互以及全局最优与种群的最后一次交互)加强了种群的进化,防止了K个最优对象陷入局部最优。MLGSA还使用sigmoid和反向sigmoid函数将搜索过程分成三个阶段,在这三个阶段中发生分层交互。5. GSTG战略GSA被嵌入到建议GSTG战略的组合,rial测试套件生成。该策略包括四个主要阶段:阶段1:输入SUT配置,阶段2:生成交互元组,阶段3:利用GSA的搜索过程生成测试集,阶段4是GSTG生成的最终优化测试集。在阶段1中,GSTG接收CA形式的SUT的输入配置CA(相互作用强度(t),参数(p)以及与每个p有关的值(v)的数量),并初始化GSA的参数:引力常数(G 0),α(a),ε(e和最大迭代(TMax)。 下一阶段交互元组生成经历两个核心过程:基于交互强度的数量生成参数组合,以及为每个组合参数生成交互元组。之后,所有生成的元组都被添加到元组列表(TL)中。第三阶段使用GSA执行测试算法搜索最佳对象(即,最佳测试情况)。在每个迭代周期中选择的测试用例被添加到最终测试套件(FTS)中。最后一个阶段是显示GSTG生成的最佳FTS 图第四章阐述了GSTG战略的总体框架。随后的章节描述了GSTG主要依赖的第2和第3阶段的详细实施过程。5.1. 交互元组生成为了便于解释阶段2和阶段3,请重新考虑第2中所述的SUT示例。GSTG接收的输入系统配置是CA(2,2,4),因为SUT有四个输入参数(例如,A、B、C和D),每个参数具有两个可能的值(例如,a0、a1、b0、b1、c0、c1、d0和d1)。所施加的相互作用强度为t = 2。结果表明,该策略所执行的前一个过程是双向参数组合:AB、AC、AD、BC、BD和CD。根据这些组合,在后一个过程中生成交互元组。对于每个组合,存在2x2个可能的交互元组。例如,在第二和第四参数之间,BD组合(a0,b1,c0,d1)具有b0:d0,b0:d1,b1:d0和b1:d1的2x2元组。关于不可用的参数(即,A和C参数),相应的值用“x”表示,‘‘x”其余的组合也以相同的方式迭代在生成所有元组之后,每个元组组被添加到称为元组列表(TL)的索引列表图 5详细说明了该战略实施的第二阶段。5.2. 测试套生成在前一阶段生成的TL作为这个测试套件生成阶段的输入阶段GSTG将搜索空间中的对象(解决方案)的群体随机化为n维位置向量,Xi1/2 =x1;x2;xd;···;xnn,其中每个尺寸等同一参数和包括整数值在0和相关参数的值的数量之间。 在该阶段中,利用GSA来搜索最佳对象(即,opti- mum测试用例)。每个对象的质量由适应度函数确定。适应度或权重覆盖函数检查每个候选测试用例所覆盖的交互元组的数量,并使用Eq.(十一)、K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4866Xð Þ× × × × ×××见图4。 GSTG框架。TC适合11英寸宽的X轴1/4其中fit Xi是测试用例Xi的适应度函数,i是交互,tc是TL中交互元组的总数,wi是当前测试用例覆盖的元组数量,但以前的测试用例中未涵盖。引力作为GSA中的主要控制器,因为它会导致较轻的物体(较差的解决方案)向较重的物体(良好的解决方案)移动。具有最有效适应值的较重对象(代表覆盖最大权重的良好测试用例)吸引所有其他对象的整个集合。粒子对象的下一个位置使用Eq. 1用对象的加速度和先前速度更新。(十)、该算法迭代上述过程,直到满足终止标准。在没有进一步的位置更新遇到后,GSA返回最佳解决方案(最佳测试用例)。如示于图 6、GSTG根据最大权重覆盖率选择最佳测试用例。最佳测试用例(a0 b0 c0 d0)获得最大覆盖率:六个权重(即,交互的数量),因此,将测试用例添加到FTS中。之后,覆盖元组(a0 b0X,A0C0,a0x d0,x b0 c0,x b0d0和x c 0 d 0)是elim-来自TL。这个搜索过程一直持续到TL中的所有元组都被各自选择的最佳测试用例覆盖,列表最终变为空。6. 结果和讨论6.1. 参数整定GSA参数的调整是需要进行生成一个最佳的测试套件。在这项研究中,四个主要调整GSA的控制参数:群体大小(N)、引力常数(G0)、α(α)和迭代总数(TMax)。人口规模对人口增长有很大影响,是GSA的人大的种群规模会导致更长的计算时间,而小的种群规模会降低算法类似地,较大的迭代次数增加了时间复杂性,而较少的迭代次数则会妨碍获得良好的解决方案。引力系数(G)依靠G0维持勘探和开采搜索a,根据Eq。(六)、 因此,两者有两个参数至关重要。覆盖阵列配置CA(N,2,4,8)用于调谐具有不同设置的参数。参考文献研究(Amoozegar和Rashedi,2014)(Wang和DiSong,2016),G0和a的值设置在1至150和5至70之间。至于总体大小,总迭代的值从20到500变化,从5到750变化。首先通过固定种群大小和迭代次数(即,人口规模= 50迭代次数= 100)和变化的G0和a值。之后该反向实验之后是改变群体大小和总迭代,但保持其余两个参数固定。在调优过程中,对于每个可变参数值,CA配置重复运行30次,最佳测试套件大小记录在表1和表2中。表中的黑色单元格表示最佳的测试套件大小。表1列出了使用特定引力常数(G0)和alpha(a)变量获得的最佳测试套件大小。从表中可以看出,两个参数的值越小,结果,即,当G0被设置在1和10之间并且a从10变化到55时。对于G0,a的值>10和值超过55不具有符号。大大提高了性能。由于这个原因,G0的合理选择是在5和10之间,而a在10和20之间,因此考虑G0 = 10和a= 20。K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4867图五、元组生成阶段的说明示例表2中报告了基于总体(N)和迭代参数(TMax)集的最佳测试套件。如表中所示,增加种群大小和总迭代增强了结果。然而,当总迭代超过100次时,结果停止改善。在种群规模方面,当种群规模大于500时,算法的执行时间变长,但没有明显的改善效果。作为推论,选择N= 300和TMax = 10。绘制了三维表面图,以直观地表示参数对GSTG策略生成的测试套件大小的影响,如图所示。 7(a)和(b)。此外,为了研究所提出的GSTG策略的收敛速度,以不同的迭代次数TMax(即,5、10、20、30、50、75、100、150、200、300和500)。如图所示在图8(a)中,当TMax设置在5和100之间时,GSTG收敛得更快。在达到TMax值200后,GSTG继续提高其搜索速度,从120到360.同样,在图8(b)中,GSTG显示了随着TMax值的增加,其在搜索最佳测试用例6.2. 政府资助小组的基准测试结果在本节中,对GSTG进行基准测试,以评估其针对现有t路策略的效率。评估进行比较生成的CA测试套件的大小GSTG与其他策略,使用广泛应用的系统配置。然而,GSTG和其他策略的执行时间的性能比较没有被考虑,因为每种策略实现的编程语言和系统环境存在差异。它可能会导致不公正的比较,如研究所示(Zamli等人,2016年)。为了执行基准测试实验,包括具有Intel Core i7 2.70 GHz处理器、8 GB RAM和64位体系结构的环境规范的台式PC,以及在Java JDK 13.0.1中实现的GSTG。实验分为以下五组:(a) 第1个实验-使用系统配置CA(2,2p)比较GSTG与现有的t路策略,其中相互作用强度t为2,值v为2,但p参数从3变化到15,另外为50和100,以测试更高的配置。策略的测试套件大小结果取自已发表的研究(Nasser等人,2015);(Zakaria和Zamli,2016);(Nasser等人,2017)和(Homaid et al., 2018年)。(b) 第 二 实 验 - 策 略 的 测 试 套 件 大 小 结 果 取 自 已 发 表 的 研 究(Ahmed,2019)和(Hassan等人, 2020年)。(c) 第三实验-GSTG与现有的更高的相互作用强度支持的t方式策略(即,2 t = 6),其中p = 7,但相互作用强度t从2变化到6,值v从2变化到7。策略的测试套件大小结果取自已发表的研究(Altmemi等人,2020)和(Hassan等人, 2020年)。(d) 第四实验-GSTG与现有的更高的相互作用强度支持的t-方式策略(即,t = 10)使用系统配置CA(t,210),其中p = 10和v= 2,但相互作用强度t在2至10之间变化。策略的测试套件大小结果取自已发表的研究(Alsewari等人,2018);(Zakaria和Zamli,2019);(Nasser等人, 2020)和(Nasser等人,2020年)。(e) 第5个实验-GSTG与现有的更高的相互作用强度支持的t-方式策略(即,t = 10)使用系统配置CA(t,510),其中p = 10和v = 5,但相互作用强度t从2变化到7。策略的测试套件大小结果取自已发表的研究(Ahmed等人,2015);(Nasser等人,2017)和(Zakaria和Zamli,2019)。在实验中使用的元启发式策略,如PSO,MBO,CS,FPA,ABC,PKS,iMTS,DFA,SCA,IJA,LHS-JA和WOA,亲,由于测试套件的随机性,在每次运行时减少随机测试套件的大小。因此,每个系统配置需要执行10到30次,以确定最佳测试大小,并从总体执行结果中选择最小测试大小(最佳测试大小)。至于代数和纯计算策略,如TConfig,Jenny,PICT,IPOG和IPOG-D,每个配置只需要运行一次,因为它们产生的结果是K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4868见图6。 测试套件生成阶段示例说明。决定论由于GSTG是一种随机策略,因此每个实验配置重复30次以具有统计学显著性,并记录最佳测试套件大小。关于大型配置(即,CA(t,510),其中t > 4),考虑到执行时间,实验仅运行一次。所有五个实验的结果报告于表3-7中。最佳测试套件大小用粗体和深色单元格标记,用于相关配置。表示为“NA”的单元格如表3所示,GSTG和PKS在p变体从3到15的所有配置中提供最优结果,优于纯启发式策略和元启发式策略。 然而,GSTG在配置CA(2,28)中生成最小的测试套件大小。几乎所有其他战略往往获得竞争力的结果是相同或相同的GSTG和PKS。GSTG还通过测试50和100的p值表达了适应高系统配置的能力。此外,GSTG在这两种构型下产生的结果与CS相当,但没有K.貌泰河 Razif Othman,A. Amir等人沙特国王大学学报4869CA(N,2,4,8)的最佳测试套件大小与不同的N和TMaxNTmax表1CA(N,2,4 8)的最佳测试套件大小(具有不同的G 0和a)。G0α(α)5 7 10 15 20 25 30 35 40 45 50 55 60 65 701 32 32 32 32 33 32 33 32 33 333133 33 32 332 32 32 33 32 32 33 33 32 3331323133 32 345 33 3331 3132 33 32 34 33 33 33 33 32 32 341033323132313333333233323233323415323232 3233 3232333233343132333250333233333233353233333334353433100333333343333333433333232333434150333432333333333332333332323332表2510203050751001502003005007502036343634373536363535363635333233343434333333343434503332333234333132333233326031323131313232323332323280313131313131323232333333100313131313131323231323332150313030303031313131313232200303030302930303131313131300292929292929293030303131500292929292929303030303030图7.第一次会议。CA(N,2,48)的最佳测试套件大小的视觉表示,(a)N = 50且TMax = 100,(b)G0 = 10且a= 20。除了CS和GSTG之外,其余
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功