Abstract:测试数据自动生成是实现自动化测试的关键步骤。大多数针对单元测试的自动化测试工具只提供测试用例的执行驱动,不能生成满足覆盖率要求的测试数据。本文提出了一种改进的鲸鱼遗传算法,用于生成单元测试MC/DC覆盖所需的测试数据。为避免遗传算法陷入迭代退化,引入精英保留策略;同时引入鲸鱼算法的变异阈值,平衡遗传算法的全局探索和局部开采能力,并根据当前的种群多样性动态调整该阈值,正向引导种群进化;最后,提出了一种改进的交叉策略来加速算法的收敛。将改进的鲸鱼遗传算法与遗传算法、鲸鱼算法、粒子群算法在两个基准程序上进行对比实验,结果表明改进算法生成测试数据的速度更快,覆盖率更高,评估次数更少,在生成MC/DC覆盖测试数据生成方面具有很大优势。