基于ABBET的面向对象的测试模型研究
 

2009-11-12 作者:孟汉城,魏蛟龙 来源:网络

 

摘要:介绍了新一代测试体系规范ABBET,并引入面向对象的方法对其体系规范加以分析说明,在此基础上提出一个可重用、对象化的测试模型。该模型可用于测试系统的标准化、模块化以及测试软件的开发。

关键词:ABBET;对象;类;测试环境

前言

随着测试技术的迅速发展,自动测试系统的开发目标逐渐转为降低成本、缩短开发周期及增强系统对技术进步的适应性。其中,一个重要的应对策略就是测试产品向开放式结构发展,更多的采纳工业标准[1]。在美国军方的推动下,建立了以ABBET(A Broad Based Environment for Test)为代表的一系列有关电子测试诊断方面的标准,使武器系统的设计验证、生产制造、外场维护和基地维修一体化,维修保障能力得到迅速提高。

ABBET是用于产品测试领域的软件接口标准的集合,是为集成各种设计数据、测试策略与需求、测试过
程、测试结果管理及测试系统实现而规范的一个复合环境。其主要目标是为伴随产品整个生命周期的测试环境制定标准,规范用于测试的标准信息接口,使从测试信息到测试实现的过渡更为方便。

本文分析通用测试系统的运行环境,建立以ABBET为基础,以面向对象方法为导向的测试模型结构。

1 ABBET测试模型结构

ABBET在其规范中强调了信息建模技术及方法在产品的设计、验证、制造以及维护等生命周期的重要性。图1给出了基于ABBET的测试模型结构。

基于ABBET的测试结构是由一组接口组成的,每个接口都与一个或多个ABBET组件标准相关,或者与IEEE或其它公认的外部标准有关,为每个产品系列定义了与产品生命周期不同阶段相适应的基本接口。该模型结构分成3个层次,从上到下依次为:应用层、扩展框架层和基础框架层。

1.1 应用层

应用层主要是由测试程序集和作为测试资源的程序集组成的。ABBET通过提供来自测试开发五金|工具和测试应用框架的直接访问来支持应用层。库通常是子程序的集合,而框架结构是类(class)的集合,二者都可设计用来提供在某些具体和有限应用领域所需要的功能。

应用层利用一个或多个基本框架来提供对实现应用所需的类的访问。根据类对象设计原则,在应用层中考虑使用OMG IDL模块定义来避免不同类及子类之间的任何命名冲突,并且其每个模块都拥有一个唯一的模块名[2]。

对于测试模型中的应用层而言,很重要的一点就是对所发送或采集的数据进行处理,如以某种可视的方式显示给用户或者保存以便后续的分析。对此,ABBET模型采用的是IEEE1389测试和维护信息管理标准,该标准能够同时提供测试类数据采集和测试类数据处理的能力。

1.2 扩展框架层

扩展框架层包含一个或多个测试应用框架层。测试应用框架是为满足需要而设计的类的集合。所有的应用框架提供的服务都支持某个具体类型的测试主体、技术、资源或需求。

测试应用框架中既有普通的框架结构,也有特殊的结构。一般而言,信号框架结构是属于普通的应用对象类结构,而无线电接收机框架类对象、数字板框架类对象、汽车测试框架类对象等则属于一些特殊的对象结构。测试应用框架中的每个类都是和在基础框架底层结构中所创建的类层次相适应的。因此,一旦应用框架中的组件类在测试过程或程序内部被声明,它们就能够象系统的一个基本部件那样被使用。

扩展框架层次包含一个或多个应用框架(TAF)。如果应用具有更为广泛的作用或更多的受访问机率,可将相应的TAF移入基本框架。

1.3 基础框架层

基本框架结构是由一组接口组成的,每个接口都与一个或多个ABBET子标准相关,或者与IEEE或其它公认的外部标准有关。为每个产品系列定义了与产品寿命周期不同阶段相适应的基本接口。

基本框架层主要由如下类组合而成:测试基础类、产品数据和历史数据、测试策略、测试控制以及测试资源。它们将整个测试系统分成不同的模块,按照模块对象化的方式进行处理。其中测试基础类主要是包括信号、需求关系、设备属性能力、变量数据以及用户接口等;产品数据和历史数据类则是被测对象在整个测试过程中的响应集合,其中包括和仪器|仪表设备交互的数据以及和测试用户交互的数据;测试策略即为用户根据被测对象的具体情况而选择的测试方法集,如数字电路的1445诊断、人工智能中的神经网络诊断等;测试控制反映的用户通过RTO环境对测试过程的一种监控行为,也可以理解为通过适配接口和应用框架中的高层界面和测试对象的交互;测试资源是测试硬件设备和其操作属性的总称,该类提供的对象方法的主要作用是:通过测试控制总线连接硬件测试设备,实现虚拟资源到物理资源的映射[3]。

2 基于对象的测试模型结构

面向对象的方法强调从问题域的概念到软件程序和界面的直接映射。心理学的研究也表明,把客观世界看成是许多对象更接近人类的自然思维方式。将面向对象的方法引入到测试模型运行环境中,将测试组件以及测试资源按照对象方法模型化,实现产品研制、验证、制造以及维修等测试元素的充分整合,有利于提高测试资源的应用潜力。

测试运行环境中很重要的一个性能指标是缩短测试资源开发周期,尽可能地重用系统前期的测试资源。这样就需要测试环境支持测试设备的无关性以及测试组件的独立性[4]。即:

(1)测试设备的无关性要求开发好的测试程序能够在任何满足测试需求的系统中执行;

(2)测试组件独立性要求当前所开发的测试代码以及测试方法能够整合、集成到新的测试资源系统中去。图2给出了面向对象的测试模型运行环境。

在实际测试环境中,对于一个系统而言,测试硬件设备在系统中的改变比较少,主要是根据被测对象的不同而需要重新设计适配器层软件和相关接口硬件。运行测试对象的映射层面是指不同的被测对象、适配器软件层可映射到不同的对象上去。环境的软件部分主要由系统服务软件和运行测试对象RTO组成。系统服务软件主要负责测试控制以及设备的操作。运行测试对象包括基本对象数据、测试对象以及适配器ITA(Interface Test Adapter)对象和测试软件。

当执行一个测试程序时,首先必须配置正确的适配器,然后初始化各个测试元素对象。测试功能的执行实际上是运行通过RTO定义并实现的对象方法。RTO在该环境中可以看作是一个组合对象[5]。它包含了基本对象数据和测试主体对于被测单元的特殊对象,如代码、数据等。这种行为过程可用如下例子说明:在一个含有探针的测试系统中,当用探针进行故障诊断定位时,那么RTO比较包括探针的基本属性数据以及被测对象需要进行探针处理的电路节点上的规范数据,上面这两种对象的数据加上其他相关资源的对象就组成了当前环境中,关于探针诊断的RTO组合对象。

利用该对象运行环境模型,在一个兼容ABBET的开发系统中创建RTO将变得比较容易。

3 总结

本文首先概述ABBET测试体系结构,并在此基础上引入对象方法提出了基于ABBET的面向对象测试模型。通过引入标准化的对象类,提供统一对外接口和封装实现功能的方法,可提高测试程序的重用性能和执行效率。建立在ABBET基础上的测试运行环境模型不仅可用于武器系统测试,也可用于民用产品的检测。但对于模型的具体类对象实现、测试策略的选择等方面还需要进一步研究。

参考文献

[1] 杨平,杜丽.测控一体化的集成技术.电子科技大学学报,2002,31(1):27~30.

[2] IEEE std 1226-1998.Trial-Use Standard for A Broad Based Environment for Test (ABBET), 1998,12,8.

[3] 魏蛟龙,奚全生,陈恒,等.数字电路测试中的虚拟测试资源模型研究,华中科技大学学报,2005,33(7):8~10.

[4] 向东,蔡汉强.新一代测试系统软件结构-ABBET.软件技术,2003,4:40~43.


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织