论文部分内容阅读
测试用例的生成是软件测试研究的一个重要分支。运用智能搜索算法进行测试用例的生成是测试用例生成研究的热点之一。目前,大部分研究是对遗传算法、粒子群算法、模拟退火算法等进行改进并应用到测试用例生成中,但是这些算法都有其自身的缺陷。例如遗传算法易早熟,局部搜索能力弱,搜索后期收敛速度慢;粒子群算法易早熟和陷入局部最优;模拟退火算法结构较复杂,寻优耗时相对较长。这些缺点在应用中都影响着测试用例生成的质量和效率。另外,目前将智能搜索算法应用到多路径测试用例生成和组合测试用例生成中,对评价粒子质量的关键指标——适应度函数的改进还不够理想。为此,本文对万有引力搜索算法(GSA)进行改进提出了基于改进的Tent混沌万有引力搜索算法(ITC-GSA),并将其运用到多路径测试用例生成和组合测试用例生成中,主要的研究工作和内容归纳如下:(1)在分析GSA算法优缺点的基础上提出了ITC-GSA算法。改进Tent混沌映射来初始化种群;引入引力常数G的动态调整策略提高算法的收敛速度和收敛精度,设计成熟度指标判断种群成熟度并使用Tent混沌搜索有效抑制算法早熟收敛帮助种群跳出局部最优。(2)提出基于ITC-GSA算法的多路径测试用例生成。针对多路径测试用例生成的特点,在分析分支距离法和层接近度法的基础上,提出了一种新的适应度计算方法,其根据新生成的测试用例设计自适应权重来动态调整适应度函数值,提高多路径测试用例生成的质量和效率。(3)提出基于ITC-GSA算法的组合测试用例生成。根据组合测试的特点,结合平均海明距离和覆盖强度,将已生成的测试用例集中测试用例的影响考虑进来引导新的测试用例的生成,设计一种新的适应度函数计算方法。为验证本文所提算法在多路径测试用例生成和组合测试用例生成上应用和设计的相应适应度函数的有效性,本文分别设计了一系列实验进行验证。实验结果表明:ITC-GSA算法相较于GSA算法,收敛速度快、寻优精度高、能有效跳出局部最优、具有明显优势;对于多路径测试用例生成问题,所提算法及适应度函数的改进比遗传算法、粒子群算法、GSA算法迭代次数更少、运行时间更短、平均成功率更高;对于组合测试用例生成问题,所提算法及适应度函数的改进比遗传算法、粒子群算法、GSA算法在测试用例生成的规模和时间上都有很大的提升。