关键词:
多种群
蚁群算法
量子优化
软件测试
摘要:
目前,随着科技的进步,硬件产品的性能有着质的提高,特别是存储设备和计算机的计算能力进步巨大,使得软件产品的规模相应变得非常复杂,如何保障软件产品的质量已成为不容忽视的问题。在软件开发的整个生命周期中,软件测试是保障软件质量的关键环节,其作用显得越发的重要。在软件测试过程中,进行测试的难点之一是选择测试用例,这直接关系到错误能否符合预期的设计目标,在测试过程中被检测到。软件测试技术至关重要的技术之一,是测试用例的生成。现行的手工构造测试用例的方法,存在局限性,不仅工作量大、构造周期长,并且容易遗漏无法实现全覆盖。因此,实现高效、快速的测试用例自动生成,对于软件开发的质量,削减开发成本等都有非常重要的实际意义。对于目前已经被提出的一些自动生成软件测试用例的方法,虽然具有一定的实际应用性,但是由于生成测试用例的效率低,对于高速发展的软件技术来说,具有极大的局限性。目前,仍然没有哪种方法能够完善的解决这个问题,只能依赖于具体工程上的实际经验去判断,这严重的限制了测试技术的发展。因此,研究如何解决这些问题,在工程和学术上,都具有重要的意义。针对这种情况,本文提出了改进蚁群算法用于测试用例生成方法的研究,目的是基于其他学者现有工作的基础上进行改进,以期改善现有方法的局限性,使得测试用例的生成能够更加高效,主要的工作如下:首先,蚁群算法求解较优解的过程,经过多次迭代进化后,容易出现早熟、停滞,全局搜索能力降低,导致获得的最优解是局部最优解。本文提出了一种基于并行多种群自适应蚁群算法。该算法将蚂蚁种群分成多个群体,几个群体同时并行搜索,提高搜索路径的多样性,使得算法不会过早出现早熟收敛的现象;并且引入种群的多样性,使得蚂蚁的迁移规则能够自适应调整,然后构造适应度函数,将适应度函数作为权重自适应的更新信息素浓度。通过实验验证了该方法的搜索能力相比基本的蚁群算法有一定的优势,并且所需要的收敛代数要少的多,因此本文算法的改进是有效的。随后,本文通过分析发现应用并行多种群自适应蚁群算法生成的测试用例规模较大,不利于提高测试用例执行的效率和节约成本。于是本文将量子优化与多种群自适应蚁群算法结合,提出了量子多种群自适应蚁群算法以期能够优化测试用例的生成规模和效率。在该算法中采用量子比特来表示蚁群中的蚂蚁个体,来维持种群的多样性,算法通过量子态矢量,利用量子旋转门和量子非门实现蚁群个体的更新。本文通过将本文算法与其他的3种群智能算法进行比较,通过对比几种算法的平均收敛代数、平均运行时间段等性能指标。实验结果表明,本文提出的量子多种群自适应蚁群算法具有准确性和有效性。