论文部分内容阅读
随着软件规模和复杂性的不断增加,软件产品的可靠性和质量越来越难以保证。软件复用是提高软件产品质量与生产效率的关键技术,软件构件概念的提出为软件复用提供了技术基础。我们将使用构件构造的软件系统称为构件化软件1。与传统软件测试和面向对象软件测试相比,由于系统中的构件种类各异,构件的源代码和文档可能难以获得,以及构件的演化性等特点为构件化软件测试带来了新的挑战。到目前为止,还缺乏成熟的构件化软件测试技术。为了提高软件的质量和可靠性,降低测试难度,必须在设计阶段考虑软件和构件的易测试性。易测试性与测试紧密相关,是一个可度量的质量因素。如果软件具有较高的易测试性,则可以从一定程度上保证软件的可靠性,提高软件的测试效率。
提高构件的易测试性是提高构件化软件质量的关键因素。目前,对构件易测试性的研究主要是在构件中增加有助于理解、控制及测试构件的信息,有些还提供了相关工具的支持。在有关构件易测试性的定义和度量、构件模型与构件易测试性之间的关系、构件测试信息复用及测试支持工具等方面还有待进一步研究。本文在现有研究基础上进行了深入探讨,旨在针对上述问题提出一种系统、可行且有效地提高构件易测试性的技术。主要研究内容包括:
针对构件接口的行为特性,提出一组合约,探讨合约的描述、内容、类型等。依据构件接口合约与规约的一致性,定义构件接口合约的错误模型,以此选择有效的合约变异算子,并定义构件接口合约的变异充分度。
提出一个明确的基于接口合约的构件易测试性定义,并在此基础上给出了构件易测试性度量的方法。定义了构件易测信息的内容,并在构件模型中扩展易测信息,有助于促进构件的测试和复用。
研究易测构件的生成机制,提出了由构件接口合约生成易测信息的方法。首先根据接口合约生成初始测试数据,然后使用合约变异算子对合约进行变异,产生构件的变异体,最后用初始测试数据运行构件及其变异体,按照测试准则的要求,从中选择有效的测试数据。给出了为易测构件生成测试驱动程序的方法及其测试过程。
设计并实现一个构件测试支持工具,该工具支持合约定制、易测构件的生成以及构件测试等一系列活动。最后结合实验说明本文解决方案的可行性以及支持工具的实用性。
综上所述,本文从构件易测试性出发,在构件接口合约机制、构件易测试性定义及度量、构件易测信息及其在构件模型中的扩展、易测构件的生成、构件测试支持工具等方面进行了研究,提出一种较为系统、完整的提高构件易测试性的技术,为构件测试及质量保证提供有力的支持。