[发明专利]一种类集成测试序列生成方法有效
申请号: | 201810140091.7 | 申请日: | 2018-02-09 |
公开(公告)号: | CN108399127B | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 张艳梅;姜淑娟;张悦宁;薛猛;王荣存 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/00;G06N3/12 |
代理公司: | 徐州市三联专利事务所 32220 | 代理人: | 董开龙 |
地址: | 221116*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种类 集成 测试 序列 生成 方法 | ||
1.一种类集成测试序列生成方法,其特征在于,包括:
数据收集模块,用于获取类及类间关系信息,获取类优先级表;以及
类集成测试序列生成模块,其实现如下:
步骤A、读取所述数据收集模块中的所有类及类间关系信息;
步骤B、读取所述数据收集模块中的类优先级表;
步骤C、通过遗传算法自动生成类集成测试序列;
其中,所述步骤C具体实现过程为:
步骤一:对类进行编码;
步骤二:在类优先级表所给的优先级信息的约束下随机生成规模为类个数的2-3倍数量的初始种群P;
步骤三:构造适应度函数,用于评价个体的优劣;
步骤四:计算种群P中每个个体的适应度值,以测试桩总体复杂度和测试桩的总个数的加权平均作为个体评价标准;
步骤五:针对每个个体的适应度值对个体赋予不同的选择概率Ps,采用轮盘赌的方式从初始种群P中选择类个数的2-3倍数量的个体,生成新的种群P’;
步骤六:根据输入的交叉概率Pc,使种群P’中的父代个体进行两两交叉,对交叉后的个体进行合法性检验,保留合法的个体,舍弃不合法的个体;
步骤七:根据输入的变异概率Pm,对父代个体进行基因段重排,对生成新的个体进行合法性检验;
步骤八:重复步骤四至步骤七多次,最后得到的类测试序列结果即为最优解,最优测试序列使得构建测试桩的所花费的测试代价最小。
2.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,步骤三中,构造用于评价个体优劣的适应度函数时,综合考虑构建测试桩所花费的总体复杂度和构建的测试桩的个数两个指标;
其中测试桩的总体复杂度的计算需要借助所构造的所有的单个测试桩的复杂度,而在度量单个测试桩的复杂度时,采用的是客观的熵权法来确定所使用的属性复杂度和方法复杂度的权值。
3.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,步骤三中,适应度函数表示方法如下:
其中,Fitness代表适应度函数,等式右边代表测试桩总体复杂度和测试桩的总个数的加权平均;OCplx和NStub分别为生成一个类集成测试序列所花费的测试桩总体复杂度和测试桩的总个数;WOCplx和WNStub分别为测试桩总体复杂度和测试桩的总数的权重,取值在[0,1]之间,且满足WOCplx+WNStub=1。
4.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,步骤五中,
其中,Fi表示第i个个体的适应度值,N表示种群中个体的数量。
5.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于:所述步骤六中,交叉概率Pc取0.5。
6.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于:所述步骤七中,变异概率Pm取1/G;
其中,G为一个个体中基因的个数,即类的个数。
7.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,所述数据收集模块获取类及类间关系信息具体实现如下:
从面向对象系统的源代码获取所有类信息、描述类间关系的三元组和类间耦合信息。
8.根据权利要求7所述的一种类集成测试序列生成方法,其特征在于:所有类信息、描述类间关系的三元组和类间耦合信息是通过开放源码分析工具SOOT从待测程序的源代码中所获取;
所有类信息、描述类间关系的三元组和类间耦合信息分别保存在类信息文件和类间关系的三元组信息文件中。
9.根据权利要求1所述的一种类集成测试序列生成方法,其特征在于,所述数据收集模块获取类优先级表具体实现如下:
从面向对象系统的UML设计文档中的类图获得类优先级表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810140091.7/1.html,转载请声明来源钻瓜专利网。