论文部分内容阅读
粒子群优化算法(Particle Swarm Optimization,简称PSO)具有实现简单、收敛速度快、通用性强等优点,能够快速的为路径测试生成测试数据,对提高软件测试效率,降低软件开发成本有很重要的意义。但是该算法也存在局部搜索能力不强,容易陷入早熟以及浪费资源等缺点。本文对PSO算法在路径测试数据自动生成中的运用进行研究,并针对其存在的缺点进行改进,主要的研究内容如下:(1)对运用PSO算法进行测试数据生成的方法进行了研究,讨论了在其运用中的两个关键问题:适应度函数的构造以及算法参数的设置。(2)对测试数据的运动轨迹进行研究,分析出测试数据在搜索空间运动模式的差异性,结合K-means聚类算法对PSO算法中的粒子进行聚类。(3)提出了基于自适应策略的改进算法AIC-PSO算法。自适应策略中采用集群指标CI表示PSO算法中粒子群分簇后每个簇的密集度,并依此作为权重因子W的调整依据。将该算法与现有的针对PSO算法的改进算法进行对比实验,实验表明:该算法不但能够提高算法的测试数据生成效率而且能够增加PSO算法中粒子的多样性,有效的防止算法早熟。(4)提出了给予简约策略的改进算法SP-PSO算法。该算法采用在K-means聚类算法的基础上改进的二次聚类算法对PSO算法进行分簇,集群指标CI表示簇中粒子的密集度,CI作为是否使用简约的依据。将该算法与其他的PSO改进算法进行对比实验,实验结果表明:该算法能够降低算法对计算机资源的消耗,而且具有更高的测试数据生成效率。(5)采用Java语言实现一个测试数据生成工具。结果表明,该工具能够有效的对被测程序的目标路径生成测试数据。