论文部分内容阅读
随着生活中各类软件产品的迅速发展,人们对软件质量的要求也在不断提高。软件质量是通过软件测试相关技术来保障。其中,测试用例的自动生成及优先级排序技术,可以有效地提高软件的测试效率,降低软件测试所需的成本。已有的研究表明,元启发式搜索算法能够有效解决测试用例的自动生成和优先级排序问题。但是已有的研究主要集中在某几种搜索算法上,对于新型搜索算法的研究还较少。同时,测试用例的自动生成和优先级排序问题的研究,仍具有理论意义及实际应用价值。本文主要对人工蜂群优化算法用于解决测试用例自动生成和优先级排序问题进行了研究,主要研究内容概括如下:(1)针对标准人工蜂群算法前期搜索速度缓慢的问题,在局部搜索策略上进行改进,并将具有较快初期寻优速度的标准遗传算法改进并融合,提出一种自适应的遗传-人工蜂群算法,并将其用于路径覆盖的测试用例生成。(2)针对已有的多目标人工蜂群算法存在易陷入局部最优解的问题,提出了一种多目标人工蜂群优化算法。该算法设置了外部精英解集提出了全局最优更新策略、最优解引导的差分变异局部搜索策略和基于信息熵的蜜源选择策略,从而改善了原有算法的寻优性能。(3)本文将平均语句覆盖率、有效执行时间、历史缺陷发现率,这三个因素作为测试用例优先级排序的优化目标。但是,同时考虑到三个目标的优化问题的计算复杂度较高,因此将有效执行时间和历史缺陷发现率结合,提出了历史缺陷检测效率的概念,将三个目标优化问题转化为两个优化目标,并将提出的多目标人工蜂群优化算法用于求解测试用例优先级排序问题。实验结果表明,在解决测试用例自动生成问题上,本文所提的算法相对于已有的自适应遗传算法和蜂群算法,具有较高的收敛速度和全局寻优性能,能够有效提高测试用例的生成效率和路径覆盖率;在解决回归测试过程中的测试用例优先级排序问题时,本文所提的算法相对于NSGA-II算法和OMOPSO算法具有更高的收敛速度和更高的缺陷检测率。