1. 绪论:自动化测试系统的设计挑战
测试管理人员和工程师们为了保证交付到客户手中的产品质量和可靠性,在各种应用领域 (从设计验证,经终端产品测试,到设备维修诊断) 都采用自动化测试系统。他们使用自动测试系统执行简单的“通过”或“失败”测试,或者通过它执行一整套的产品特性测试。由于设计周期后期产品瑕疵检测的成本呈上升趋势,自动化测试系统迅速地成为产品开发流程中一个重要的部分。这篇“设计下一代自动化测试”的文章描述了一些迫使工程团队减少测试成本和时间的挑战。这篇文章还深刻地洞察了测试管理人员和工程师们如何通过建立模块化软件定义型测试系统来克服这些挑战。这种测试系统在减少总体成本的同时,显著地增加了测试系统的吞吐量和灵活性。
如今的测试工程师们面临着一系列新的压力。他们所面临的产品开发环境情况如下:
产品设计比前几代更为复杂
为了保持竞争力并满足客户要求,开发周期要求越来越短
产品测试成本越来越高,而预算越来越少
不断提高的设计复杂性
如今,测试测量的最明显趋势是器件复杂性不断增加。例如,消费电子、通信和半导体工业持续要求将数字图象/视频、高保真音频、无线通信和因特网互联性集成到一个单独产品中。甚至在汽车中都集成了复杂的汽车娱乐和信息系统、安全和早期预警系统,以及车身和发动机上的控制电子装备。测试系统的设计不仅需要足够灵活地支持对不同产品模型进行广泛的测试,还需要能够进行升级以提供新测试功能所需的更多测试点。
更短的产品开发周期
由于希望不断提高新产品和技术,拥有市场第一个占有率的竞争天性,设计和测试工程团队只能不断的缩短产品开发周期。为此,工程团队必须设计出新的测试策略来减少测试时间,并提高从设计到生产的测试效率。
日益增加的测试成本和日益减少的测试预算
增加设备功能通常会导致测试流程更昂贵、费时。然而,构建每个功能的成本却是降低的,这就迫使工程部门要减少成本和预算,如图1所示。工程师们必须改进测试策略,通过增加测试系统的吞吐量、减少维护和升级成本和必需的资本投资来降低总成本。
图1. 来自SIA的数据表明:随着时间推移,硅(或者器件功能)的成本在降低,但测试成本却在持续增加。
2. 日益增加的测试成本和日益减少的测试预算
为了应对器件复杂性增加、开发周期缩短和预算减少的挑战,测试管理人员和工程师们被迫放弃传统的测试设计策略,即基于传统箱式仪器或“大铁块”式的私有ATE系统。这些独立的仪器缺少软件处理所必需的灵活性,而且用户接口是由厂商定义的,只能由厂商通过固件更新。这样,仪器固件中没有定义的测试以及新标准的测试就难以执行;或者当要求变化时,也难以对系统进行修改。由于这些器件最初就是作为独立仪器而设计,他们缺少必要的集成能力,譬如数据流和同步功能。私有的ATE系统(例如高度集成产品芯片测试仪)能提供所需性能,但成本相当昂贵,可能会使工程团队被废弃,过早地进行系统再设计。
针对这些情况,测试管理人员和工程师们正在实现模块化软件定义型测试结构。这种结构基于广泛采纳的工业标准,可以提供:
更高的测试系统灵活性:可扩展至多种应用、业务部门,以及各个产品阶段
高性能的结构:可以显著提高测试系统吞吐量,并提供与不同仪器厂商之间的密切联系和集成,包括精密直流信号、高速模拟和数字信号和射频信号的生成与分析。
更低的测试系统投资:减少最初资本投资和维护成本,同时增加多种测试要求中的设备使用率
更长的测试系统寿命:基于广泛采纳的工业标准,允许技术升级来改进性能并满足将来的测试需求
NI公司作为自动化测试领域的领导者,致力于为产品工程师们提供设计新一代自动化测试系统所需的硬件和软件。这本深入的开发者指南包含了设计新一代自动化测试系统结构所需要的信息。绪论部分描述了一个如图2所示的测试系统结构,为工程师们提供了相关策略,以应对器件复杂性的增加、开发周期的缩短、预算的降低等一系列挑战。
图2. NI公司提供了一套完整的、用于设计自动化测试系统的软硬件解决方案
3. 层次结构五:自动化测试系统管理软件
自动化的测试系统需要实现多种任务和测量功能:这些任务和功能中,一些与待测设备(DUT)相关的,而另一些对于每个待测设备是通用的。为了把维护费用降至最小,并且保证测试系统的寿命,实现DUT级别的任务与系统级别的任务相分离的测试策略是十分重要的,这样工程师们在整个开发周期中可以迅速地重用、维护并修改测试程序(或者模块)来满足特定的测试需求。
在所有的测试系统中,都存在着根据待测设备不同的不同操作,也存在着对于所有待测设备都通用的操作,例如系统级别的任务等。
对于每个设备不同的操作
• 仪器配置
• 测量
• 数据采集
• 结果分析
• 校准
• 测试模块
对于每个设备通用的操作
• 操作界面
• 用户管理
• DUT跟踪
• 测试流程控制
• 存储结果
• 测试报告
一些公司已经编写了自己的测试执行器,并且分配了宝贵的工程资源来从头开始开发测试管理软件。这通常会导致生产率下降并且为了维护软件而长时间占用资源。为了使生产效率达到最大化,工程团队应该利用商业上可用的测试管理软件,例如NITestStand软件等,来减少对于每个设备的通用操作的开发。通过利用这个软件,工程师们可以专注于对各设备的专有操作的开发。需要更多信息,请查阅《Developing a Modular Software Architecture》白皮书。
4. 结构层次四:应用开发软件
在测试系统结构中,应用开发环境(ADE),例如NI公司的LabVIEW和LabWindows/CVI等,扮演了关键角色。利用这些工具,测试系统开发者可以与各种各样的仪器通信、集成测量、显示信息、与其它应用连接等等……理想的用于开发测试和测量应用的ADE需要提供易用性、高效编译性能、与多种I/O集成以及编程灵活性等一系列的应用要求。易用性不仅在于可以多么迅速地上手和使用。利用易于使用的ADE ,开发者可以容易地把处理例程和多种测量设备集成在一起,创建复杂的用户接口,部署和维护应用程序,并且在产品设计改良和系统需要扩展时修改应用程序。
如需更多信息,请查阅《Choosing the Right Software Application Development Environment》白皮书。
5. 结构层次三:测量和控制服务
测量和控制服务提供了对系统中各种硬件资源的连接、系统配置和诊断工具等,至关重要。例如,NI Measurement and Automation Explorer (MAX)可以对硬件资源进行自动检测,包括数据采集、信号调节硬件;GPIB、USB和局域网控制型仪器;PXI系统、VXI设备;模块化仪器……,因此开发者可以在一个地方对它们进行配置。集成诊断测试保证了设备功能正常,而测试面板为开发者在开始编程前检查硬件的功能提供了快捷的方法。测量和控制服务还通过应用编程接口(API)提供了对应用开发软件层的集成,这样开发者可以容易的对他们的设备进行编程。实际上,这种服务软件的部件——硬件驱动程序,应用编程接口(API)和配置管理器必须无缝集成到ADE中,从而使得性能最大化、提高开发生产率,减少总维护成本。
需要更多信息,请查阅Developing a Modular Software Architecturewhitepaper.
6. 结构层次二:计算和测量总线
每个自动化测试系统的核心部件都是计算机(形式有台式个人计算机、服务器工作站、便携式电脑或者嵌入式计算机等不同与PXI和VXI配合使用)。使用计算式平台的一个重要方面就是可以与测试系统中各种各样的仪器进行连接(和通信)。现在有多种不同的仪器总线用于单独或模块化仪器,包括GPIB、USB、LAN、PCI和PCI Express等。这些总线有着不同的能力,对于特定应用来说,一些总线比另一些更加合适。例如,GPIB总线在仪器控制中有着广泛的应用,对于仪器来说有着广泛的可用性;USB总线提供了广泛的可用性、易于连接性和高吞吐量;局域网总线对于分布式系统十分合适,而PCI Express总线则提供了最高效的性能。
个人电脑的广泛使用促成了高性能内部总线的不断进步,其中包括PCI和PCI Express总线,它们具有最低的延时和最高的数据吞吐量或带宽。PCI总线提供了高达132MB/s的总线带宽,而PCI Express总线作为PCI总线的进化版,可提供4GB/s的带宽,来满足不断增长的带宽需求,同时在软件上对PCI总线完全兼容。图3 解释了最流行的仪器控制总线的延时和带宽性能。
图3 对于各种仪器控制总线的比较。PCI和PCI Express总线提供了较好的带宽和延时,即较好的总吞吐性能。
需要更多信息,请查阅《 Hybrid Systems: Integrating Your Multi-Vendor, Multi-Platform Test Equipment 》白皮书和《Instrument Bus Performance: Making Sense of Competing Bus Technologies for Instrument Control 》白皮书。
7. 结构层次一:测量和设备I/O
从根本上讲,目前有两种类型的仪器构架——传统仪器和虚拟仪器。图4解释了这两种架构的相似性。两种都具有测量硬件、机箱、电源、总线、处理器、操作系统和用户接口。
图4 传统仪器和虚拟仪器的构架拥有相似的硬件部分;两个构架间最主要的区别是软件存在于哪里以及用户是否能访问到它
从硬件的角度上讲,最明显的区别在于部件是如何组织的。对于每个分离的仪器,传统的或者独立的仪器把所有的部件都放在同一个箱子里。测量功能、分析、显示以及对仪器的控制都是由供应商定义的。
相反的是,模块化软件定义型虚拟仪器集成了通用的测量硬件来帮助用户除了使用标准功能外,还可以在软件中定义自己的测量和用户接口。利用模块化的方法,工程师们可以定义测试系统的测量功能,并且构建可扩展的系统来满足将来的需求。通过模块化的、软件定义的方法,用户可以进行自定义测量、为新兴的标准进行测量或者当需求改变(例如,添加仪器、通道或者新型测量)时修改系统。这种灵活的、用户定义型软件与可扩展的硬件组合是模块化仪器的核心。
需要更多信息,请查阅《 Understanding a Modular Instrumentation System for Automated Test 》白皮书和《PXI: The Industry Standard Platform for Instrumentation 》白皮书。
8. 总结:设计新一代自动化测试系统
设备复杂性增加、开发周期缩短和预算降低使工程团队有机会重新评估现有的自动测试策略,并且寻找出提高效率减少成本的方法。在设计新一代自动化测试系统时,加入可以增加系统灵活性、提供更高测量和吞吐量性能、降低测试系统成本并且延长寿命的策略是非常重要的。模块化的软件定义型自动测试系统克服了以往的基于独立式仪器或成本高昂的私有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%。
9. NI公司相关产品和白皮书
NI公司作为自动化测试领域的领导者,致力于为产品工程师们提供用于设计新一代自动化测试系统所需的硬件和软件。
软件:
•NI TestStand测试管理框架
•LabVIEW图形化编程语言
•LabVIEW SignalExpress交互式测量软件
硬件:
• 模块化仪器(示波器、万用表、射频模块、开关等)
• 多功能数据采集
• PXI系统部件(机箱和控制器)
• 仪器控制(GPIB总线、USB总线和局域网)