论文部分内容阅读
随着软件技术的发展和软件项目规模的不断扩大,软件测试的作用越来越重要。测试用例(Test case)是为特定目标开发的测试输入、执行条件和预期结果的集合,它的自动生成技术是软件测试自动化的关键技术之一。构建测试用例是一个难题,测试用例合适与否直接关系到错误能否被预期测出。遗传算法(Genetic algorithm, GA)是模仿生物遗传和进化机制的一种最优化方法,自上个世纪90年代以来,人们就开始尝试将遗传算法等人工智能技术运用于软件测试中,并取得了一定的研究成果。
本文主要研究的是面向路径的测试用例自动生成方法的优化策略。论文首先介绍了软件测试的基本理论、方法、测试用例自动生成技术及一些现有的实现方法,阐述了遗传算法的基本原理、步骤、存在的优缺点及其在软件测试领域的运用。其次,针对标准遗传算法(Standard Genetic algorithm, SGA)存在的未成熟收敛问题,本文提出了应用多种群遗传算法(Multi-Population Genetic Algorithm, MPGA)来自动生成面向路径的测试用例的系统方案。由于个体在种群间的迁移交换,MPGA保持了种群的多样性,相比SGA收敛性好,通过MATLAB工具仿真,验证了这一算法的高效性即所花费的时间和在找到目标路径所需生成的用例数量上SGA都明显多于MPGA。再次,该系统在MPGA生成的测试用例基础上做了进一步优化,应用测试用例缩减算法减少了冗余用例,大大降低了测试成本。最后,指出了本文提出方案的不足之处,及今后需要努力的方向。