[发明专利]一种基于信息熵粒子群算法的测试用例生成方法在审
申请号: | 201810465966.0 | 申请日: | 2018-05-15 |
公开(公告)号: | CN108763069A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 张迎周;孙仪;高扬;张灿;竺殊荣 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 陈望坡;姚姣阳 |
地址: | 210033 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 覆盖 完整测试 粒子群算法 信息熵 测试用例生成 测试用例集 优先级排序 测试 组合集 缺省 删除 重复 | ||
1.一种基于信息熵粒子群算法的测试用例生成方法,其特征在于:包括以下步骤:
步骤一:根据待测系统包含的因素的个数、因素的取值、以及因素间的约束关系,确定需要覆盖的组合集;
步骤二:在符合组合覆盖的前提下,对需覆盖组合集中的组合代入具体取值并进行部分数据的缺省,为需覆盖组合集中的每个组合分别生成含有部分值缺省的初始测试用例;
步骤三:根据需覆盖组合集中的每个组合对应的初始试测用例包含其他组合的个数,对需覆盖组合集中的组合进行优先级排序,其中,组合对应的初始试测用例包含其他组合的个数越多则该组合的优先级越高;
步骤四:从需覆盖组合集中选择优先级最高的组合,并采用信息熵粒子群算法为该组合对应的初始测试用例中待确定的值选择最佳取值,生成所有值都确定的一条完整测试用例;
步骤五:将步骤四生成的完整测试用例添加到需覆盖组合集中,并将需覆盖组合集中被该条完整测试用例覆盖的对应组合删除;
步骤六:重复步骤四与步骤五,直至需覆盖组合集中的所有组合都被相应的完整测试用例覆盖替换,从而生成覆盖范围广且数量少完整测试用例集。
2.根据权利要求1所述的一种基于信息熵粒子群算法的测试用例生成方法,其特征在于:在步骤一中,需要覆盖的组合集的确定包括以下步骤:
步骤(1):根据待测系统包含的因素的个数、因素的取值、以及因素间的约束关系,确定因素的组合力度;
步骤(2):根据因素的取值、因素间的约束关系、以及步骤(1)中确定的因素的组合力度生成需要覆盖的组合集。
3.根据权利要求1所述的一种基于信息熵粒子群算法的测试用例生成方法,其特征在于:在步骤二中,需覆盖组合集的初始测试用例的生成包括以下步骤:
步骤(1):根据待测系统包含的因素的个数、因素的取值、以及因素间的约束关系,确定因素的组合力度;
步骤(2):按照pict工具使用的要求,将需要组合的因素和取值保存在.txt文件中,并根据步骤(1)确定的因素组合力度,生成相应的组合数据;
步骤(3):根据因素间的取值约束关系,将步骤(2)生成的组合数据中的无效组合数据进行剔除,保留有效组合数据;
步骤(4):将需覆盖的组合集与步骤(3)生成的有效组合数据进行比对,从而为需覆盖组合集中的每个组合分别生成含有部分值缺省的初始测试用例。
4.根据权利要求1所述的一种基于信息熵粒子群算法的测试用例生成方法,其特征在于:在步骤四中,采用信息熵粒子群算法生成完整测试用例包括以下步骤:
步骤(1):从已经标注好优先级的需覆盖组合集中优先选择优先级最高的组合,并随机初始化粒子的位置和速度;
步骤(2):计算选定全局最优粒子和局部最优粒子;
步骤(3):根据人工免疫算法亲和度的思想,选择以信息熵的计算公式计算粒子间的亲和度,当亲和度的值超过时限给定的阈值时,则判断粒子间过于聚集,此时按照预设概率添加变异因子,将聚集的粒子打散而生成新粒子,并重新计算粒子的适应度值,再跳转执行步骤(2);当亲和度的值没有超过时限给定的阈值时,则判断粒子间不会过于聚集,此时跳转执行步骤(4);
步骤(4):判断粒子是否满足迭代结束条件,当粒子不满足迭代结束条件时,按照自适应调整策略进行粒子自适应调整,并重新计算粒子的适应度值,再跳转执行步骤(2);当粒子满足迭代结束条件时,输出初始测试用例中待确定值的最佳取值,生成所有值都确定的一条完整测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810465966.0/1.html,转载请声明来源钻瓜专利网。