论文部分内容阅读
由于基于构件的软件开发技术使得大量结构相似的应用程序可重用,缩短了软件开发周期、减少了软件开发成本,因而成为当前软件开发的主流技术,与此同时,相关的质量保证技术研究成为重要的研究内容,其中构件测试作为最有效、最直接的质量保证技术手段成为近年来软件工程领域的研究热点。但是,由于构件的异构性以及构件开发方和构件使用方之间信息的缺乏使得构件在集成到具体应用环境时无法实施全面、高效的集成测试,这样构件系统的可靠性、安全性就无法保证。针对上述问题,对基于元数据的构件测试所涉及的相关理论、模型及其应用展开了研究,旨在加强构件开发方和构件使用方信息交流,提高构件可测试性,其主要途径是通过由构件开发方提供描述构件有关静态和动态信息的元数据,使得构件使用方所实施的集成测试不再是纯粹的黑盒测试,而是一定程度上的白盒测试。根据构件应用的特点以及构件元数据的一般功能和需求,引入分层元数据的概念,将其分为描述性元数据和操作性元数据,其中描述性元数据按照标识、应用、成熟性、变更和质量保证五个层次进行划分,操作性元数据则要根据构件所完成的相关操作或任务来确定,一般来说,分为输入/输出、运行系统需求、远程操作三个层次,将这两种元数据封装在一起,构成一个元数据对象,具体使用时对该对象进行操作,直接进行应用;应用上述定义,描述分层元数据的参考模型及其UML表示,并进一步构造分层元数据系统的层次结构和一般性框架;在此基础上,将分层元数据应用到构件测试用例生成中,根据分层元数据的具体内容,用UML用例和场景来刻划测试功能需求,使用相应的映射方法将其映射成形式化的测试用例元模型,进而构成嵌入元数据的测试元模型,实施集成测试。可将分层元数据应用在回归测试中,通过对构件的变更进行分析、分类,构造分层元数据中描述变更的变更模型,使用变更-接口映射图、方法依赖图、分层描述性元数据的接口模型以及相应的算法来实现构件内方法变更到构件接口变更的映射,使得构件使用方只对发生变更所影响的测试用例实施回归测试,回归测试用例数减少到最小,回归测试时间明显缩短。分层描述性元数据中的分析模型基于构件内变量和方法之间的耦合信息来构造,根据形式化的构件耦合测试准则描述,使用构件方法耦合图的概念描述构件中方法之间的耦合关系,进而构造包含构件内定义和使用信息的DU表,并引入旨在提高构件可观察性的基于观察点的监控机制,构造一个基于构件耦合信息的可测试构件的总体实现框架。应用该框架可以较好地发现构件中的异常。分层元数据系统中构件之间依赖关系的描述可用构件依赖关系矩阵的形式来表示,对构件之间的依赖关系进行了分析,其中包含了八种构件依赖关系,可以用构件依赖图的形式来构造构件依赖模型,并用构件依赖关系矩阵CmDM和复杂依赖关系矩阵CmDDM来描述构件Cm与构件系统中其它构件之间的依赖关系,可使用基于源代码和规范说明的构件依赖关系确认方法来明确这些依赖关系,构件依赖关系的确定可帮助构件使用方更明确地实施集成测试,而且当构件发生变更时可用构件依赖矩阵来确定回归测试用例集合,另外当构件重用时也可应用构件依赖矩阵来确定与该构件有关的构件集合,因此,使用构件依赖关系矩阵可提高构件集成测试效率。