[发明专利]基于DBN的测试用例进化生成方法有效
申请号: | 201810097805.0 | 申请日: | 2018-01-31 |
公开(公告)号: | CN108446214B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 包晓安;张唯;张娜 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/00 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 郑海峰 |
地址: | 310018 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于DBN的测试用例生成方法,属于软件测试领域。本发明包括:通过软件需求文档,构造不同的测试用例作为训练集用于训练基于DBN的测试用例分类器;结合自适应的遗传算法来进化生成测试用例。通过测试用例分类器的分类结果,自适应得调整遗传操作中的变异率和交叉率。采用选择、交叉和变异的方式来产生新个体,从而能更好地产生新的个体摆脱局部极值搜索到全局最优解。对产生的新个体继续进行分类,如果符合测试需求,就输出测试用例,如果不符合,继续进行遗传操作,直到所需的测试用例的个数达到规定个数。本发明能够解决应用传统遗传算法生成测试用例过程中存在的早熟收敛问题,通过种群分类的形式能够增加种群的多样性,提高生成测试用例的效率。 | ||
搜索关键词: | 基于 dbn 测试 进化 生成 方法 | ||
【主权项】:
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)输出测试用例。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810097805.0/,转载请声明来源钻瓜专利网。