Benefits of Parallel Testing
Overview
As a test engineer, you may have explored ways to enhance test system performance in the past though parallel testing. However, the latest off-the-shelf test management software tools simplify parallel test system implementation. These tools increase test throughput and drive down test system costs.
Table of Contents
Introduction
In general, parallel testing involves testing multiple products or subcomponents simultaneously. A parallel test station typically shares a set of test equipment across multiple test sockets, but, in some cases, it may have a separate set of hardware for each unit under test (UUT). The majority of nonparallel test systems test only one product or subcomponent at a time, leaving expensive test hardware idle more than 50 percent of the test time. Thus, with parallel testing, you can increase the throughput of manufacturing test systems without spending a lot of money to duplicate and fan out additional test systems. The following sections discuss ways parallel testing can reduce the cost of test and describe various approaches for implementing parallel testing in your test systems. Advances in parallel testing offer a great solution to avoid replicating test systems by delivering increased test throughput, increased coverage, and reduced test cost.
Choosing a Parallel Test Architecture
While you can implement parallel testing in most existing test systems, modular test system architectures deliver the best results when used in a parallel testing environment.

Modular Test System Architecture
Common Parallel Process Modules
When testing the proper assembly or functionality of a UUT, there are a variety of tasks to perform in any test system. These tasks include a mix of model or family-specific tests as well as many procedures that have nothing to do with actually testing the UUT. A process model separates the system-level tasks from the UUT-specific tests to significantly reduce development efforts and increase code reuse. Some of the tasks that a process model handles are tracking the UUT identification number, initializing instruments, launching test executions, collecting test results, creating test reports, and logging test results to a database. TestStand provides two process modules, the parallel process model and the batch process model, to facilitate the general test flow of parallel testing based on your UUT test requirements.
You can use a parallel process model to test multiple independent test sockets. With this model, you can start and stop testing on any UUT at any time. For example, you might have five test sockets for performing radio board tests. Using the parallel process model, you can load a new board into an open socket while the other sockets test other boards.

Parallel Process Model Flow Chart
Alternatively, you can use a batch process model to control a set of test sockets that test multiple UUTs as a group. For example, you might have a set of circuit boards attached to a common carrier. The batch model ensures you can start and finish testing all boards at the same time. The batch model also provides batch synchronization features. For instance, you can specify that the step runs only once per batch if a particular step applies to the batch as a whole. With a batch process model, you can also specify that certain steps or groups of steps cannot run on more than one UUT at a time or that certain steps must run on all UUTs simultaneously.

Batch Process Model Flow Chart
Instrument Sharing and Synchronization
If you are trying to increase your test system performance while lowering your cost, providing each test socket with a dedicated set of instruments is not a feasible solution. Implementing a parallel test system often does not require any additional hardware investment. With parallel testing, you can share existing instrumentation in the test system among multiple test sockets. Decreasing idle time during a UUT test cycle provides substantial performance improvements without additional hardware costs. In many cases, you can add additional inexpensive instruments to further optimize overall system performance while sharing the more expensive hardware among the test sockets. Prior to the availability of off-the-shelf test management software, programming the allocation of shared instrumentation among multiple test sockets running a parallel test system required that you add a large amount of low-level synchronization code to test programs. Critical sections and mutexes often were intertwined with the actual code, making it difficult to program or reuse sections in future test systems.
By implementing parallel test systems that leverage many of the built-in features in NI TestStand, you can effortlessly control the sharing of instruments and synchronize multiple devices under test. You can use synchronization step types and configurable test properties at the individual test level to manage resource sharing between tests in a sequence. The synchronization step types used in test sequences often include lock, rendezvous, queue, notification, wait, and batch synchronization step types.

Example test sequence uses a combination of lock step types to prevent multiple tests from trying to access the same instrument simultaneously.
You can also use configurable instrument sharing properties associated with a specific test step rather that a group of tests. In both cases, the ability to make parallel testing a modular property of tests, rather than an inseparable part of each test, eliminates the complexity of implementing parallel testing in years past.
Sample Parallel Test Results
To further illustrate the improved instrument utilization rates and increased throughput of parallel testing, test results were recorded before and after applying parallel testing to a typical automated test system. The test system performs a trio of electrical component tests and frequency response tests on filters in each UUT. The test system uses NI TestStand and LabVIEW test software tools to create and manage the testing. The test system includes two sources, one DMM, one digitizer, one multiplexer, and one high-density switch.

The results from testing the UUTs sequentially in a traditional fashion.
In high-speed production environments, any improvements made to speed up throughput and reduce test times are valuable in cutting costs. To improve the instrument utilization rates and increase the test throughput of the tester, you can add three additional test sockets to test four UUTs in parallel, sharing the same set of hardware previously used in the sequential test.

Flow and performance improvements of parallel testing in this manner.
You can also apply a new parallel testing technique, called autoscheduling, to the set of tests running on the UUTs. Autoscheduling can typically improve your instrument utilization rates and test throughput by an additional 10 to 15 percent over parallel testing. Using the same test configuration, autoscheduling improves the instrument utilization and test throughput by eliminating a major portion of the idle time at the beginning of the test executions. This occurs by skipping tests that are waiting to acquire resources and returning to them at a later time in the test sequence. The use of autoscheduling requires that tests in an autoscheduled section be capable of executing in any order and that they be independent of prior test results.

Autoscheduling optimizes test system performance.
Through the use of parallel testing and autoscheduling technology, you can increase DMM and digitizer utilization rates by nearly 40 percent and throughput by almost 50 percent compared to traditional sequential testing.

Comprehensive Test Time and Utilization Rate Comparisons
Adding less expensive devices, such as DMMs or low-end digitizers alleviates constrictions in the test flow, providing true parallel measurements and maximizes both efficiency and throughput.
Related Links:
Parallel Testing with TestStand
TestStand 2.0: Reducing the Cost to Test
Parallel Test Architectures for Reducing the Cost to Test
Reader Comments | Submit a comment »
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
