论文部分内容阅读
面向对象技术在软件工程中的推广使用,使得传统的结构化测试技术和方法受到了极大的冲击。为此,本文结合传统的测试技术,从面向对象软件度量和测试自动化工具的开发两个方面对面向对象软件的测试进行了研究。 本文在以下几个方面进行了较为深入的研究: 1.面向多种OO语言的软件综合测试环境的体系结构。本文提出了一种集软件测试、质量评测和维护于一体的软件测试环境。该软件测试环境的体系结构具有高度可重用性和灵活性,适用于多种面向对象语言。 2.基于块的控制流图模型。基于块的控制流图模型是对传统控制流图模型的改进和扩展。本文提出的块这个概念是分析程序控制流的基础,通过将程序划分为块的序列,从而从根本上保证了对多种面向对象语言的测试语义的一致性。 3.面向对象的测试充分性度量准则。本文提出了一种新的基于块的面向对象覆盖度量,可以比传统的结构化覆盖度量获得更精确的测试覆盖数据。 4.面向对象的软件度量。面向对象度量的研究是面向对象开发方法的不可缺少的一环。针对面向对象的继承和多态特性,本文提出和改进了四个面向对象度量:增强的Cyclomatic复杂性度量、类方法数、类重用的方法数、类重用的方法数的百分比。 5.软件测试自动化技术。开发软件测试自动化工具的目的在于简化复杂的测试工作。本文研究和改进了“代码插装”、“测试捕获/回放”和“测试用例最小化”等测试自动化中的关键技术。 6.面向分布式的嵌入式软件测试平台。本文针对分布式嵌入式软件系统的结构特点,提出了一种与被测系统的硬件结构无关的软件测试系统平台。可以对分布在通信网络中不同位置的多个测试系统实体进行全面测试,而且支持动态测试和多方并发测试。同时,改进了协议一致性测试中测试控制器基于表格(状态迁移表)驱动的传统设计模式,克服了当前形式化描述语言固有的描述能力差和计算能力薄弱的缺陷。并利用自定义的一种形式化描述语言DSL实现了协议一致性测试集的形式化。