高级检索

    基于粒子群优化的测试数据生成及其实证分析

    Algorithm Design and Empirical Analysis for Particle Swarm Optimization-Based Test Data Generation

    • 摘要: 运用元启发式搜索进行结构性测试数据生成已经被证实是一种有效的方法.在讨论基于搜索的测试数据生成基本框架的基础上,以分支覆盖作为测试覆盖准则,给出了基于粒子群优化(particle swarm optimization, PSO)的测试数据生成算法,并通过分析分支谓词的结构特征提出了一种新的适应函数构造形式.在此基础上,针对一些公开的程序集开展对比性实验分析,证实粒子群优化算法在平均覆盖率、全覆盖成功率、平均收敛代数和搜索时间4项指标上均要优于遗传算法和模拟退火算法.同时,编程实现了4种典型的PSO变体算法并进行测试数据生成效果的实证分析,结果表明:基本PSO是解决测试数据生成问题的首选算法,而综合学习式PSO算法的表现则相对较差.

       

      Abstract: How to generate a test dataset with high coverage and strong fault-revealing ability is a difficult problem, especially for software structural testing. Recently, meta-heuristic search has been confirmed to be an effective way to generate structural test data. In the paper, a swarm intelligence-based method is proposed to handle this problem. At first, the basic framework for search-based test data generation is discussed. Then, with regard to branch coverage criterion, the algorithm for generating test data based on particle swarm optimization (PSO) is proposed. Meanwhile, a new way to construct fitness function is defined according to the structure analysis for branch predicates in program under test. Subsequently, ten open published programs are used to perform experimental evaluation. The experimental results show that PSO outperforms genetic algorithm (GA) and simulated annealing (SA) in all four metrics, i.e., average coverage, success rate, average convergence generation and average time. In addition, other four PSO variant algorithms are also introduced and implemented to conduct comparison analysis with the basic PSO. The results indicate that the basic PSO is the most suitable algorithm for test data generation problem. On the contrary, comprehensive learning PSO (CLPSO) exhibits the worst performance in all variant algorithms.

       

    /

    返回文章
    返回