[发明专利]一种软件测试用例自动生成方法有效
申请号: | 201810190656.2 | 申请日: | 2018-03-08 |
公开(公告)号: | CN108170613B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王博;张琨;尹魏昕;吴倩;林星辰;张家旺;徐建;蔡颖;牟甲鹏 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;南京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 100012*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种软件测试用例自动生成方法,包括以下步骤:步骤1、根据软件结构,分别生成包级、类级软件网络;步骤2、分别计算类级、包级软件网络中各节点的综合重要度;步骤3、分别根据类级、包级软件网络结构,计算各网络中节点间的依赖强度,进而确定状态概率及转移概率;步骤4、根据隐马尔可夫模型,为软件自动生成测试用例。本发明的软件测试用例自动生成方法,借鉴复杂网络相关技术,提供一种从节点重要性角度出发,综合考虑图拓扑结构的软件测试用例自动生成方法,且结果具有较高的可信度。 | ||
搜索关键词: | 一种 软件 测试 自动 生成 方法 | ||
步骤1、根据软件软件系统的结构,分别生成包级、类级软件网络;
步骤2、分别计算类级、包级软件网络中各节点的综合重要度;
步骤3、分别根据类级、包级软件网络结构,计算各网络中节点间的依赖强度,确定类级软件网络节点间的状态概率及包级软件网络节点间的转移概率;
步骤4、根据类级软件网络节点间的状态概率及包级软件网络节点间的转移概率构建隐马尔可夫模型,利用隐马尔可夫模型为软件自动生成测试用例。
2.根据权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤1中根据软件软件系统的结构,分别生成包级、类级软件网络的具体步骤为:步骤1.1、设立一个由n个类、N个包构成的软件系统,将所有的类抽象为类节点集合VC={vc1,vc2,…,vcn},vcn表示类节点集合中的节点,节点之间的所有静态和动态依赖关系抽象为类间连边集合EC={<vcic,vcjc>|vcic,vcjc∈VC},vcic和vcjc表示类节点集合中的任意两个节点,ic,jc∈{1,2,…,n},n为类的个数,软件系统的类间关系即表示为有向网络GC=(VC,EC),GC即类级软件网络;
步骤1.2、将所有的包抽象为包节点集合VP={vp1,vp2,…,vpN},vpN表示包节点集合中的节点,节点之间的所有静态和动态依赖关系抽象为包间连边集合EP={<vpip,vpjp>|vpip,vpjp∈VP},vpip和vpjp表示包节点集合中的任意两个节点,ip,jp∈{1,2,…,N},N为包的个数,软件系统的包间关系即表示为有向网络GP=(VP,EP),GP即包级软件网络。
3.根据权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤2分别计算类级、包级软件网络中各节点的综合重要度的具体步骤为:步骤2.1、确定类级软件网络GC中各节点vcic的重要性测度值,包括核数coreic、介数中心性bcic、PageRank值pric及网络效率neic;
步骤2.2、对类级软件网络GC中各节点vcic重要性测度值进行归一化处理,得到归一化后的重要性测度指标矩阵XC=(xcicuc),xcicuc表示重要性测度指标;
步骤2.3、根据熵权法确定衡量类节点重要性的测度指标权重,计算类级软件网络GC中各节点vcic的综合重要性imp(vcic);
步骤2.4、确定包级软件网络GP中各节点vpip的重要性测度值,包括核数coreip、介数中心性bcip、PageRank值prip及网络效率neip;
步骤2.5、对包级软件网络GP中各节点vpip重要性测度值进行归一化处理,得到归一化后的重要性测度指标矩阵XP=(xpipup),xpipup表示重要性测度指标;
步骤2.6、根据熵权法确定衡量包节点重要性的测度指标权重,计算包级软件网络GP中各节点vpip的综合重要性imp(vpip)。
4.根据权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤3分别根据类级、包级软件网络结构,计算各网络中节点间的依赖强度,确定类级软件网络节点间的状态概率及包级软件网络节点间的转移概率,具体步骤为:步骤3.1、计算类级软件网络GC中任意两个节点vcic与vcjc间的依赖强度,具体公式为:
式中,FACjc表示节点vcjc包含的属性和方法的数量,relcicjc为节点vcic依赖于vcjc的特征数;
步骤3.2、确定类级软件网络GC中任意节点vcic的状态概率,具体公式为:
式中,imp(vcjc)为节点vcjc的综合重要性;
步骤3.3、计算包级软件网络GP中任意两个节点vpip与vpjp间的依赖强度,具体公式为:
式中,CLAjp表示节点vpjp包含类的数量,relpipjp为节点vpip依赖于vpjp所涉及的类的数量;
步骤3.4、确定包级软件网络GP中任意两个节点vpip与vpjp间的转移概率,具体公式为:
moveipjp=εpipjp×imp(vpjp)
式中,imp(vpjp)为节点vpjp的综合重要性,moveipjp为节点vpip到节点vpjp的转移概率。
5.根据权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤4中根据类级软件网络节点间的状态概率及包级软件网络节点间的转移概率构建隐马尔可夫模型,利用隐马尔可夫模型为软件自动生成测试用例,具体步骤为:步骤4.1、根据类级软件网络节点间的状态概率及包级软件网络节点间的转移概率构
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;南京理工大学,未经国家计算机网络与信息安全管理中心;南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810190656.2/,转载请声明来源钻瓜专利网。