论文部分内容阅读
随着计算机技术的飞速发展,提高软件可靠性的问题变得日益迫切,软件测试是保证软件可靠性的重要手段。统计表明,软件测试工作的成本占软件开发总成本的44﹪-50﹪,因此,对软件测试方法和测试支持工具进行研究是十分必要的。
然而,软件测试无法做到穷举测试。设计和运行测试用例还需要耗费大量的人力和物力。因此,为了提高测试效率以及测试的完整性和正确性,同时为了尽可能多地找出程序中的错误,生产出高质量的软件产品,实现测试工作的自动化就显得尤为重要。目前已有多种工具采用不同测试策略都实现了动态测试的自动化,但不论选择那种测试策略,测试数据的自动生成都是测试阶段中最为关键的技术问题。
本文主要面向的是条件句式的单元测试,针对条件测试的特点我们提出了一种测试数据生成技术—基于规则的测试数据生成技术。有别于传统面向路径覆盖测试数据自动化生成技术,我们的着眼点不再放在测试路径的选择上,根据选定的路径来生成测试数据,而是将测试对象由路径转到变量,分离、抽取或定义出条件句中那些可作为输入的变量,系统会依据一套规则为这些输入变量自动生成出相应测试数据,从而实现测试数据自动化生成技术。
面向条件语句的单元测试中,传统的路径覆盖选择策略常常会由于人为选择测试路径而可能导致测试的遗漏或测试数据不完备等问题,本文所研究的自动生成技术可以有效地克服路径覆盖选择策略带来的人为负面影响,以及代码实现较为复杂等缺点。该策略不但能够有效地克服这些缺点,同时还增强了测试数据的完备性、测试的可靠性和可达性等。并且本研究课题设计并实现了基于规则的测试数据生成工具,通过实例验证了生成测试数据的正确性和完备性。