Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Sep 28, 2006


Feedback


Yes No

Related Categories

Related Links - Developer Zone

Related Links - Products and Services

What TestStand Does

1 ratings | 4.00 out of 5
Print

Overview

As a test management environment and framework, TestStand performs several key functions. At a basic level, it provides management features and a workspace for all of your test software. At a more functional level, it integrates and sequences your test code allowing for looping and complex decision making. TestStand separates common test executive tasks, such as reporting, from test specific tasks, such as performing a measurement.

TestStand provides a common unified environment and interface for all the different cases of automated testing. TestStand also integrates with enterprise systems, such as database management systems to incorporate easy database logging of test results.


[+] Enlarge Image
Figure 1: NI TestStand High-Level Features

Test Management and Workspace

TestStand converts your computer or controller into a test station providing user management with profile and privilege level configuration, language localization and control, and remote execution abilities. It also includes a variety of utilities and settings to perform test management functions.


Figure 2: User Management Control

The TestStand Sequence Editor is used to create and manage test sequences and the overall test system. It simplifies the creation, editing, managing, execution, and debugging of sophisticated test systems. The Sequence Editor is TestStand’s sequence development environment and is pictured below.


[+] Enlarge Image
Figure 3: NI TestStand Sequence Development Environment and Operator Interface

Test software and module management is made possible with Workspace files. TestStand Workspace files support arbitrary file types and provide configuration management for all included files. Workspace files are the foundation of deployment and allow for the integration of source code control.


Figure 4: Test System Management with TestStand Workspaces

Separates Common Test Executive Tasks from Specific Tasks


The TestStand architecture provides two different structures for performing tests. The more obvious of the two is the test sequence file where test modules are integrated and configured for sequencing. The second structure is employed by the TestStand Engine, runs behind the scenes, and is called a process model.

There are four basic actions to integrate test modules in your test sequence. The first is to select the correct programming language adapter for the code you would like to include. The next action is to insert a step of an appropriate type. The step type outlines the TestStand properties that will be associated with that step. The third action is to associate the inserted step with the piece of code that should be called when this step executes. At this point, input and output to and from the code module can be associated with appropriate TestStand properties for the step. Figure 5 shows the dialog box that is used to perform this third action when the code to be executed is a LabVIEW VI. The fourth action is to perform any additional configuration of the step. For example, looping, reporting, and synchronization properties can be configured for an individual step.


[+] Enlarge Image
Figure 5: TestStand Edit labVIEW VI Call Dialog

The process model dictates how the sequence file will execute, what code or programs execute for every test and unit under test (UUT) as well as when this code should execute relative to the tests in your sequence files. It is in the process model that you can configure and add the common code to be performed with each test sequence or step.

The TestStand process model is a special type of sequence file that includes execution entry points, configuration entry points, engine callbacks, and user-defined callbacks. They essentially provide the blueprint for how the TestStand engine will execute your test sequence file. The callbacks are code modules that you can customize to include many of the common routines that would otherwise be necessary to include in each test module.


[+] Enlarge Image
Figure 6: Sample of TestStand Process Model Modules

For more information on the TestStand’s architecture, visit the section describing How TestStand Works.

Integrates and Sequences Test Code


TestStand has several built-in step types that you can insert to communicate with instruments, FTP, LabVIEW real-time systems, but the majority of the steps that you will want to insert are going to be either custom step types or the built-in template test steps which you would link to test code.

By default, TestStand will sequence your test steps from top to bottom. However, TestStand includes a wealth of flow control step types and properties that can change the behavior of your sequence. Some of the basic flow control features include conditional constructs such as Select-Case, If-Else, For loops and While loops implemented with flow control step types. TestStand can also implement flow control on a per-step basis, through the flow control properties of individual steps, such as preconditions. In Figure 7, you can see examples of these basic flow controls and properties.


[+] Enlarge Image
Figure 7: Flow Control and Flow Properties in NI TestStand

TestStand also includes more advanced branching and flow control in the form of Goto and Label steps, as well as post actions for each step. Post actions allow you to go to a particular destination, terminate the sequence execution, or run cleanup, in the event of step failure. TestStand also allows you to customize the flow of sequence based on an error in the code or step.

Error and Resource Management


TestStand is designed to be the higher intelligence behind your test system. It provides the necessary properties at each step for error management and catches and handles the errors accordingly (which can be customized). Essentially, TestStand is the top-level where all errors will bubble up to for appropriate handling. Besides the various flow options available in the case of an error, TestStand also provides you with default error data types to use with your test modules. These error data types are hooked in with TestStand’s processing to ease the handling of errors.

TestStand also takes care of memory and resource management. It will allocate and deallocate memory for variables and objects. TestStand also handles adding and removing code modules from the stack. When TestStand loads and unloads a code module into and out of memory is a configurable property of each step.

Common Unified Test Interface


TestStand provides an application programming interface (API) to execute everything the Sequence Editor is capable of doing. This API allows you to develop an operator interface in any programming language you choose.

Like the Sequence Editor, your operator interface uses the TestStand API to call the TestStand Engine to perform your sequence automation and testing. This allows you to create sequences for product test and have the same operator interface load and execute those tests. Therefore, you can completely customize the look, feel and operation of your interface to best suit the needs of your operators or engineers.


[+] Enlarge Image
Figure 8: A Sample TestStand Operator Interface

Back to What is TestStand? »
Why Chooose TestStand? »
1 ratings | 4.00 out of 5
Print

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/).