论文部分内容阅读
基于组件的软件系统是多种异质组件的松耦合结构,与传统软件系统相比有更好的互操作性、可扩展性和重用性,其可靠性对组件质量高度依赖。组件软件常应用于网络分布式环境,其彼此独立的组成部件借助接口调用和消息队列实现系统整体耦合与通信。由于异构平台之间的通信接口定义与调用的语法和语义很难一致,导致了跨平台、组件化系统耦合性差、难以协调统一管理的问题。因此组件软件开发与测试成为现代软件工程研究的热点与难点;而组件的调用接口由于其位置与功能的特殊性,成为组件开发与测试的关键研究内容。另一方面,XML是由W3C组织推出的一种扩展标记语言,用来实现当前计算机科学与技术领域中几乎所有数据类型的表达与处理。它能够根据具体应用灵活地表现异构数据源中的各种信息,包括应用程序之间的数据交换、结构化和半结构化文档,从而解决了传统技术在接口开发方面数据的处理问题。随着组件测试技术的不断发展,在组件接口开发过程中也需要采用XML语言描述和操作测试数据。XML技术确保了相互独立环境下数据的一致性、完整性和可靠性,而且使得测试系统内部以及系统之间交换数据变得简单明了,这使得其在接口开发方面有着无可匹敌的地位。基于XML技术的软件开发是一个正在蓬勃发展的软件研发热点,XML的强大功能将在组件软件接口开发与测试方面得到有效体现。先将XML应用于组件接口定义语言(IDL)编译器的开发,测试与验证。借助XML API构造、验证IDL符号表和XML形式的中间代码,采用基于DOM API的IDL API扩展技术,建立基于XML API的IDL编译器整体设计框架。编译器前端过程能够借助XML工具统一管理,IDL API接口在测试基础上进行数据验证,生成的编译中间代码具有可维护性、移植性和验证功能。因此,IDL API的开发与验证研究为组件接口的扩展与测试打下了基础。为了适应不同的开发平台和语言,在传统的组件接口测试方法基础上,研究一种基于XML API的组件扩展接口变异测试方法是必要的。其中工作之一是给出组件扩展接口测试的框架,建立起扩展接口的定义模型。XML API在组件内部建立处理数据集的XML校验器,实现了原组件接口的扩展。借助组件外部的XML Schema变异算子完成组件内部数据集的自动验证和组件接口参数测试。与传统的接口变异方法相比较,基于XML API的组件扩展接口变异方法具有多种优点,例如可视化的多功能测试接口、可跨平台的通用性的测试语言等。实验表明,基于XML API的组件扩展接口变异测试方法可以应用于COM、CORBA、EJB等多种组件的测试环境。针对组件安全测试问题,建立面向不同类型组件的扩展接口,提出一个多功能测试框架,其中的访问控制及其测试接口可由XACML技术实现。进而研究出一种面向组件访问控制扩展接口的三层访问控制方法,组件交互,接口调用和参数访问都能实现安全控制,在此基础上设计对应的变异测试策略。根据该策略,规则变异可以导致某策略变异,策略变异可以导致整个策略集的变异;反之亦然。通过测试具体实例与验证其语义模型,该测试策略为组件接口及组件交互提供了访问安全保障。在基于XML开发和测试技术的一个针对COM组件的集成测试系统原型中,以COM组件接口分析的结果(xml文件)作为测试输入,然后生成测试模板,自动编译为测试用例DLL文件,进一步通过驱动器实现组件调用动态监测,分析测试结果,设计通用的测试报告。并将接口的变异错误注入加权组合测试技术与相关的测试用例约简技术应用于系统。总之,借助XML技术,对组件接口的开发,测试和验证实现了一整套方案。这为今后实现基于组件接口可信管理语言模型的开发奠定了基础。