论文部分内容阅读
软件测试的最终目的是为了发现其存在的缺陷或者错误,从而提高软件的质量。而进行软件测试的核心,是采用有针对性的理论和方法,生成有效的测试数据。关于测试数据生成和缺陷检测,已经存在大量的研究成果。但是,对于一些特殊的软件,比如含标记变量软件等,利用传统方法求解的效率往往很低。经过研究发现,软件中的各个语句之间往往存在紧密的制约关系,语句占优关系是常见的制约关系之一。本文将基于语句之间的占优关系,解决含标记变量软件的测试数据生成和缺陷检测问题,并开发相应的软件测试原型系统。针对含标记变量软件的测试数据生成问题,提出了基于语句占优关系的测试数据生成方法。首先,针对目标语句存在多个占优语句的情况,提出评价语句覆盖难度的4个指标;然后,给出这些指标的计算方法,并基于上述指标值,利用Topsis方法排序,选择最容易覆盖的占优语句;最后,建立基于语句占优关系测试数据生成问题的数学模型,并采用遗传算法求解模型,以生成期望的测试数据。将所提方法应用于多个基准与工业程序测试,实验结果表明,所提方法能够显著提高测试数据生成的效率。针对含标记变量软件的缺陷检测问题,提出一种基于语句占优关系的缺陷检测方法。首先,给出了基于占优关系检测缺陷的原理;然后,建立了缺陷检测测试数据生成问题的数学模型;最后,采用遗传算法求解该模型,以生成检测缺陷的测试数据。将所提方法应用于多个基准和工业程序测试中,并与已有方法比较,实验结果表明,所提方法具有更高的缺陷检测能力,且克服了测试Oracle问题。利用前面的理论与方法,开发了基于语句占优关系的软件测试原型系统,实现基于语句占优关系的测试数据生成和缺陷检测两种基本功能。系统建立友好的人机交互界面,根据用户的测试需求,处理用户的输入信息;而且为用户提供多种选择功能,尤其是遗传操作。在原型系统平台中,运行基准测试程序,实验结果表明,所开发系统稳定有效,为软件自动化测试提供技术支持。本文研究工作基于语句之间的占优关系生成测试数据并进行缺陷检测,为软件测试提供了新的思路,在增强软件测试有效性的同时,提高了软件测试的效率,因此,具有重要的理论和应用价值。