10、混合多级交叉在基于搜索的单元测试用例生成中的应用

混合多级交叉在基于搜索的单元测试用例生成中的应用

1. 背景与相关工作

在软件开发中,基于搜索的单元测试生成(SBST)是一个重要的研究领域。它利用元启发式算法(如遗传算法)来自动生成不同测试级别的测试用例,包括单元测试、集成测试和系统级测试。

  • 单目标单元测试生成 :单目标技术指定一个或多个适应度函数,以引导搜索过程根据所需标准覆盖搜索目标。例如,Rojas等人提出了一种方法,使用加权和标量化聚合每个标准的所有适应度函数,并执行单目标优化来生成测试。Gay通过实验表明,在单目标中结合不同标准比单独使用每个标准能检测到更多的故障。
  • 动态多目标排序算法(DynaMOSA) :与单目标单元测试生成不同,DynaMOSA是一种基于多目标进化的方法。它将来自多个标准的每个覆盖目标视为一个独立的搜索目标,并利用不同覆盖目标之间的依赖层次结构在搜索过程中动态选择搜索目标。最近的研究表明,DynaMOSA的多标准变体在结构和变异覆盖方面优于单目标基于搜索的单元测试生成,因此可以实现更高的故障检测率。目前,DynaMOSA是EvoSuite中的默认算法。
  • 交叉算子 :像其他基于进化的算法一样,DynaMOSA的所有变体都需要交叉和变异算子来进化当前种群中的个体,以生成下一代。DynaMOSA在测试用例级别对测试进行编码,变异算子根据给定的变异概率改变所选测试用例中的语句。该搜索算法使用单点交叉将两个选定的个体(父代)重新组合成新的测试(子代)。
2. 混合多级交叉(HMX)方法

为了改进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值