平行测试(转)

并行测试

并行测试可同时测试多个产品或子组件。一个并行测试平台通常在多个测试座(test socket)中共享一套测试设备,但是在某些情况下它可能需要为每个被测单元(UUT)提供一套单独的硬件。大部分非并行测试系统只能在某个时间测试一个产品或子组件,从而使得昂贵的测试硬件在大部分测试时间内闲置。因此,利用并行测试,您无需花费大量的资金来复制并分散安装额外的测试系统就可以提高制造测试系统的吞吐量。并行测试可依据您所处的应用场合的需求采取不同的方式。另一方面,无论您选择何种方式,为了您的系统能够充分利用并行测试所带来的好处,寻找一种简单但功能强大的方式来共享仪器以及同步不同线程间执行是极为重要的。下面的部分将讨论您可在并行测试系统中所采用的不同方式以及如何实现仪器共享和线程同步。

常见的并行处理模式
当测试一个UUT的某个装配组件或功能时将会有很多任务需要在测试系统中完成。这些任务包括模式组合或特定系列的测试以及许多与测试UUT实际上毫无关系的过程。处理模式将系统级任务与特定UUT的测试分离开来,极大地减少开发投入并提高代码的重用性。处理模式所处理的一些任务包括追踪UUT识别号、初始化仪器、启动测试执行程序、收集测试结果、创建测试报告、以及记录测试结果至数据库。两种最为常见的处理模式是并行处理模式和批处理模式。

您可以使用并行处理模式来测试多个独立测试座。利用这种模式,您可以在任何时间开始和终止任何一个UUT上的测试。例如,您可能有五个测试座来完成无线电板卡测试。使用并行处理模式您可以在其它测试座测试其它板卡时将新的板卡放入一个未用的测试座。每个测试座一旦完成之前的单元测试序列后就可以测试新的UUT,从而减少了设备和仪器的空闲时间。

另外,您可以使用批处理模式来控制一套测试座来测试多个UUT。例如,您可能有一套隶属于同一个载体的电路板。批处理模式确保您可同时开始和完成所有板卡测试。批处理模式也提供了批处理的同步特性。例如,如果某个特定的步骤应用到整个批中,那么您可以将这个步骤定义为在每个批次中只运行一次。利用批处理模式,您也可以指定某些步骤或者一组步骤在某个时间内不能运行在多个UUT上或者某些步骤必须同时运行在所有UUT上。

NI TestStand提供了完整实现的并行处理模式和批处理模式。NI TestStand处理模式并不仅仅可以执行您系统中常见的执行流程。它们也包含了数据库记录和报告特性。处理模式的数据库记录特性使得您可以自动地将您的测试结果记录至多种不同的数据库,如Oracle、Microsoft SQL Server和MySQL。报告可生成XML、HTML、ASCII文本、以及ATML格式的测试序列报告。此外,这两种处理模式都是开放且可完全自定义。

仪器共享和同步
为了增强您测试系统的性能同时减少您的成本,为每个测试座提供一套专用仪器并不可行。而实现一个并行的测试系统通常并不需要任何额外的硬件投资。利用并行测试,您可以在多个测试座中共享测试系统中现有的仪器设备。减少一个UUT测试周期中的空闲时间即可显著提升性能,且无需额外的硬件成本。在许多情况下,您可以添加其它成本低廉的仪器以进一步优化系统的总体性能,同时在测试座间共享更为昂贵的硬件。

为不同的测试座间共享仪器的关键是开关。开关允许您路由信号,从而帮助您在不同时间将多个测量源连接至单个仪器输入。您的系统可能含有诸如控制被测试设备(device under test,即DUT)供电的通用继电器之类的简单装置,也可能含有用于连接数以千计测试点至数十个仪器的复杂矩阵开关配置。由于控制所有这些信号路由的复杂性,因此就需要一个功能强大的软件来控制您的开关平台。NI Switch Executive是一款智能的开关管理和路由应用程序。利用Switch Executive,您可以通过交互式配置和命名开关模块、外部连接器和信号路由获得更高的开发效率。在Switch Executive中开发的开关配置可以利用测试步骤的开关属性来应用NI TestStand。通过将开关代码从您的测试代码中分离开来,您可以增强可维护性并能重用开关配置。

在没有现成的测试管理软件之前,通过编程运行并行测试系统的多个测试座间分配,共享仪器需要加入大量的底层同步代码到测试程序中。临界区(Critical section)和互斥(mutexe)常常会与真正的代码混淆,从而使得在将来的测试系统中难以进行编程或重用代码。

通过实现使用了NI TestStand的众多内置特性的并行测试系统,您可以毫不费力地控制仪器共享并同步多个被测设备。您可以在单个测试层中使用同步步骤类型(synchronization step types)和可配置的测试属性(configurable test properties)来管理序列测试间的资源共享。测试序列中所使用的同步步骤类型通常包括锁、会合、队列、通知器、等待、和批同步步骤类型。

http://www.ni.com/white-paper/6070/zhs/

posted on 2018-05-16 21:25  xihong  阅读(393)  评论(0编辑  收藏  举报

导航