基于遗传算法的变异规则补充方法及装置制造方法及图纸

技术编号:31023698 阅读:14 留言:0更新日期:2021-11-30 03:20
本发明专利技术公开了一种基于遗传算法的变异规则补充方法及装置,可用于金融领域或其他技术领域,该方法包括:获取原始变异规则种群,其中,所述原始变异规则种群包括:多个变异规则以及每个变异规则各自的预设执行状态;根据所述变异规则进行变异测试,得到每个所述变异规则各自的真实执行状态;根据适应度对所述原始变异规则种群中的变异规则进行筛选,得到筛选后的变异规则种群;进行遗传交叉,得到遗传交叉产生的变异规则;进行遗传变异,得到遗传变异产生的变异规则;将产生的变异规则加入到所述筛选后的变异规则种群中,得到遗传交叉变异后的变异规则种群。本发明专利技术有助于提高变异测试的充分性和完整性。的充分性和完整性。的充分性和完整性。

【技术实现步骤摘要】
基于遗传算法的变异规则补充方法及装置


[0001]本专利技术涉及变异测试
,具体而言,涉及一种基于遗传算法的变异规则补充方法及装置。

技术介绍

[0002]随着互联网科技产品的不断涌现,产品质量直接决定产品使用生命周期,测试作为互联网产品进入生产前的最后一道门槛,测试的全面性直接决定了产品使用的极限,最大程度验证了软件的服务质量,为产品的问题暴露、异常修正、改进调试等提出了建设性意见和决定性指示,保证软件在真实的生产环境中稳定、健康、持续进行高质量服务。
[0003]在软件测试领域中,变异测试是一种基于源代码进行变更的方式进行代码有效性判定的方式,通过对源程序中进行部分细节代码修改调整、执行,有效揭示单元测试存在的数据弱点或者代码功能不足,提升开发人员对代码的异常隐藏问题定位分析能力,降低产品的生产风险。
[0004]变异测试是一种基于代码细节调整执行的测试方法,主要思想源于对指令字节码的识别,并根据识别的特定字节码标识进行调整、修改,通过执行变异后的代码完成变异测试。现有的变异测试中,通过设定多种变异规则,例如startWith

>endWith,表示将代码中的关键字startWith修改为endWith,在进行变异测试时,根据各变异规则生成变异测试用例,进而执行各变异测试用例进行变异测试。由此可见,变异规则的设定直接决定变异测试的充分性和完整性。
[0005]目前的变异规则往往是通过借助规则划定的,这就导致在已有的变异测试中不同代码领域变异规则可移植性弱、变异种类相对固定等一系列问题。当前变异测试普遍存在缺乏变异规则更新扩充方法、已有变异规则局限性大的问题,在此条件下生成的变异测试用例,难以保证变异测试的充分性和完整性。

技术实现思路

[0006]本专利技术为了解决上述
技术介绍
中的技术问题,提出了一种基于遗传算法的变异规则补充方法及装置。
[0007]为了实现上述目的,根据本专利技术的一个方面,提供了一种基于遗传算法的变异规则补充方法,该方法包括:
[0008]获取原始变异规则种群,其中,所述原始变异规则种群包括:多个变异规则以及每个变异规则各自的预设执行状态;
[0009]根据所述变异规则进行变异测试,得到每个所述变异规则各自的真实执行状态;
[0010]根据所述预设执行状态以及所述真实执行状态确定每个所述变异规则的适应度,并根据所述适应度对所述原始变异规则种群中的变异规则进行筛选,得到筛选后的变异规则种群;
[0011]基于预设的交叉概率对所述筛选后的变异规则种群中的变异规则两两进行遗传
交叉,得到遗传交叉产生的变异规则;
[0012]基于预设的变异概率对遗传交叉产生的变异规则进行遗传变异,得到遗传变异产生的变异规则;
[0013]将遗传交叉产生的变异规则以及遗传变异产生的变异规则加入到所述筛选后的变异规则种群中,得到遗传交叉变异后的变异规则种群。
[0014]可选的,该基于遗传算法的变异规则补充方法,还包括:
[0015]根据程序代码的修改记录确定候补变异因子;
[0016]将所述候补变异因子与预设的初始变异因子库中的变异因子进行结合,生成变异规则;
[0017]将生成的变异规则加入到预设的初始变异规则库中;
[0018]将所述初始变异规则库中的原有变异规则的预设执行状态设置为通过,将新加入所述初始变异规则库的变异规则的预设执行状态设置为失败,得到原始变异规则种群。
[0019]可选的,在所述得到遗传交叉变异后的变异规则种群之后,还包括:
[0020]执行n次遗传交叉变异步骤,得到最终的变异规则种群,n大于等于1,其中,在每次执行遗传交叉变异步骤时,确定初始变异规则种群,对所述初始变异规则种群进行变异测试,得到所述初始变异规则种群中的每个变异规则各自的真实执行状态,根据所述初始变异规则种群中的每个变异规则各自的预设执行状态以及所述真实执行状态确定所述初始变异规则种群中的每个变异规则的适应度,并根据适应度对所述初始变异规则种群中的变异规则进行筛选,得到筛选后的初始变异规则种群,基于所述交叉概率对所述筛选后的初始变异规则种群中的变异规则两两进行遗传交叉,得到遗传交叉产生的变异规则,基于所述变异概率对遗传交叉产生的变异规则进行遗传变异,得到遗传变异产生的变异规则,将遗传交叉产生的变异规则以及遗传变异产生的变异规则加入到所述筛选后的初始变异规则种群中,得到本次遗传交叉变异步骤处理后的变异规则种群。
[0021]可选的,所述确定初始变异规则种群,具体包括:
[0022]在第一次执行所述遗传交叉变异步骤时,将所述遗传交叉变异后的变异规则种群作为初始变异规则种群;
[0023]在非第一次执行所述遗传交叉变异步骤时,将上一次执行遗传交叉变异步骤得到的处理后的变异规则种群作为初始变异规则种群。
[0024]可选的,该基于遗传算法的变异规则补充方法,还包括:
[0025]将遗传交叉产生的变异规则以及遗传变异产生的变异规则的预设执行状态设置为失败。
[0026]可选的,所述将所述候补变异因子与预设的初始变异因子库中的变异因子进行结合,生成变异规则,具体包括:
[0027]从所述初始变异因子库中确定出目标变异因子,其中,所述目标变异因子为与所述候补变异因子类型相同的变异因子;
[0028]将所述候补变异因子分别与每个所述目标变异因子进行结合,生成变异规则。
[0029]为了实现上述目的,根据本专利技术的另一方面,提供了一种基于遗传算法的变异规则补充装置,该装置包括:
[0030]原始变异规则种群获取模块,用于获取原始变异规则种群,其中,所述原始变异规
则种群包括:多个变异规则以及每个变异规则各自的预设执行状态;
[0031]变异测试模块,用于根据所述变异规则进行变异测试,得到每个所述变异规则各自的真实执行状态;
[0032]种群筛选模块,用于根据所述预设执行状态以及所述真实执行状态确定每个所述变异规则的适应度,并根据所述适应度对所述原始变异规则种群中的变异规则进行筛选,得到筛选后的变异规则种群;
[0033]遗传交叉模块,用于基于预设的交叉概率对所述筛选后的变异规则种群中的变异规则两两进行遗传交叉,得到遗传交叉产生的变异规则;
[0034]遗传变异模块,用于基于预设的变异概率对遗传交叉产生的变异规则进行遗传变异,得到遗传变异产生的变异规则;
[0035]遗传交叉变异后的变异规则种群生成模块,用于将遗传交叉产生的变异规则以及遗传变异产生的变异规则加入到所述筛选后的变异规则种群中,得到遗传交叉变异后的变异规则种群。
[0036]可选的,该基于遗传算法的变异规则补充装置,还包括:
[0037]候补变异因子确定模块,用于根据程序代码的修改记录确定候补变异因子;
[0038]变异规则生成模块,用于将所述候补变异因子与预设的初始变异因子库中的变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于遗传算法的变异规则补充方法,其特征在于,包括:获取原始变异规则种群,其中,所述原始变异规则种群包括:多个变异规则以及每个变异规则各自的预设执行状态;根据所述变异规则进行变异测试,得到每个所述变异规则各自的真实执行状态;根据所述预设执行状态以及所述真实执行状态确定每个所述变异规则的适应度,并根据所述适应度对所述原始变异规则种群中的变异规则进行筛选,得到筛选后的变异规则种群;基于预设的交叉概率对所述筛选后的变异规则种群中的变异规则两两进行遗传交叉,得到遗传交叉产生的变异规则;基于预设的变异概率对遗传交叉产生的变异规则进行遗传变异,得到遗传变异产生的变异规则;将遗传交叉产生的变异规则以及遗传变异产生的变异规则加入到所述筛选后的变异规则种群中,得到遗传交叉变异后的变异规则种群。2.根据权利要求1所述的基于遗传算法的变异规则补充方法,其特征在于,还包括:根据程序代码的修改记录确定候补变异因子;将所述候补变异因子与预设的初始变异因子库中的变异因子进行结合,生成变异规则;将生成的变异规则加入到预设的初始变异规则库中;将所述初始变异规则库中的原有变异规则的预设执行状态设置为通过,将新加入所述初始变异规则库的变异规则的预设执行状态设置为失败,得到原始变异规则种群。3.根据权利要求1所述的基于遗传算法的变异规则补充方法,其特征在于,在所述得到遗传交叉变异后的变异规则种群之后,还包括:执行n次遗传交叉变异步骤,得到最终的变异规则种群,n大于等于1,其中,在每次执行遗传交叉变异步骤时,确定初始变异规则种群,对所述初始变异规则种群进行变异测试,得到所述初始变异规则种群中的每个变异规则各自的真实执行状态,根据所述初始变异规则种群中的每个变异规则各自的预设执行状态以及所述真实执行状态确定所述初始变异规则种群中的每个变异规则的适应度,并根据适应度对所述初始变异规则种群中的变异规则进行筛选,得到筛选后的初始变异规则种群,基于所述交叉概率对所述筛选后的初始变异规则种群中的变异规则两两进行遗传交叉,得到遗传交叉产生的变异规则,基于所述变异概率对遗传交叉产生的变异规则进行遗传变异,得到遗传变异产生的变异规则,将遗传交叉产生的变异规则以及遗传变异产生的变异规则加入到所述筛选后的初始变异规则种群中,得到本次遗传交叉变异步骤处理后的变异规则种群。4.根据权利要求3所述的基于遗传算法的变异规则补充方法,其特征在于,所述确定初始变异规则种群,具体包括:在第一次执行所述遗传交叉变异步骤时,将所述遗传交叉变异后的变异规则种群作为初始变异规则种群,在非第一次执行所述遗传交叉变异步骤时,将上一次执行遗传交叉变异...

【专利技术属性】
技术研发人员:文弘扬熊小庆王睿周朝信
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1