浅谈:ATML在自动测试系统中的应用

不知道大家对ATML有没有了解,或者说IEEE 1671标准。不知道也没什么关系,毕竟这是一个比较新的测试标准嘛,2008年才由IEEE组织进行发布。而事实上,美国国防部在90年代就开始在测试领域使用ATML语言了。 

首先呢,不得不说一下自动测试系统的发展历史,相信大家都不陌生,毕竟大家每天的工作就是与这个玩意在打交道嘛。ATS,Automatic Test System,它的发展过程中经历了三个阶段,面向仪器的,面向应用的,还有面向信号的。从上世纪90年代开始,面向信号的测试系统开始广泛流行,不知道大家有没有过了解,在软件工程的发展历史中,面向对象的思想也是90年代软件开发方法的主流。所以呢,面向信号的测试系统充分的采用了面向对象的思想,将信号进行分类处理,将所有涉及到的信号分为了30多个基本信号类,整个测试系统当中,我们关注的更多的是信号的变换。这样的测试系统能够有效地将软件与硬件分离开来,能够淡化仪器在测试过程中的重要性,有助于测试程序和测试仪器的可互换,就是exchangeable。 

根据美国国防部的测试指南来看,自动测试系统的最重要的是信息共享和交互,应当能够满足产品整个生命周期的各个阶段,ATS内部各组件之间,ATS之间还有ATS与外部环境之间的信息共享和无缝交换。 

经过几十年的发展,自动测试领域不断的发现问题,也不断的解决问题。而在当前的信息化社会,信息以爆炸式的方式在不断地膨胀,对于大量信息的分析和处理具有非常非常重要的价值。按照未来学大师托夫勒的观点来看,信息化是整个时代的潮流,是当今时代发展的大趋势。所以说,自动测试领域也一定会向着信息化的方向发展,自动测试领域的信息技术将会在未来具有非常重要的价值和经济效益。 

在这里,我们举个例子,波音喷气引擎每运行30分钟就会产生10兆兆字节的运行信息,一架四引擎巨型喷气式飞机单程飞越大西洋可以生成640兆兆字节的数据。然后将这个数字乘以每天飞行的两万五千多架飞机,我们可以想象这个数据量之庞大,完全无法计算。就像在2011年11月发表的《噪音中的价值》文中写到的:这就是“海量数据”。 

如何从海量的信息中获取我们所需要的有用信息,包括海量数据的分析、搜索、数据整合、报告生成和系统维护,都是是一项非常大的挑战。就好比一个金矿,只有20%的金子是看得见的,剩下的80%都埋在尘土里无法看见。测试技术经过数十年的发展,积累下了非常多的数据信息,包括诊断信息、测试站信息、测试配置信息等等,这些信息都具有非常大的重复利用价值。在处理和分析这些信息的时候,我们会发现,如果所有的信息都采用同样的标准进行约束,那么数据的分析过程和难度将会大大减少。比如说,我们在测试系统A中生成的测试配置信息,符合通用的国际标准,那么在经过简易的配置参数修改之后,就能够利用到具有类似功能的测试系统B中。 

在这里我们参考了NI公司的2013年测试技术趋势展望手册,其中提到了很重要的一项,就是测试中的经济学。企业管理层通过衡量一些财务和商业指标来推动产品开发的改进,这些指标包括投资回报率(ROIC)、资产回报率(ROA)、上市时间、利润率和产品质量等。但是,对于测试组织的衡量却没有一个标准化的方法。在NI公司的调查数据中,我们可以发现,一个测试组织大约有66%的预算是用于维护当前的设备,只有34%投入到新商业能力的开发。这意味着,如何开发功能更强大而更便宜的系统,降低维护成本,具有相当大的经济效益。 

测试程序的复用和生产测试的标准化,能够将多个测试平台集成到一个通用测试平台,这样不仅可以利用规模经济来降低资本成本,还可以通过减少操作人员和技术人员来降低运行和维护的人力成本。当然,经济学并不是我们所擅长的领域,所以这里我们主要是引用NI公司的数据。下面的两项数据能够非常有效的说明上述观点: 

德国海拉胡可集团公司采纳了上述的战略,整合了多个产品线并将通用软硬件进行标准化。之后,公司成功的降低了46%的操作测试成本,测试吞吐量提高了57%,而投资回报时间仅为8个月。这个不得不说是非常有效的。 

另外呢,Philips公司采用相应的战略之后,在完全满足国际标准的同时,降低了81%的质量成本,每年节省了450万美元。 

通过上面的几个案例呢,我们可以发现信息化、标准化的自动测试领域,将会具有非常重大的意义。这时候我们会想到一个问题,如何实现测试技术的信息化、标准化? 

这是一个非常值得我们去思考的问题。当然,这些潮流都是由美国优先发起和引领的,IEEE组织为了迎合信息化的趋势,也为测试系统制定了IEEE 1671的标准。这项标准为测试系统的描述制定了国际规范,经过规范后的描述信息,能够有效地实现ATS组件与组件之间、ATS之间和ATS与外部环境之间的数据共享和交换。符合国际标准的描述信息,能够有效地减少ATS的开发时间和维护成本、便于测试信息的传递和互操作性。 

下面我们要介绍一下IEEE 1671的主要内容,ATML,Automatic Test Markup Language,自动测试标记语言。制定这个语言的目的是在一个自动测试的环境中,测试程序、测试设备,还有待测单元能够具有良好的互通性,能够像齿轮一般密切合作。而如何才能实现这样的功能呢?我们需要寻找一个标准的载体来完成各个组件之间的数据、测试和诊断信息的交互过程。这个载体应该需要有下面几项特点:首先,这个载体能够被多个操作系统所快速识别和可操作,包括windows,linux,IOS等等;其次,这个载体能够被多种编程工具进行编程操作,如C,C++,JAVA,LabVIEW等等;最后,这个载体应该具有良好的可视性,作为测试数据,工程师可能随时需要对数据进行识别,而0101的二进制序列的可阅读性太差。 

包含上述三点特点的载体,IEEE组织选择了XML语言,extensible markup language,可扩展标记语言。XML是一种标记语言,类似于HTML,但与HTML不同的是,HTML,超文本标记语言,更多的是对数据的一种展示,包括音频信息、视频信息等等,HTML文件中通常由数据信息和格式信息所组成。比如文件头的<head>,表示表格的标签<table>等等。而XML文件与之不同的是,XML文件是一种纯文本类型的语言,他的设计宗旨是传输数据,而不是显示数据。它能够实现数据与格式的分离,简化数据共享、传输和平台变更。作为一种现在通用的标记语言,XML适用于各种操作系统,而各种编程工具对XML的操作可以说是非常基础性的应用,另外,XML文件在可视性方面也具有非常良好的特性,我们可以使用IE浏览器、Word、Excel等可视化工具进行快速阅读。 

XML作为一种具有树状结构的语言,其文件与文件之间能够具有良好的关联性和可扩展性。因为它的这种特性,能够很好的契合面向对象的思想。采用XML语言作为载体,测试信息能够相互引用,在基于已有的大量信息的基础上,可以通过引用的方式,大大的减少当前工作的复杂度。面向对象指的是在程序中采用封装、继承和多态的设计方法,具体来说,就是将所有个体的特性进行分类处理,把相同类型的特性封装为一个类,分类后的个体与个体之间、也就是对象与对象之间,它们的差别仅仅为变量的属性值,比如说10cm长的铅笔和5cm长的铅笔,同样属于铅笔一类,只是长度的属性值不同而已。 

在自动测试领域里,同样包含有大量的相同类型的数据信息,比如测试站信息、测试配置信息、待测件信息等等,IEEE组织将这些部分进行分类处理,并对每一类中包含有的通用数据进行规范化定义。也就是IEEE 1671标准下的8项子标准,8类描述文件,称作ATML家族。 

ATML制定了大量的测试系统中会应用到的专有名词,任何使用ATML的测试系统必须使用符合该标准中定义的各项标签和结构。只有对所有的部件进行规范化定义之后,才能够实现数据之间的互操作性。所以说,ATML是XML语言在自动测试领域这一特定领域的应用扩展,它给XML语言制定了符合测试系统的唯一标记,方便使用者能够轻易的找到相对应的属性值。比如说我们使用过NI公司的PXI设备之后,假如NI 和Agilent的设备都符合IEEE 1671标准,那么我们就可以不用修改程序当中针对某一变量的特定名词。但如果两家公司对仪器的描述均有自己的定义规范,那么我们在更换仪器的时候工作量就会相当的巨大。 

ATML就是这么个测试领域中信息化与标准化的玩意,当然这是基于本人的理解了,如有巧合,纯属雷同!当然欢迎大家来讨论讨论! 
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值