构建以软件为中心的下一代自动化测试系统
2009-03-02
作者:美国国家仪器有限公司
摘 要: 为保证产品的质量和可靠性,测试管理人员和工程师们在设计验证、终端产品测试、设备维修诊断等应用领域都采用了自动化测试系统,它已迅速成为产品开发流程中的一个重要部分。本文介绍了从测试系统设计的挑战到NI为客户提供的模块化架构解析,其中包括:测试管理层,应用开发软件层,系统服务与驱动程序层以及处理总线平台层和模块化I/O与仪器控制,以帮助客户构造属于自己的下一代自动化测试系统。
关键词: 下一代自动化测试系统;自动化测试策略;模块化仪器;测试结构
自动化测试系统的设计挑战
测试管理人员和工程师们为了保证产品的质量和可靠性,在各种应用领域(设计验证、终端产品测试、设备维修诊断等)都采用了自动化测试系统。由于设计周期的后期产品瑕疵检测的成本呈上升趋势,使得自动化测试系统迅速成为产品开发流程中的一个重要部分。本文提出了需要减少测试成本和时间的问题,介绍了测试管理人员和工程师们如何通过建立模块化软件定义型测试系统来解决这些问题。这种测试系统在减少总体成本的同时,显著提高了测试系统的吞吐量和灵活性。
如今的测试工程师们面临着一系列新的压力:
· 产品设计比前几代更为复杂
· 为了保持竞争力并满足客户要求,开发周期要求越来越短
· 产品测试成本越来越高,而预算越来越少
日益增加的测试成本和日益减少的测试预算
为了应对器件复杂性增加、开发周期缩短和预算减少的挑战,测试管理人员和工程师们被迫放弃传统的测试设计策略,即基于传统箱式仪器或“大铁块”式的私有ATE系统。因为这些独立的仪器缺少软件处理所必需的灵活性,而且用户接口由厂商定义,只能由厂商通过固件更新。这样,仪器固件中没有定义的测试以及新标准的测试就难以执行;或者当要求变化时,也难以对系统进行修改。由于这些器件最初是作为独立仪器而设计的,缺少必要的集成能力,如数据流和同步功能。私有的ATE系统(如高度集成产品芯片测试仪)能提供所需性能,但成本相当高,可能会被工程团队废弃,过早地进行系统再设计。
针对这些情况,测试管理人员和工程师们正在实现模块化软件定义型测试结构。这种结构基于广泛采纳的工业标准,它可以提供:
· 更高的测试系统灵活性:可扩展至多种应用、业务部门,以及各个产品阶段
· 高性能的结构:可以显著增加测试系统吞吐量,并提供与不同仪器厂商之间的密切联系和集成,包括精密直流信号、高速模拟和数字信号以及射频信号的生成与分析
· 更低的测试系统投资:减少最初资本投资和维护成本,同时提高多种测试要求中的设备使用率
· 更长的测试系统寿命:基于广泛采纳的工业标准,允许通过技术升级来改进性能以满足将来的测试需求
NI公司作为自动化测试领域的领导者,致力于为产品工程师们设计提供新一代自动化测试系统所需要的硬件和软件。这本开发者指南包含了设计新一代自动化测试系统结构所需要的信息。如图1所示的测试系统结构,为工程师们提供了相关策略,以应对器件复杂性的增加、开发周期的缩短、预算的降低等一系列挑战。
自动化测试系统管理软件
自动化测试系统需要实现多种任务和测量功能。这些任务和功能中,一些与待测设备(DUT)相关,而另一些则通用。为了把维护费用降至最低,并且保证测试系统的寿命,实现DUT级别的任务与系统级别的任务相分离的测试策略十分重要。这样工程师们在整个开发周期中可以迅速地重用、维护并修改测试程序(或者模块),以满足特定的测试需求。
在所有的测试系统中,都存在根据待测设备的不同而采取的不同操作,也存在着对于待测设备通用的操作。
对于设备的不同操作:
· 仪器配置
· 测量
· 数据采集
· 结果分析
· 校准
· 测试模块
对于设备通用的操作:
· 操作界面
· 用户管理
· DUT跟踪
· 测试流程控制
· 存储结果
· 测试报告
为了使生产效率达到最大化,工程团队应该利用商业上可用的测试管理软件(例如NI TestStand软件),来减少对于每个设备的通用操作的开发。通过利用这款软件,工程师们可以专注于对各设备专有操作的开发。
应用开发软件
在测试系统结构中,应用开发环境ADE(如NI公司的LabVIEW和LabWindows/CVI)扮演了关键角色。利用这些工具,测试系统开发者可以与各种各样的仪器通信、集成测量、显示信息、与其他应用连接等。理想的ADE需要满足易用性、高效编译性、与多种I/O集成以及编程灵活性等一系列应用要求。
测量和控制服务
测量和控制服务提供对系统中各种硬件资源的连接、系统配置和诊断工具等,其作用至关重要。测量和控制服务还通过应用编程接口(API)提供了对应用开发软件层的集成,这样开发者可以很容易地对他们的设备进行编程。实际上,这种服务软件的部件——硬件驱动程序、应用编程接口(API)和配置管理器必须无缝集成到ADE中,从而使得性能最大化,提高开发生产率,减少总维护成本。
计算和测量总线
每个自动化测试系统的核心部件都是计算机(包括台式个人计算机、服务器工作站、便携式电脑或者嵌入式计算机等,与PXI和VXI配合使用)。使用计算式平台的一个重要方面就是可以与测试系统中各种各样的仪器进行连接和通信。现在有多种不同的仪器总线用于单独或模块化仪器,包括GPIB、USB、LAN、PCI和PCI Express等。这些总线功能不同,对于特定的应用,一些总线比另一些更加合适。
个人电脑的广泛使用促进了高性能内部总线的不断进步,其中包括PCI和PCI Express总线,两者具有最低的延时和最高的数据吞吐量或带宽。PCI总线提供了高达132MB/s的总线带宽,而PCI Express总线作为PCI总线的进化版,可提供4GB/s的带宽,以满足不断增长的带宽需求,同时在软件上对PCI总线完全兼容。图2解释了最流行的仪器控制总线的延时和带宽性能。
测量和设备I/O
目前有两种类型的仪器构架,即传统仪器和虚拟仪器。图3解释了这两种架构的相似性:两种都具有测量硬件、机箱、电源、总线、处理器、操作系统和用户接口。
从硬件上讲,两种构架最明显的区别在于部件的组织。对于每个分离的仪器,传统的或者独立的仪器把所有的部件都放在同一个箱子里,仪器的测量功能、分析、显示以及对仪器的控制都由供应商定义。
与之相反,模块化软件定义型虚拟仪器集成了通用的测量硬件。通过模块化的、软件定义的方法,用户可以进行自定义测量、为新兴的标准进行测量或者当需求改变(如添加仪器、通道或者新型测量)时修改系统。这种灵活的、用户定义型软件与可扩展的硬件组合是模块化仪器的核心。
设计新一代自动化测试系统
设备复杂性增加、开发周期缩短和预算降低使得工程团队重新评估现有的自动化测试策略,并且寻找出提高效率、减少成本的方法。在设计新一代自动化测试系统时,采用增加系统灵活性、提高测量和吞吐量性能、降低成本并且延长寿命的策略是非常重要的。
模块化的软件定义型自动化测试系统克服了以往基于独立式仪器或成本高昂的私有ATE系统解决方案的不足之处。模块化的硬件平台基于广泛采用的工业标准平台(诸如PXI等),允许工程师们开发可扩展的测试系统,将各个仪器供应商提供的功能紧密地集成到一起。另外,它还允许工程团队集成现有的设备投资来降低实现的初始成本。利用最新的PC技术(如多核处理器和PCI Express总线)的软件定义型测量,新一代自动化测试系统可以显著提高吞吐量,并且可通过扩展以满足不同产品阶段和业务部门的需求。
许多公司已经实现了模块化软件定义型测试系统策略,而且得到了这种策略对他们投资的回报。例如,微软公司在NI LabVIEW和PXI模块化仪器的基础上,为Xbox 360控制器设计的测试系统是前一代测试系统速度的两倍。美国空军(The U.S. Air Force)开发测试构架为他们的高级战斗机提供支持,利用基于PC机的软件和硬件构架,降低了成本,并且把测试系统的尺寸减小了一半。Sanmina-SCI公司利用NI TestStand和PXI产品构建了FDA认可的药品设备测试系统,超出了每周测试83 000台设备的要求,并且超出了产量要求的95%。