APP下载

改进的乌鸦搜索算法在软件测试用例生成中的应用

2021-05-15李清霞

应用科技 2021年2期

李清霞

东莞理工学院城市学院 计算机与信息学院,广东 东莞 523419

软件测试是对软件应用程序进行评估,以确定其是否存在缺陷的过程,这个过程确保了软件产品的质量。但是软件测试是一个相当昂贵的过程,其占据了软件开发成本的50%[1]。在软件测试过程中,测试用例的生成是最为关键的一步。测试用例以前以手工生成为主,但后来为了提高测试用例的质量以及节省时间和资源,手工生成测试用例的方法逐步被自动化生成测试用例所取代[2]。一般情况,新的测试用例生成可以通过原测试用例进行变异形成。因此,只需要在原测试用例的基础上自动变异便可以实现自动化生成测试用例[3]。

软件行业的自动化测试已经将测试效率从20%提高到80%[4]。一般情况下,自动化测试采用启发式算法自动或半自动地生成测试用例,而且还可以提供测试的分支覆盖,以实现更快的测试速度、减少测试数据等[5]。为了实现软件测试中测试用例生成的自动化,将启发式算法如智能仿生算法应用于自动化测试中以生成和优化测试用例[6]。例如,采用蚁群算法(ant clony optimization,ACO)对测试用例进行生成和优化后,测试用例减少了62%[7]。

除了蚁群算法,遗传算法(genetic algorithm,GA)、萤火虫算法(firefly algorithm,FA)、人工蜂群算法(artificial bee colony algorithm,ABC)和粒子群算法(particle swarm optimization,PSO)等基于启发式技术的智能仿生算法也被用于软件自动化测试中[8]。Bueno 等[9]提出了一种基于遗传算法和模拟退火的随机测试用例生成方法,该方法利用了测试集的差异,成功地提高了测试用例的变异效率和覆盖率。……

登录APP查看全文