Developing a Modular Test Software Architecture With NI TestStand And LabVIEW

Publish Date: Jun 30, 2016 | 3 Ratings | 5.00 out of 5 | Print

Table of Contents

  1. Industry Trends: Challenges in Today’s Market
  2. Modular Test Framework: A Software-Defined Approach to Test
  3. Test Management Software: NI TestStand
  4. Test Development Language: LabVIEW
  5. Summary
  6. Next Steps

1. Industry Trends: Challenges in Today’s Market

One of the big challenges companies face today is the rising cost of test. As the complexity of devices increases, so does the cost of testing these devices. While testing remains critical to product quality, the cost of test has not kept up with the lower cost of manufacturing as more complex electronic devices require newer, more advanced instrumentation.

Test engineers today are presented with the following realities of today’s product development environment:

  • Product designs are more complex than previous generations
  • Development cycles are shorter to stay competitive and meet market demand
  • Budgets are decreasing while product testing is becoming more expensive

Back to Top

2. Modular Test Framework: A Software-Defined Approach to Test

To meet the challenges of shorter development cycles, larger product portfolios, decreased budgets and exponentially more complex products, test engineers are being forced to abandon monolithic, application-specific, and  turnkey test systems. Because of these systems’  inflexibility to adapt and add functionality to test newer, more complex products, traditional solutions like rack-and-stack box instruments or proprietary “big iron” ATE systems are no longer an efficient way to keep up with today’s demanding markets.

In response to these demands, test managers and engineers are turning to a modular, software-defined test architecture based on industry standards that can provide:

  • Increased test system flexibility to add new features and adapt to new technologies as they are required
  • Scalability to add new functionality (and instrumentation) as needed
  • Lowered test system costs by reducing up-front capital investment and maintenance cost while increasing equipment and code reuse
  • Reduced risk of hardware obsolescence through hardware abstraction layers

Designing efficient modular test systems requires an architecture that decouples the different components of the test system (Figure 1) – primarily the instrumentation from the test code, and the test code from the overarching test management framework. This modular decoupling of different components of the test system, along with the ability to define the functionality in software is key to developing flexible test systems faster and more cost-effectively.

Figure 1: Test System Architecture

Back to Top

3. Test Management Software: NI TestStand

An automated test system requires the implementation of several tasks and measurements – some specific to the device under test (DUT), and others repeated for every device tested. Traditional test systems often combine both types of operations into the same single software layer.   This paradigm makes code changes to either part and code reuse between projects very cumbersome.

A modular test system architecture makes a clear separation between system-level tasks that are common to every device (test management software) and the DUT-level tasks that are different for each device tested (test code). See Table 1 for examples of different DUT-level and system-level tasks. This separation allows test engineers to quickly reuse, maintain and modify Test Management Software component without affecting the actual test code and vice versa.

Operations Different for Each Device

Operations Common for Each Device

Instrument Configuration Operator Interfaces
Measurements User Management
Data Acquisition DUT Tracking
Results Analysis Test Flow Control
Calibration Storing Results
Test Modules Test Reports

Table 1: Test Management Software Taks Versus Test Development Software Tasks

NI TestStand is National Instruments’ powerful ready-to-run test management software, designed to develop, deploy and execute test system software (Figure 2). At its core, NI TestStand is a test executive, allowing test developers to sequence calls to test code written in virtually any programming language. In addition, NI TestStand provides the common test management software functionality right out of the box such as:

  • Result logging to any OLEDB or ODBC databases
  • Report generation in a variety of formats including HTML, Text, XML and ATML
  • User management with different access levels
  • Test limits management
  • Simple and advanced operator interfaces
  • Parallel testing capabilities that allow testing multiple products or running multiple tests on a single DUT simultaneously

In addition, NI TestStand itself features a very modular software architecture, which allows engineers to use each of these components out-of-the-box or or completely customize them.

Figure 2: NI Test Management Software

Some companies have written their own test executives and spent valuable engineering resources to develop test management software from the ground up. This strategy often results in reduced productivity and ties up resources over time for software maintenance. Instead, using commercially available test management software, such as NI TestStand, will allow you to maximize productivity, by reducing the development of features that are common to each device and focusing their development efforts on the test code – the operations that are different for each device.

Back to Top

4. Test Development Language: LabVIEW

NI TestStand can call test code written in virtually any programming language, including LabVIEW, NI LabWindowsTM/CVI, C/C++, .NET and even scripting languages. However, most general purpose programming languages are not optimized for test and measurement applications, making it difficult to write code to communicate with instruments, analyze data, and display that data in a meaningful format to engineers.

LabVIEW is an intuitive graphical programming language that helps both programmers and non-programmers develop powerful test software very quickly. Figure 3 shows an example of an easy-to-write LabVIEW VI (Virtual Instrument or program) that acquires a signal from an instrument, performs analysis on the data and then reports the result back to the user.

Figure 3: Graphical Programming in LabVIEW, Optimized for Test and Measurement

In addition to reducing test development time through its intuitive graphical programming environment, LabVIEW can improve the productivity of test developers by providing:

  • Instrument connectivity via free instrument drivers in order to automate virtually any instrument
  • Data analysis through thousands of built-in functions to analyze and present data
  • User interface controls specific to test and measurement like graphs, LEDs, knobs and gauges
  • Higher performance by automatically taking advantage of multi-core processing

 For more information, read the Top 10 Reasons to Use NI LabVIEW for Automating Test and Validation Systems.

National Instruments also has tools for developing test code in more traditional text-based languages. LabWindows/CVI is an ANSI C development environment and NI Measurement Studio is a plug-in to Visual Studio, adding test and measurement specific user interface control and analysis functions for ANSI C, .NET and Visual C++.

Choosing a programming language that is optimized for test and measurement applications can drastically improve your ROI by reducing the time and effort it takes to develop test code. For more information, view the Choosing the Right Software Application Development Environment white paper.

Back to Top

5. Summary

Increased device complexity, shorter development cycles, and decreased budgets provide an opportunity for engineering teams to re-evaluate their current automated test strategies and look for areas to increase efficiency and reduce cost. When designing next generation test systems it is important to incorporate strategies that increase system flexibility and scalability, deliver higher performance, lower test system cost, and expand longevity.

Modular, software-defined automated test systems overcome the shortfalls of past solutions based on stand-alone instrumentation or cost-prohibitive proprietary ATE systems. By decoupling the different components of the test system and being able to define the behavior in software, engineers can use these test systems to provide flexible, scalable and lower cost solutions that are better suited to meet today’s challenges. Modular test software architectures built with NI TestStand Test Management Software and the LabVIEW graphical programming language have been proven to optimize and reduce the cost of test systems for applications ranging from the latest smartphones and 3D televisions to the next generation of mission critical defense systems and medical devices.

Back to Top

6. Next Steps

Learn more about NI TestStand and LabVIEW:
What is NI TestStand
What is LabVIEW
Advantages of Software Defined Test

Learn more about how National Instruments can help with your next automated test application:

Back to Top

Bookmark & Share


Rate this document

Answered Your Question?
Yes No