[发明专利]一种基于GA算法的测试数据进化生成方法有效
申请号: | 201710077936.8 | 申请日: | 2017-02-14 |
公开(公告)号: | CN106919504B | 公开(公告)日: | 2020-09-22 |
发明(设计)人: | 包晓安;郑腾飞;张娜;熊子健 | 申请(专利权)人: | 浙江理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/12 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 郑海峰 |
地址: | 310018 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ga 算法 测试数据 进化 生成 方法 | ||
本发明提供的是一种基于GA算法的测试数据进化生成方法。本发明包括:引入多种群的概念,进而考虑到这些种群的个体相似度以及种群多样性对测试数据生成的影响;考虑分支距离和节点覆盖率的影响,因此增加影响因子到改进的各种计算公式中,并加入一些权值因子,对这些影响因子进行权重分配,有利于测试用例的动态自适应调整。通过交叉率和变异率动态自适应调整策略,使得算法在运算能力方面得到加强。计算个体的贡献度,进而调整传统的适应值函数,有利于优异的个体在之后的进化中得以保存,以提高测试数据生成的效率。
技术领域
本发明属于软件测试领域,且特别是涉及一种基于GA算法的测试数据进化生成方法。
背景技术
软件测试是软件系统开发中保证软件质量的至关重要的环节,软件开发费用有很大的比重是用在测试上。若是测试过程能够实现自动化,则会很大程度地减少软件开发的费用,提高测试效率。测试用例的生成工作包含确定测试需求、确定输入数据、运行被测程序并分析对应的输出数据。测试用例自动生成技术的设计是软件自动化测试的一个重要难题,解决这个难题对保证软件质量至关重要,是提高软件质可靠性的保证。
遗传算法作为一种启发式搜索算法,具有简单易行、通用性强、鲁棒性高、全局搜索能力强等优点。遗传算法是求解测试数据自动生成问题的而有效方法,近年来国内外的相关研究成果较多。然而遗传算法固有的一些缺陷,如早熟停滞、易于陷入局部最优、后期搜索效率低等,影响了测试生成的效率。并且现有的适应值函数设计方法没有有效利用进化种群所反映的综合信息,从而没有很好地在进化过程中保护生成的测试数据。
因此,针对遗传算法的这些缺陷,对遗传算法进行一些改进,把测试节点的覆盖率、种群多样性和分支距离作为测试用例适应值函数的主要设计参数,力求极大的提高测试用例的优秀程度,对于测试数据的生成执行效率和覆盖率,力求使其得到的测试用例是最优的集合。提出了一种基于GA算法的测试数据进化生成方法,该方法在实际中的运行能力得到加强,在覆盖率、测试用例规模和搜索时间的方面,都具有很好地优势。
发明内容
本发明的目的是在经典遗传算法的基础上,针对遗传算法存在的缺陷和现有的方法设计适应值函数时存在的不足,引入个体贡献值以及交叉率和变异率动态自适应调整策略,使得优异的个体能够更好的得到保存,并且使算法的运算能力增强。
本发明解决其技术问题所采用的技术方案如下:引入多种群的概念,进而考虑到这些种群的个体相似度以及种群多样性对测试数据生成的影响;考虑分支距离和节点覆盖率的影响,因此增加影响因子到改进的各种计算公式中,并加入一些权值因子,对这些影响因子进行权重分配,有利于测试用例的动态自适应调整。通过交叉率和变异率动态自适应调整策略,使得算法在运算能力方面得到加强。计算个体的贡献度,进而调整传统的适应值函数,有利于优异的个体在之后的进化中得以保存,以提高测试数据生成的效率。
为实现上述目标,本发明提出了一种基于GA算法的测试数据生成方法。本方法具体步骤如下:
1)初始化子种群,采用位串形式编码,为种群个体染色体与二进制串之间建立一对一的映射关系;
2)计算种群的个体距离;计算节点覆盖率和分支距离;然后构造个体适应值函数;计算子种群中每个个体的适应值,并且按照降序排序;
引入节点贡献度,根据贡献度权重调整适应值函数,计算调整后的适应值函数值,并作为阈值;
3)选取各子种群中适应值大于阈值的个体构成主种群,再对主种群中的个体按适应值降序排序,选取排序前1/2的个体,替换掉各个子种群中适应值小于阈值的个体;
4)对步骤3)处理后的各子种群依次进行选择、交叉、变异操作,生成子代种群;
5)判断是否满足设定的终止条件,若满足,则算法停止,输出测试数据;反之,则跳转到步骤2)。
优选的,所述的步骤2)具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江理工大学,未经浙江理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710077936.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种采集日志消息的方法和装置
- 下一篇:软件缺陷预测方法及装置