欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018100978050
申请人: 浙江理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-11-06
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于DBN的测试数据进化生成方法,其特征在于,包括如下步骤:(1)根据待测软件的需求文档的需求,构造测试用例集T作为训练DBN网络的训练集,设定所需生成的测试用例个数为N;

(2)插桩待测软件,并将测试用例集T中的所有测试用例在插桩后的软件中运行,从而获取测试用例集T中每个测试用例所对应的个体距离、分支距离和节点覆盖率,并根据这些数据计算测试用例集T中的每个个体的适应度函数值Fit;

(3)对获取的Fit值进行降序排序,将对应的测试用例划分成A、B、C、D、E这5大类;用来表示测试用例集T中测试用例的优劣等级,其中,优质程度为A>B>C>D>E,A类为优质测试用例,B、C、D类为待优化的测试用例,E类为劣质测试用例;

(4)将步骤(2)中获取到的个体距离、分支距离和节点覆盖率作为用于训练DBN网络的特征数据,并对这些数据进行归一化处理至[0,1]范围内;

(5)构建DBN网络,并用步骤(3)中归一化处理后的数据,对DBN网络进行训练,得到基于DBN的测试用例分类器;

(6)随机产生测试用例集,作为初始种群;

(7)将种群中的每个测试用例个体都输入到插桩后的被测程序中,获取到个体距离、分支距离和节点覆盖率并归一化数据范围至[0,1],并输入到已经训练得到的DBN分类器中进行分类,将所有的个体分成A、B、C、D、E,这5大类;A类测试用例视为优质测试用例,直接用于输出,B、C、D类为待进化的测试用例,E类为劣质的测试用例,直接进行淘汰;

(8)分别计算B、C、D类个体的数量占种群个体总量的比重并根据计算的比重自适应调节变异率和交叉率;

(9)根据(8)中计算得到的变异率和交叉率,对B、C、D类个体进行交叉、变异产生新的个体;

(10)将产生的新个体作为种群,然后重复步骤(7)~(9),直到输出的A类测试用例的个数达到需求值N为止;

(11)输出测试用例。

2.根据权利要求1所述的一种基于DBN的测试用例进化生成方法,其特征在于所述的步骤(2)中计算个体距离、分支距离、节点覆盖率、适应度函数值的方法为:计算种群的个体距离公式为:

式中,d(x,y)表示两个个体之间的曼哈顿距离,xi和yj表示第k个群中的任意两个不同个体;

分支距离的计算公式为:

式中,Odistance表示分支距离,S是覆盖目标路径的路径数目,θ为大于零的常数;

节点覆盖率的计算公式为:

式中,Ncr表示节点覆盖率,τ是覆盖目标路径节点的节点数目,ω为目标路径的节点数目。

个体适应度函数为:

fit(xi,t)=αOdistance(xi,t)+βNcr(xi,t)+γd(xi,xj,t)式中,fit(xi,t)表示个体适应度函数,Odistance(xi,t)、Ncr(xi,t)和d(xi,xj,t)分别是第t代中第k个种群中个体xi的分支距离、节点覆盖率和个体距离,α+β+γ=1,α是覆盖率影响因子,β是分支谓词影响因子,γ是种群多样性影响因子;

种群多样性的计算公式为:

Vk=ηDk+(1-η)fitk

式中,Vk表示种群的多样性,Dk是种群的曼哈顿距离 fitk是个体的适应值,η不为零的常数,k表示当前种群,1≤k≤m,m为子种群总数;

调整原来的适应度函数:

式中,Fit表示调整后的适应度函数,Q(xi,t)是个体xi的贡献度。

按照计算得到的适应度函数值对T种的个体进行排序,适应度值越大则个体约优秀,按照降序排序的方式排列,分别按照5%、20%、30%、30%、15%的比重将测试用例分成A、B、C、D、E,5类。

3.根据权利要求1所述的一种基于DBN的测试用例进化生成方法,其特征在于所述的步骤(3)中,将个体距离、分支距离和节点覆盖率归一化的方法为通过下式:将数据归一化到[0,1]区间,其中,x为待归一化数据,min(x)为数据的最小值,max(x)为最大值,归一化后输出向量y。

4.根据权利要求1所述的一种基于DBN的测试用例进化生成方法,其特征在于所述的步骤(7)中,根据计算的比重自适应调节变异率和交叉率的方法为:交叉率Pc的计算公式:

变异率Pm的计算公式:

其中,PCB=0.3,PCC=0.5、PCD=0.7,N表示种群中所有个体的个数,NB、NC、ND分别表示分类后得到的B、C、D类的个体的总数。

5.根据权利要求1所述的一种基于DBN的测试用例进化生成方法,其特征在于所述的步骤(3)中的测试用例或步骤(7)中的个体的分类方法为:根据优劣程度排序,从优到劣按照

5%、20%、30%、30%、15%的数量比例进行划分分类;分别对应A、B、C、D、E五类,优质程度为A>B>C>D>E。