[发明专利]一种基于独立路径的测试数据自动生成方法有效
申请号: | 201810372298.7 | 申请日: | 2018-04-24 |
公开(公告)号: | CN110399286B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 王曙燕;王瑞;孙家泽 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710121 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明针对软件测试中测试用例生成问题,提供了一种基于独立路径的测试数据自动生成方法。首先对被测程序进行静态分析,得到其控制流图,通过圈复杂度导出所有的独立路径;其次,针对被测程序的具体问题进行编码,得到输入范围及路径编码;然后,根据路径分析及计算分支距离的方法,对被测程序进行插桩得到适应度函数;接着通过混沌序列产生均匀分布的初始种群,选取适应度函数值高的作为细菌觅食算法的初始种群;最后,利用改进后的细菌觅食算法和适应度函数进行迭代更新,直到求出所有独立路径的测试用例或者达到最大的迭代次数,记录输出覆盖独立路径的测试用例。本方法可在保证有效覆盖的前提下,以较少的测试用例、较快速的得到测试用例。 | ||
搜索关键词: | 一种 基于 独立 路径 测试数据 自动 生成 方法 | ||
【主权项】:
1.一种基于独立路径的测试数据自动生成方法,其特征在于包括以下步骤:(1)利用开源软件Soot代码分析工具,生成被测程序P的控制流图CFG,并进行精简以便于分析;(2)对(1)中生成的控制流图CFG利用圈复杂度得到预防错误所需测试的最少路径条数,即独立路径数N,并对各个路径分支进行编码;根据被测程序P的实际问题,分析其输入输出的类型和范围,确定编码,得到测试用例取值范围;(3)利用分支距离法对程序P的分支进行插桩,以此获得适应度函数F;(4)在步骤(2)中得到的测试用例取值范围内,利用混沌序列初始化细菌种群S;(5)以步骤(4)得到的种群,利用改进的细菌觅食算法(BFOA)以及步骤(3)中得到的适应度函数F更新迭代种群;(6)将步骤(4)和步骤(5)产生的种群个体,覆盖被测程序P中的未被覆盖的独立路径的测试用例记录输出;(7)判断算法的终止条件是否满足:如果不满足条件,跳回步骤(5)进行循环操作;如果满足条件,则结束算法,此时输出所有的测试用例集合。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810372298.7/,转载请声明来源钻瓜专利网。