一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多目标的工业通信协议测试用例优先级排序方法

2022-05-08 08:34:46 来源:中国专利 TAG:


1.本发明属于无线通信协议测试领域,涉及一种基于多目标的工业通信协议测试用例优先级排序方法。


背景技术:

2.在工业无线传感器网络的通信协议测试过程中,伴随着被测系统的版本变更和系统缺陷的修复,需要通过回归测试来保证已被修改的部分对未被修改的部分不造成影响,或者不引入新的故障。在资源受限的情况下,重新执行所有的测试用例耗费时间、人力、资金。因此需要对测试用例进行优化执行,以便更早地反馈给测试人员。
3.在实际的回归测试中,常用的测试用例优化技术主要包括测试用例集约简(testsuite minisation,tsm)、测试用例选择(test case selection,tcs)和测试用例优先级(test case prioritization,tcp)。tsm和tcs都是通过相关准则约简冗余测试用例,达到提高回归测试效率的目的。而tcp是在不减少测试用例数量的情况下,按照既定的测试目标设置测试用例的优先级别,使得具有较高优先级的测试用例优先执行,以加快故障定位,尽早的检测到错误,降低回归测试成本和提高软件可靠性的目的。
4.目前测试用例优先级排序的研究内容和优化目标大都以单目标为主,因此如何更快、更好的确定基于多目标的测试用例间的优先级关系以及有效提高回归测试效率成为工业无线传感器网络的通信协议回归测试亟需解决的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于多目标的工业通信协议测试用例优先级排序方法,来有效地解决目前存在的测试用例优化目标单一、回归测试成本高昂的问题,进而实现快速定位软件缺陷、大幅降低回归测试成本,最终实现提高软件测试效率、保障软件质量的目标。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于多目标的工业通信协议测试用例优先级排序方法,具体包括以下步骤:
8.s1:构建目标函数:以历史执行失败率最大化以及执行时间最小化作为排序目标;
9.s2:对通信协议测试用例进行编码操作,设置帕累托最优解集(ndset),初始为空;
10.s3:使用改进的多目标灰狼算法以全局搜索的方式寻找最优解,更新ndset;
11.s4:判断是否满足最大迭代次数,若满足则重复步骤s3,否则输出ndset;
12.s5:根据工业通信协议测试标准规范以及测试用例历史执行信息,确定部分测试用例之间的依赖关系;
13.s6:执行ndset中的某一个测试用例集时,根据测试用例执行结果,通过部分测试用例之间的依赖关系动态更新之后的测试用例顺序,并计算当前测试用例的平均故障检测率、错误发现效率以及有效执行时间;
14.s7:将当前测试用例执行结果放入数据库中,更新数据库中的测试用例的执行信
息。
15.进一步,步骤s1中,以历史执行失败率最大化以及执行时间最小化作为排序目标。具体如下:
16.1)最大化历史执行失败率的函数表达式为:
[0017][0018]
其中,n代表测试用例的数量,i代表测试用例在排序序列中的位置,ti表示第i个位置上的测试用例,f1表示历史执行失败率最大化的目标函数,hf表示测试用例的历史执行失败率,shf为测试用例集中所有测试用例的hf值的和;
[0019]
2)最小化执行时间的函数表达式为:
[0020][0021]
其中,t表示一个测试用例的执行时间,st表示所有测试用例的执行时间和,f2表示执行时间最小化的目标函数。
[0022]
进一步,步骤s2中,对通信协议测试用例进行编码操作,具体包括:每个个体表示一个测试用例排序序列,采用的编码方式为序列编码,即对于一个包含l个测试用例的测试用例集,每个个体可以编码为一个长度为l的整数数组,数组中的第i项的值表示序列中第i个执行的测试用例序号。
[0023]
进一步,步骤s3中,改进的多目标灰狼算法具体包括以下步骤:
[0024]
s31:设置灰狼种群的初始化相关控制参数,在解的空间中随机初始化每个灰狼个体的位置;
[0025]
s32:将灰狼分为支配解集和非支配解集,非支配解集加入到ndset;
[0026]
s33:以历史执行失败率最大化、执行时间最小化作为求解目标函数,计算每个灰狼个体的适应度值,并将种群中适应度值最优的狼的位置信息保存x
α
,将种群中适应度值次优的狼的位置信息保存为x
β
,将种群中适应度第三优的灰狼的位置信息保存为x
γ
;每一个灰狼位置即对应一种测试用例序列;
[0027]
s34:根据x
α
、x
β
、x
γ
的位置对灰狼的位置进行更新,更新相关控制参数以及计算对应的目标函数值,包括以下三种情况:
[0028]
1)步骤s34中的新解支配原灰狼,则更新为新解位置;
[0029]
2)原灰狼支配步骤s34中的新解,则不做任何操作;
[0030]
3)若两者无支配关系,则将新解加入非支配解集中,更新为新解位置;
[0031]
s35:判断灰狼种群每个灰狼个体位置的更新操作是否完成,若是则进入下一步,否则重复s34;
[0032]
s36:判断迭代是否达到最大值,若是,则输出ndset;否则重复步骤s33~s35。
[0033]
可选的,所述步骤s31中具体包括:设置灰狼种群大小为n,初始化控制参数α,最大迭代次数t
max
,在解的空间中随机初始化每个灰狼个体的位置。
[0034]
进一步,步骤s33具体包括:根据求解目标函数计算每个灰狼个体的适应度值,并依据快速非支配排序操作、拥挤距离计算和精英保留策略操作选择排名靠前的三只灰狼个
体,位置为x
α
,x
β
以及x
γ

[0035]
求解的目标函数为:
[0036]
min f(x)=(f1(x),f2(x))
[0037]
其中,x=(x1,x2,x3,

,xn),n∈[1,测试用例的总个数];
[0038]
所述非支配排序操作具体包括:
[0039]
找到灰狼种群中的非支配解集,将非支配解集标记为第一非支配层f1并将非支配解集中的所有灰狼个体赋予第一非支配序值,忽略这些已经标记的非支配个体(即这些个体不再进行下一轮比较),依次持续进行对灰狼种群进行非支配解集分层、标记、非支配序值赋予操作及忽略操作,直至整个灰狼种群被完全分层并使得同一非支配层内的灰狼个体具有相同的非支配序值;
[0040]
所述拥挤距离计算和比较具体包括:
[0041]
初始化同一非支配层内的灰狼个体的距离,计算同一非支配层中的灰狼个体每个求解目标函数值并按升序排序;
[0042]
令边缘的两只灰狼个体拥挤度为无穷,即od=id=∞;
[0043]
对其他灰狼个体进行拥挤度计算:
[0044][0045]
其中,kd表示灰狼个体k的拥挤度,表示灰狼个体k 1的第j个目标函数值,表示灰狼个体k-1的j个目标函数值;
[0046]
种群中的灰狼个体k都拥有两个属性:非支配排序决定的非支配序kr(级数,即第几级)和拥挤度kd;依据这两个属性,可以定义拥挤度比较算子:个体k与另一个个体p进行比较,只要下面任意一个条件成立,则个体k获胜;
[0047]

如果个体k所处非支配层由于个体k所处的非支配个,即kr《pr;
[0048]

如果他们有相同的等级,且个体k比个体p有一个更大的拥挤距离,即kr=pr且kd=pd。
[0049]
进一步,步骤s34中,更新灰狼种群灰狼个体的位置,具体包括:由于个体按照测试用例编号序列进行编码的方式,标准的灰狼算法中更新位置的公式不再适用,采用单点交叉操作对位置进行更新,设父灰狼为f1和f2,要得到子个体b1和b2;具体步骤为:
[0050]
s341:选取染色体上的一个位置k作为交叉位置,其中k∈{1,

,l},l为灰狼个体的编码长度,在tcp问题中为测试用例的个数;
[0051]
s342:父灰狼f1的前k个基因遗传作为b1的第一个基因片段中b
1、1

[0052]
s343:遍历父灰狼f2的基因序列,当该基因存在于子灰狼b1的第一个基因片段中,则删除该基因,遍历完成后得到长度为l-k的第二个基因片段b
1、2

[0053]
s344:将两个基因片段进行整合到子灰狼b1;
[0054]
s345:子灰狼b2的基因构造同子灰狼b1;
[0055]
针对tcp问题的灰狼位置的表达式,如下:
[0056]
a=rand(1,l)
[0057][0058][0059][0060]
其中,a表示控制参数,rand(x,y)代表随机生成[x,y]区间内一个整数,crossk(x,y)代表对x和y两个染色体以k为交叉点进行交叉操作,x
p
为其他灰狼的位置,t表示迭代次数。
[0061]
进一步,步骤s34中,更新位置的同时伴随变异操作,常规的变异方法无法适用于测试用例优先级排序的问题中,使用基因置换操作,从基因中随机选择一定数目的基因,之后在后面的基因中随机选择该位置最优的基因进行替换,具体步骤如下:
[0062]
s3401:随机选取一个变异位置k,k∈{1,

,l},l为灰狼个体的编码长度,即测试用例的个数;
[0063]
s3402:随机选择一个基因,计算该基因前所有基因对测试点的覆盖;
[0064]
s3403:根据指定规则选择该基因后面的基因,与该基因进行对比,如果选择其中对未覆盖的测试点覆盖率/时间消耗最小的基因与选择的基因进行置换;
[0065]
s3404:判断迭代次数是否达到变异数目,如果没有,则跳回步骤s3402;否则输出变异后的基因。
[0066]
进一步,步骤s5中,确定部分测试用例间依赖关系,包括:在通信协议测试中,部分测试用例的执行依赖于其他测试用例,也就是说,依据协议测试标准规范某些测试用例必须在其他测试用例得到满足的情况下才能测试通过。同时每一次修改软件版本进行回归测试时根据历史测试用例的执行信息,挖掘测试用例之间失败的依赖关系。
[0067]
挖掘测试用例之间失败的依赖关系,具体包括:将每一个失败的测试用例看做一个项,每一条事务表示每次执行结果中失败的测试用例。通过迭代,检索出测试用例历史执行库中支持度不小于设定阈值的项集,这些项集被称作频繁集;从频繁集中获取置信度不小于设定阈值的依赖关系;其中支持度计算公式为:
[0068][0069]
其中,support(a

b)表示支持度,n(a∪b)表示项集a和项集b同时出现的次数,n表示事务总数;
[0070]
置信度的计算公式为:
[0071][0072]
其中,confidence(a

b)表示置信度,n(a)表示项集a出现的次数。
[0073]
进一步,步骤s6中,动态调整测试用例排序次序具体包括:
[0074]
当测试用例按排序结果依次执行时,如果该测试用例存在依赖关系则去动态调整测试用例排序次序,将有可能检测到更多缺陷的测试用例调整为立即执行。
[0075]
进一步,步骤s6中,
[0076]
1)平均故障检测率apfd的计算公式为:
[0077][0078]
其中,n表示测试用例集t的测试用例数目,m表示被测软件的缺陷数量,tfi表示检测到缺陷i的第一个测试用例在测试用例集t中的位置;检测到不同缺陷的测试用例越排在前面,apfd值越大,证明排序序列的揭示缺陷速度越快,对应的排序方案效果也越好。
[0079]
2)错误发现效率fde的计算公式为:
[0080][0081]
其中,f

为执行部分测试用例所揭示的缺陷集合,f为执行整个测试序列所揭示的全部缺陷集合。fde值越大,测试安全性就越高。
[0082]
3)有效执行时间eet的计算公式为:
[0083][0084]
其中,表示执行第i个测试用例所消耗的时间。
[0085]
本发明的有益效果在于:本发明能够快速高效的确定基于多目标的测试用例间的优先级关系以及有效提高回归测试效率。本发明能够有效地解决目前存在的测试用例优化目标单一、回归测试成本高昂的问题,进而来快速定位软件缺陷、大幅降低回归测试成本,最终实现提高软件测试效率、保障软件质量的目标。
[0086]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0087]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0088]
图1为本发明基于多目标的工业通信协议测试用例优先级排序方法流程图;
[0089]
图2为序列编码示意图;
[0090]
图3为本发明基于改进多目标灰狼算法流程示意图;
[0091]
图4为wia-pa协议栈用于测试用例集中结构示意图;
[0092]
图5为测试用例之间失败的依赖关系示意图;
[0093]
图6为本发明测试用例序列动态调整示意图。
具体实施方式
[0094]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示
意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0095]
请参阅图1~图6,图1为本发明基于多目标的工业通信协议测试用例优先级排序方法流程图。该方法具体包含以下步骤:
[0096]
s1:构建目标函数:以历史执行失败率最大化以及执行时间最小化作为排序目标。
[0097]
s2:对通信协议测试用例进行编码操作,设置帕累托最优解集(ndset),初始为空。
[0098]
s3:使用改进的多目标灰狼算法以全局搜索的方式寻找最优解,更新帕累托最优解集ndset;
[0099]
s4:判断是否满足最大迭代次数,没有的话重复步骤s3,否则输出ndset;
[0100]
s5:根据工业通信协议测试标准规范以及测试用例历史执行信息,确定测试用例之间的依赖关系。
[0101]
s6:执行ndset中的某一个测试用例集时,根据测试用例执行结果,通过部分测试用例之间的依赖关系动态更新之后的测试用例顺序。可以有效提高平均故障检测率、错误发现效率以及减少有效执行时间。
[0102]
s7:将当前测试用例执行结果放入数据库中,更新数据库中的测试用例的执行信息。
[0103]
作为一种优选的实施例,步骤s1中,以历史执行失败率最大化以及执行时间最小化作为排序目标。具体如下:
[0104]
1)最大化历史执行失败率的函数表达式为:
[0105][0106]
其中,n代表测试用例的数量,i代表测试用例在排序序列中的位置,ti表示第i个位置上的测试用例,f1表示历史执行失败率最大化的目标函数,hf表示测试用例的历史执行失败率,shf为测试用例集中所有测试用例的hf值的和;
[0107]
2)最小化执行时间的函数表达式为:
[0108][0109]
其中,t表示一个测试用例的执行时间,st表示所有测试用例的执行时间和,f2表示执行时间最小化的目标函数。
[0110]
作为一种优选的实施例,步骤s2中,关于通信协议测试用例进行编码操作,编码操作的方法如下:
[0111]
每个个体表示一个测试用例排序序列,采用的编码方式为序列编码,即对于一个包含l个测试用例的测试用例集,每个个体可以编码为一个长度为l的整数数组,数组中的第i项的值表示序列中第i个执行的测试用例序号。编码方式如图2所示。
[0112]
约束条件:每一个测试用例都是一个决策变量,每一个决策变量的取值范围为[1,测试用例的总个数]之间的整数,且决策变量之间不能相等,以保证每一个测试用例在序列中具有唯一的位置。
[0113]
作为一种优选的实施例,步骤s3中用改进后的多目标灰狼算法以全局搜索的方式
寻找最优解,如图3所示,改进的多目标灰狼算法步骤如下:
[0114]
s31:设置灰狼种群的初始化相关控制参数,在解的空间中随机初始化每个灰狼个体的位置。
[0115]
s32:将灰狼分为支配解集和非支配解集,非支配解集加入到ndset,;
[0116]
s33:以历史执行失败率最大化、执行时间最小化作为求解目标函数,计算每个灰狼个体的适应度值,并将种群中适应度值最优的狼的位置信息保存x
α
,将种群中适应度值次优的狼的位置信息保存为x
β
,将种群中适应度第三优的灰狼的位置信息保存为x
γ
;每一个灰狼位置即对应一种测试用例序列;
[0117]
s34:根据x
α
、x
β
、x
γ
的位置对灰狼的位置进行更新,更新相关控制参数以及计算对应的目标函数值,这个时候有三种可能;
[0118]
1)步骤s34中的新解支配原灰狼,则更新为新解位置;
[0119]
2)原灰狼支配步骤s34中的新解,则不做任何操作;
[0120]
3)若两者无支配关系,则将新解加入非支配解集中,更新为新解位置;
[0121]
s35:判断灰狼种群每个灰狼个体位置的更新操作是否完成,若是则进入下一步,否则重复s34。
[0122]
s36:判断迭代是否达最大值,若是,则输出ndset;否则重复s33~s35。
[0123]
步骤s31中具体包括:设置灰狼种群大小为n,初始化控制参数α,最大迭代次数t
max
,在解的空间中随机初始化每个灰狼个体的位置。
[0124]
步骤s33具体包括:根据求解目标函数计算每个灰狼个体的适应度值,并依据快速非支配排序操作、拥挤距离计算、精英保留策略操作选择排名靠前的三只灰狼个体,位置为x
α
,x
β
以及x
γ

[0125]
目标函数具体为:
[0126]
min f(x)=(f1(x),f2(x))
[0127]
其中,x=(x1,x2,x3,

,xn),n∈[1,测试用例的总个数];
[0128]
非支配排序操作具体包括:
[0129]
找到灰狼种群中的非支配解集,将非支配解集标记为第一非支配层f1并将非支配解集中的所有灰狼个体赋予第一非支配序值,忽略这些已经标记的非支配个体(即这些个体不再进行下一轮比较),依次持续进行对灰狼种群进行非支配解集分层、标记、非支配序值赋予操作及忽略操作,直至整个灰狼种群被完全分层并使得同一非支配层内的灰狼个体具有相同的非支配序值。
[0130]
拥挤距离计算和比较具体包括:
[0131]
初始化同一非支配层内的灰狼个体的距离,计算同一非支配层中的灰狼个体每个求解目标函数值并按升序排序。
[0132]
令边缘的两只灰狼个体拥挤度为无穷,即od=id=∞
[0133]
对其他灰狼个体进行拥挤度计算:
[0134][0135]
其中,kd表示灰狼个体k的拥挤度,表示灰狼个体k 1的第j个目标函数值,
表示灰狼个体k-1的j个目标函数值;
[0136]
种群中的灰狼个体k都拥有两个属性:非支配排序决定的非支配序kr(级数,即第几级)和拥挤度kd;依据这两个属性,可以定义拥挤度比较算子:个体k与另一个个体p进行比较,只要下面任意一个条件成立,则个体k获胜;
[0137]

如果个体k所处非支配层由于个体k所处的非支配个,即kr《pr;
[0138]

如果他们有相同的等级,且个体k比个体p有一个更大的拥挤距离,即kr=pr且kd=pd。
[0139]
作为一种优选的实施例,步骤s34中,更新灰狼种群灰狼个体的位置,具体操作如下:由于个体按照测试用例编号序列进行编码的方式,标准的灰狼算法中更新位置的公式不再适用,采用单点交叉操作对位置进行更新,设父灰狼为f1和f2,要得到子个体b1和b2。基本流程如下:
[0140]
s341:选取染色体上的一个位置k作为交叉位置,其中k∈{1,

,l},l为灰狼个体的编码长度,在tcp问题中为测试用例的个数;
[0141]
s342:父灰狼f1的前k个基因遗传作为b1的第一个基因片段中b
1、1

[0142]
s343:遍历父灰狼f2的基因序列,当该基因存在于子灰狼b1的第一个基因片段中,则删除该基因,遍历完成后得到长度为l-k的第二个基因片段b
1、2

[0143]
s344:将两个基因片段进行整合到子灰狼b1;
[0144]
s345:子灰狼b2的基因构造同子灰狼b1;
[0145]
针对tcp问题的灰狼位置的表达式,如下:
[0146]
a=rand(1,l)
[0147][0148][0149][0150]
其中,a表示控制参数,rand(x,y)代表随机生成[x,y]区间内一个整数,crossk(x,y)代表对x和y两个染色体以k为交叉点进行交叉操作,x
p
为其他灰狼的位置,t表示迭代次数。
[0151]
步骤s34中,更新位置的同时伴随变异操作,常规的变异方法无法适用于测试用例优先级排序的问题中,使用基因置换操作,从基因中随机选择一定数目的基因,之后在后面的基因中随机选择该位置最优的基因进行替换,具体步骤如下:
[0152]
s3401:随机选取一个变异数目k,k∈{1,

,l},l为个体的编码长度,即测试用例的个数;
[0153]
s3402:随机选择一个基因,计算该基因前所有基因对测试点的覆盖;
[0154]
s3403:根据指定规则选择该基因后面的基因,与该基因进行对比,如果选择其中对未覆盖的测试点覆盖率/时间消耗最小的基因与选择的基因进行置换;
[0155]
s3404:判断迭代次数是否达到变异数目,如果没有,则跳回步骤s3402;否则输出变异后的基因。
[0156]
作为一种优选的实施例,步骤s5中,确定部分测试用例间依赖关系,具体包括:在
通信协议测试中,部分测试用例的执行依赖于其他测试用例,也就是说,依据协议测试标准规范某些测试用例必须在其他测试用例得到满足的情况下才能测试通过。同时每一次修改软件版本进行回归测试时根据历史测试用例的执行信息,挖掘测试用例之间失败的依赖关系,以wia-pa协议为例。
[0157]
如图4所示,根据wia-pa协议栈可将测试用例集划分为6个部分,分别是现场设备协议一致性测试集、路由设备协议一致性测试集、网关设备协议一致性测试集、现场设备协议安全测试集、路由设备协议安全测试集以及网关设备协议安全测试集。其中,协议一致性测试集又可以划分为加入过程测试集、运行过程测试集和离开过程测试集;协议安全测试集又可以划分为安全加入过程测试集、安全传输过程测试集、密钥管理测试集和安全告警测试集。执行wia-pa协议测试集时,如果加入过程测试集执行失败了,那么对应的运行、传输等过程的测试集一定会执行失败。
[0158]
可选的,根据测试用例历史执行信息挖掘测试用例之间失败的依赖关系,如图5所示,具体包括:
[0159]
图5展示了7个测试用例的6次执行结果,可以看出测试用例t1共失败5次,测试用例t4失败了5次,每当t1失败时,t4也会失败。因此可以推断t1和t4之间可能存在依赖关系,在后续执行过程中,若测试用例t1一旦执行失败,测试用例t4也极有可能执行失败,此时尽快执行t4会提高发现缺陷的速度。
[0160]
将每一个失败的测试用例看做一个项,每一条事务表示每次执行结果中失败的测试用例。通过迭代,检索出测试用例历史执行库中支持度不小于设定阈值的项集,这些项集被称作频繁集;从频繁集中获取置信度不小于设定阈值的依赖关系;其中支持度计算公式为:
[0161][0162]
其中,support(a

b)表示支持度,n(a∪b)表示项集a和项集b同时出现的次数,n表示事务总数;
[0163]
置信度的计算公式为:
[0164][0165]
其中,confidence(a

b)表示置信度,n(a)表示项集a出现的次数。
[0166]
作为一种优选的实施例,步骤s6中,动态调整测试用例排序次数具体包括:
[0167]
当测试用例按排序结果依次执行时,如果该测试用例存在依赖关系则去动态调整测试用例排序次序,让可能检测到更多缺陷的测试用例优先执行,以提升执行序列的平均故障检测速率,其过程如图6所示。
[0168]
若执行过程中,一个用例执行失败,则立即执行与它有依赖关系且尚未执行的测试用例,然后依次执行剩余测试用例,直至测试用例全部执行完成。如图所示,当测试用例t4执行失败后,根据依赖关系(t
4-》t3),将t3调整为立即执行,t3也执行失败,由于t3没有依赖关系,按顺序执行t2、t1,当测试用例t1执行失败,根据依赖关系(t
1-》t5),将t5调整为立即执行,由于t5没有依赖关系,则顺序执行t6,最后所有测试用例执行完成。
[0169]
作为一种优选的实施例,所述步骤s6,计算平均故障检测率apfd、错误发现效率以
及减少有效执行时间,具体如下:
[0170]
1)平均故障检测率:
[0171][0172]
其中,n表示测试用例集t的测试用例数目,m表示被测软件的缺陷数量,tfi表示检测到缺陷i的第一个测试用例在测试用例集t中的位置。检测到不同缺陷的测试用例越排在前面,apfd值越大,证明排序序列的揭示缺陷速度越快,对应的排序方案效果也越好。
[0173]
2)错误发现效率:
[0174][0175]
其中,f

为执行部分测试用例所揭示的缺陷集合。f为执行整个测试序列所揭示的全部缺陷集合。fde值越大,测试安全性就越高。
[0176]
3)有效执行时间:
[0177][0178]
其中,表示执行第i个测试用例所消耗的时间。
[0179]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献