论文摘要
近年来,基于构件的软件开发(Component-Based Software Development CBSD)方法不断成熟并在软件生产中大量使用。构件能够支持大粒度的软件复用,极大地降低了软件开发和维护的成本,提高了软件产品的质量。然而,CBSD在提高软件开发效率的同时,也带来了难于测试的问题。构件的生产商只对单个构件进行了充分的单元测试,而对于构件的使用者而言,基于构件的软件有异构性、源码不可知性、构件版本不确定性的特点,使进行构件化软件测试的测试用例选取及测试工具的创建都很困难。本文以构件化软件测试为研究对象,继承并发展基于合约检查的构件化软件测试理论,讨论了构件化软件测试的特点和现有测试方法的局限性,从提高构件易测试性方面讨论了基于合约检查的构件软件测试方法的可行性。对于如何解决构件运行时进行合约检查的问题,使用了构件合约包装的方法,对包装器所用到的技术进行分析,设计了通过包装构件进行测试的基本框架,并在Java平台下对包装器进行实现,用一个例子验证包装器的可用性。本文的构件包装能够提高构件的易测试性,对解决构件测试中异构和源代码不可知的问题有一定的积极意义,对最终完成一个集成测试平台,实现构件软件自动化集成测试打下一个良好的基础。本文有很多地方值得进一步改善和深入研究。为此,本文在最后讨论了不足并对后续的工作做出展望。