论文部分内容阅读
基于构件的软件开发(Component-Based Software Development CBSD)方法是继面向对象的设计方法之后,正在并逐步走向成熟的新的软件开发技术[1]。构件作为对外提供特定服务的软件功能模块单元,能够支持大粒度的软件复用,使软件的开发变成了对构件的集成,将软件的维护分解为对构件的维护,从而极大地降低了软件开发和维护的成本,提高了软件产品的质量。然而,CBSD在提高软件开发效率的同时,也给开发者带来了难于测试的问题。构件的生产商只对单个构件进行了充分的单元测试,而对于构件的使用者而言,多个构件之间的交互,由于构件版本的不同、开发构件的技术、集成环境的不同等差异而导致的错误如何捕获等构件化软件的集成测试问题,尚没有成熟的技术标准和切实可行的方法。本文讨论了构件化软件集成测试的特点和现有测试方法的局限性,分析了完成构件化软件集成测试所需的基本测试环境。在此基础上,提出了基于XML的合约驱动的构件化软件系统集成测试的体系结构。分别阐述了该体系结构的三大组成部分:测试配置体系、测试编译体系和测试执行体系。在测试配置体系部分,提出利用XML(eXtensive Markup Languages)来描述测试环境的各种组成元素和相互关系,并利用B.Meyer合约化软件设计作为测试理论基础,以合约严格地限定构件之间的交互规则,通过对合约的监视和检查,发现构件之间的交互错误。在测试编译体系部分,讨论了将测试配置体系编译为具体平台环境的可执行代码的相关技术和实现过程。最后在测试执行体系部分讨论了测试执行装置的设计,并描述了其执行过程。本文提出的构件化软件集成测试体系结构,使用开发者比较熟悉的XML来定义构件测试配置文件,实用性较强,是对现有构件化软件集成测试技术的改进。同时有很多地方值得进一步改善和深入研究,为此,本文在最后讨论了该体系结构的不足和展望。