论文部分内容阅读
软件测试已经变得比以往任何时候都复杂和困难。软件测试作为保证软件质量和可靠性的重要手段己经成为国内外软件行业研究的重点方向之一。研究测试用例的自动生成,可以降低手工测试的高额成本,将测试人员从繁重的劳动中解脱出来,同时提高测试过程的可信赖程度。测试用例自动生成方法的研究,对促进软件测试过程自动化程度,有着重要的现实意义。本文主要针对测试用例自动生成这一问题进行深入的研究和设计。首先,介绍软件测试的基本理论,分析比较测试用例自动生成的方法:随机法、符号执行法、程序直接执行法和遗传算法,最终确定使用遗传算法作为实现路径测试用例自动生成的核心算法。随后,基于对遗传算法及其适应度函数的特点进行分析和研究,重点介绍面向路径测试的适应度函数计算方法,对适应度函数性能进行评估。在适应度函数及适应值选择策略方面提出相应的改进。新的选择策略把群体分为若干组,以组为单位进行轮盘赌选择,在选中的组中,由该组内的个体综合作用产生新的个体。最后使用三角形分类程序作为例子,生成该程序的测试数据,针对四种常用的适应度函数和两种改进的适应度函数进行评估验证,并对实验数据进行分析。实验结果表明,能够产生较少的测试用例覆盖给定路径的方法是分支谓词方法和逆路径概率方法,在基于路径测试的遗传算法中,使用这两种适应度函数计算方法是最有效的。