论文部分内容阅读
软件回归测试是保证软件质量的一种有效的测试方法,其中,回归测试预优化技术旨在为测试人员提供最优的测试用例执行序列,满足测试人员不同的测试要求。在实际软件开发的测试环境中,测试人员往往需要根据不同的测试要求以及各种测试条件限制因素,制定综合评估测试方案,因此针对多个测试目标的测试用例预优化技术应运而生,但其自身的开销也很大。基于进化算法的测试用例预优化方法成为提升其性能的研究热点,并且在研究实验中表现出良好的性能。然而,随着种群规模以及优化问题规模的增大,进化算法的效率会严重下降。粒子群优化(Particle Swarm Optimization, PSO)算法因其简单高效成为应用进化算法解决优化问题时的首选算法。此外,通用目的的图形计算单元(general-purpose computation on graphics processing units, GPGPU)适用于处理数据运算量大于数据调度与传输需要的计算任务,能够有效提升基于进化算法的优化方法的性能。本文提出了一种基于GPGPU的多目标回归测试预优化方法,应用PSO算法提升预优化方法的性能。针对测试用例预优化问题,本文设计了PSO算法中粒子的表示和状态更新方式,研究了不同粒子更新方式和迭代次数及粒子群大小对多目标测试用例预优化结果的影响。此外,本文对上述方法的性能进行了细致的分析,并利用GPGPU加速技术进一步提升了计算性能。实验结果显示,针对所有的被测试程序本文提出的方法可以快速得到测试用例最优执行序列。同时,相比于应用NSGA-Ⅱ的测试用例预优化方法,本文方法在执行效率方面表现出明显的优势。因此,本文方法可以有效解决实际测试环境下的测试用例预优化问题。另外,本文针对方法中最耗时的适应度计算部分应用GPGPU加速,实验结果显示加速比在十几倍到几十倍之间,大幅提升了性能,进一步提升了本文方法的实用价值。