智能与分布计算实验室
  基于契约的CORBA组件测试方法研究
姓名 程辉
论文答辩日期 2004.05.09
论文提交日期 2004.05.11
论文级别 硕士
中文题名 基于契约的CORBA组件测试方法研究
英文题名 Research on Contract-Based CORBA Components Software Testing
导师1 卢正鼎
导师2
中文关键词 软件测试;契约;组件对象;通用对象请求代理体系;异常
英文关键词 Software Testing;Contract;Component Object;Common Object Request Broker Architecture;Exception
中文文摘 随着软件开发技术不断变更和计算机网络的迅猛发展,大量软件系统采用基于CORBA的组件技术开发。CORBA组件的软件测试是基于CORBA的软件系统开发中不可或缺的一环,是保证软件质量、提高软件可靠性的关键。CORBA组件作一种分布式组件对象模型,相对于传统的软件系统在软件测试方法上有其特殊的要求。 在分析CORBA组件的可测试性的基础上,给出了一种基于契约的组件测试方法。该方法以契约的思想为基础,采用契约来定义CORBA组件行为,通过静态和动态测试CORBA组件对契约的遵守情况来测试CORBA组件的可靠性。根据这种测试方法,设计了一个基于契约的CORBA组件的测试框架CBTA。 CORBA组件软件错误的主要来源地之一就是复杂的CORBA异常机制。此类错误不易于发现、复现和调试,是软件测试中的难点,因而着重分析了CORBA异常测试方法。由于传统的契约思想不支持异常,扩展了契约的概念使之适用于异常机制,并以此为基础分析CORBA组件异常错误的特性,给出了一种针对CORBA组件异常机制的软件测试方法。 在上述研究工作的基础上,设计并实现了基于契约的CORBA组件测试框架CBTA的基本功能,着重分析了测试分析器TA,异常产生器EG和客户模拟器TE的具体实现方法。 最后给出了基于契约的CORBA组件测试方法的一个应用实例。 Panorama是自主设计和实现的一个基于CORBA多数据库原型系统,以Panorama系统中Oracle局部数据库代理为例,应用这种测试方法对该组件进行测试,取得了很好的效果。
英文文摘 With the development of software and network technology, plenty of software systems are developed based on the CORBA components technology. The software testing of the CORBA components can guarantee the quality and improve the reliability, so it is a very important section of the developing of such software systems. CORBA, as a distributed component model, has special requirement on the testing method, compared with the traditional software systems. After analyzing the testability of the CORBA components, we put forward a contract-based CORBA components testing method. In this method, CORBA component is descripted by contracts. We test whether the contracts are complied to guarantee the reliability of the component. We also design a contract-base testing architecture of CORBA components. One of the primary sources of the CORBA component defects is the complex mechanism of the CORBA’s exception. Such defects are difficult to discover, repeat and debug. The traditional contract concept does not support exception, so we extend it and apply it to the exception mechanism and put forward a method for the testing of CORBA component’s exception. We design and implement all the basic functions of the contract-based CORBA component testing architecture. We also analyze how to implement the Testing Analyzer, Exception-Generator and Client Emulator. At last, we introduce how to apply the method in the system “Panorama”. Panorama is a protype system of multi-database based on CORBA components. In the system, the ORACLE local database agent is a typical component. we use it as an example to introduce how to test a CORBA component.