● 摘要
组件和基于组件的软件开发是目前软件工程领域研究的热点。基于组件的开发方法使得软件系统的开发和维护变得更为简单,并且大大地提高了软件的可复用性和软件开发效率。但是,采用有问题的组件或者不正确地部署了组件,会给整个软件系统带来灾难性的后果。组件通常是由第三方软件厂商直接提供,组件的源代码对于使用者通常不可见,很多传统的软件测试方法不能直接用于组件测试中。同时,组件和基于组件软件具有的封装和状态特性也增加了组件和基于组件软件的测试难度。作为软件测试核心的测试用例和测试脚本的生成方法一直是软件测试领域研究的重点和热点。组件和基于组件软件的测试用例生成既要充分的运用已有的成熟测试技术和方法,又要考虑到组件源代码不可见、封装和状态等特性。组件的状态特性与面向对象技术中对象的状态特性有一定的相似性,可以通过扩充面向对象的测试方法来测试组件和基于组件软件。模态性是类在状态和接受消息上的限制。依据组件的状态特性,在组件中引入模态性概念,将组件分为非模态组件和模态组件。对具有不同特征的组件进行有针对性的测试。在组件模态性分析的基础上,分别针对非模态组件和模态组件进行从测试用例到测试脚本自动生成方法的研究。对于非模态组件,采用边界值和二元组合测试方法,结合XML技术和反射机制来实现测试用例及脚本的自动化生成;而对于模态组件,除使用非模态组件的测试方法外,还定义了扩展邻接表和扩展约束对照表来存储状态信息,并结合基于流的测试方法来产生方法序列测试用例及脚本。在理论研究的基础上开发出COM组件测试用例及脚本自动生成子系统,验证了测试用例及脚本生成方法的有效性。
相关内容
相关标签