Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

TestStand 4.1 New Features

NI TestStand™ 4.1 Help
May 2008

NI Part Number:
370052G-01

»View NI TestStand Product Info

The following list describes the new features in TestStand 4.1 and other changes since TestStand 4.0.

Directory Relocation

To comply with Windows Vista restrictions on writing to the Program Files directory and to improve usability for Windows 2000/XP users who do not have permission to write to the Program Files directory, TestStand 4.1 installs some files in different locations from previous versions of TestStand. Refer to the TestStand and Windows Vista section for more information about using TestStand on Windows Vista.

The following table lists the previous directory locations in TestStand 4.0 and the new locations in TestStand 4.1. The TestStand documentation and the table refer to these directories in the following ways:

  • <TestStand>—Located by default at C:\Program Files\ National Instruments\TestStand x.x on Windows 2000/XP and Windows Vista (32-bit) and at C:\Program Files (x86)\National Instruments\TestStand x.x on Windows Vista (64-bit).
  • <TestStand Public>—Located by default at C:\Documents and Settings\All Users\Documents\National Instruments\ TestStand x.x on Windows 2000/XP and at C:\Users\Public\Documents\National Instruments\TestStand x.x on Windows Vista.
  • <TestStand Application Data>—Hidden by default and located at C:\Documents and Settings\All Users\Application Data\National Instruments\TestStand x.x on Windows 2000/XP and at C:\ProgramData\National Instruments\TestStand x.x on Windows Vista.
Location in TestStand 4.0Location in TestStand 4.1
<TestStand>\AdapterSupport\CVI<TestStand Public>\AdapterSupport\CVI
<TestStand>\AdapterSupport\LabVIEW<TestStand Public>\AdapterSupport\LabVIEW
<TestStand>\Cfg <TestStand Application Data>\Cfg
<TestStand>\CodeTemplates\NI<TestStand>\CodeTemplates
<TestStand>\CodeTemplates\User<TestStand Public>\CodeTemplates
<TestStand>\Components\NI<TestStand>\Components
<TestStand>\Components\NI\RuntimeServers<TestStand Public>\Components\RuntimeServers
<TestStand>\Components\User<TestStand Public>\Components
<TestStand>\Examples<TestStand Public>\Examples
<TestStand>\Setup<TestStand Public>\Setup
<TestStand>\Tutorial<TestStand Public>\Tutorial
<TestStand>\UserInterfaces\NI<TestStand>\UserInterfaces
<TestStand>\UserInterfaces\User<TestStand Public>\UserInterfaces

Use the <TestStand Public>\CodeTemplates, <TestStand Public>\Components, and <TestStand Public>\UserInterfaces directories in place of the corresponding User directories in TestStand 4.0 and earlier. Use the <TestStand>\CodeTemplates, <TestStand>\Components, and <TestStand>\UserInterfaces directories in place of the corresponding NI directories in TestStand 4.0 and earlier. You can use the Engine.GetTestStandPath method to find the directories programmatically.

To modify the installed code templates or components or to create new code templates or components, copy the files from the <TestStand> directory to the <TestStand Public> directory and make changes to the copies. To modify the installed user interfaces or to create new user interfaces, modify the files TestStand installs in the <TestStand Public>\UserInterfaces directory. When you modify installed files, rename the files after you modify them if you want to create a separate custom component. You do not have to rename the files after you modify them if you only want to modify the behavior of an existing component. If you do not rename the files and you use the files in a future version of TestStand, changes National Instruments makes to the component might not be compatible with the modified version of the component. Storing new and customized files in the <TestStand Public> directory ensures that new installations of the same version of TestStand do not overwrite the customizations and ensures that uninstalling TestStand does not remove the files you customize.

The AdapterSupport\CVI and AdapterSupport\LabVIEW directories were moved to the <TestStand Public> directory because TestStand requires write access to these directories for standard users.

Migrating to TestStand 4.1

Complete the following tasks if you are migrating from a previous TestStand version.

  • If you saved files in a relocated directory, copy the files to the new location in TestStand 4.1.
  • Update projects and files that reference files and directories that have moved in TestStand 4.1. You can use the Engine.GetTestStandPath method to retrieve file and directory paths programmatically. If you use relative paths to reference files in the <TestStand> directory, the paths might break.

    If LabWindows/CVI returns a warning that some TestStand API files were not found when you open a project, remove the files from the project and re-add them from the <CVI>\Common directory in LabWindows/CVI 8.5 and later and from the <CVI>\instr\TestStand\API\CVI directory in LabWindows/CVI 8.1.1 or earlier.

    If Visual Studio returns a warning that some TestStand API or adapter support files were not found when you open a project, add the $(TestStand), $(TestStandAppData), and $(TestStandPublic) environment variables as needed to the Additional Include Directories control for the project.
  • Use the Deployment Utility to update deployable images or installers for deployable images to redirect file destinations to the TestStand 4.1 locations. Select View Destination in the Distributed Files control and select the new location in the Installation Destination control in the Installer Properties section on the Distributed Files tab.

Sequence Hierarchy Window

TestStand sequences can use the Sequence Call step type to call subsequences. The new Sequence Hierarchy window shows the relationship between sequences and subsequences. Use the Sequence Hierarchy window to inspect and navigate a complex group of sequences to more easily modify, debug, and maintain test sequences. The Sequence Hierarchy window does not provide a way to edit Sequence Call steps and does not show execution flow while running. Use the following methods to access the Sequence Hierarchy window:

  • Select View»Sequence File»Display File Hierarchy to display the hierarchy of all the sequences in the current sequence file or select View»Sequence File»Display Hierarchy Using»<Entry Point Name> to display the hierarchy from that entry point using the current sequence file as the client sequence file.
  • Right-click the list of steps on the Steps pane of the Sequence File window and select Display File Hierarchy from the context menu to display the hierarchy of all sequences in the sequence file or Display Hierarchy Using»<Entry Point Name> from the context menu to display the hierarchy from that entry point using the current sequence file as a client sequence file.
  • Right-click one or more sequences in the list of sequences on the Sequences pane of the Sequence File window and select Display Sequence Hierarchy from the context menu to display the hierarchy of the selected sequence or sequences, select Display File Hierarchy from the context menu to display the hierarchy of all the sequences in the sequence file, or select Display Hierarchy Using»<Entry Point Name> from the context menu to display the hierarchy from that entry point using the current sequence file as a client sequence file.

    If you do not select any sequences, the Display File Hierarchy option is available, and the Display Sequence Hierarchy option is disabled. If you select one or more sequences, the Display File Hierarchy is disabled, and the Display Sequence Hierarchy option is available.
  • Right-click a sequence file in the list of sequence files on the Windows pane or on the Workspace pane and select Display File Hierarchy from the context menu to display the hierarchy of all sequences in the sequence file or Display Hierarchy Using»<Entry Point Name> from the context menu to display the hierarchy from that entry point using the current sequence file as a client sequence file.

Use the buttons on the Sequence Hierarchy toolbar to configure the display of the Sequence Hierarchy window.

Customizing Results

TestStand 4.1 includes an additional results table for every step so you can add arbitrary pieces of data to the result list and include that data in a report or log that data to a database. In the additional results table, enter a list of expressions or specify code module parameters you want to log. When the step executes, the step evaluates each expression and adds the result and parameter values to the Locals.ResultList property. You can log any number of data items with varying types.

Use the Additional Results panel on the Properties tab of the Step Settings pane in the TestStand Sequence Editor or use the Additional Results dialog box in a TestStand User Interface to access the additional results table.

Use the Additional Results step type when you want to log data outside the context of one particular step in the sequence. Use the Additional Results edit tab in the TestStand Sequence Editor and the Additional Results dialog box in a TestStand User Interface to configure the Additional Results step.

Refer to the AdditionalResults.seq file located in the <TestStand Public>\Examples\AdditionalResults directory for an example that demonstrates how to use the additional results feature. This example adds variables, properties, expression values, and module call parameters to the result list and report.

Database Options Dialog Box Updates

TestStand 4.1 updates the Database Options dialog box in the following ways to support logging additional results:

  • The Types to Log control on the Statements tab of the Database Options dialog box includes intrinsic data types and arrays of intrinsic data types.
  • The Statements tab of the Database Options dialog box includes a new Traversing Options button that launches the Traversing Options dialog box, in which you can specify if subsequent statements can process the current UUT, the step or property result, or the sub-results of the step or property result.

Default Database Schema Updates

TestStand 4.1 updates the default database schema in the following ways to support logging additional results:

  • The default database schema no longer includes the STEP_PASSFAIL, STEP_CALLEXE, STEP_MSGPOPUP, STEP_PROPERTYLOADER, STEP_STRINGVALUE, and MEAS_IVI_SINGLEPOINT tables. The default database schema now logs this information to the PROP_RESULT table, which includes property result information and simple intrinsic property values. The table contains a foreign key that references the STEP_RESULT table.
  • The default database schema includes the PROP_BINARY table to log binary data, such as array values. The table contains a foreign key that references the PROP_RESULT table.
  • The default database schema includes the PROP_ANALOGWAVEFORM table to log analog waveform data, such as the LabVIEWAnalogWaveform, NI_IviWave, and NI_IviWavePair data types. This table replaces the MEAS_IVI_WAVE and MEAS_IVI_WAVEPAIR tables in previous versions of TestStand. The table contains a foreign key that references the PROP_RESULT table.
  • The default database schema includes the PROP_DIGITALWAVEFORM table to log digital waveform data, such as the LabVIEWDigitalWaveform data type. This table contains a foreign key that references the PROP_RESULT table.
  • The default database schema includes the PROP_NUMERICLIMIT table to log numeric limit data. This table replaces the MEAS_NUMERICLIMIT table in previous versions of TestStand. This table contains a foreign key that references the PROP_RESULT table.
  • The STEP_RESULT table includes new STEP_ID and CAUSED_SEQFAIL fields. The STEP_ID field specifies the unique step ID, and the CAUSED_SEQFAIL field specifies if a step caused a sequence failure.

Click the Reload NI Schemas button on the Schemas tab of the Database Options dialog box to use previous versions of the default database schemas.

Resource Usage Profiler

Select Tools»Profile Resource Usage to launch the Resource Usage Profiler window to view and record the resources a multithreaded TestStand system uses over a period of time. The profiler records resource usage and TestStand thread synchronization operations the system performs as long as the Resource Usage Profiler window is open.

You can review the recorded data in graphs and sortable tables to identify performance bottlenecks and design flaws and to gain insight into the behavior and timing of complex multithreaded systems. You can copy the information to external applications, such as Microsoft Word or Excel.

Refer to the Comparing Resource Usage Strategies.seq file in the <TestStand Public>\Examples\ResourceUsageProfiler directory for an example of how to use the profiler. The example sequence file automatically launches the profiler and displays instructions for the example.

TestStand and Windows Vista

TestStand 4.1 runs on Windows Vista. However, built-in security settings of Windows Vista affect some typical TestStand tasks.

User Account Control Elevation Prompts

The User Account Control (UAC) security component in Windows Vista requires administrator privileges for some tasks, such as installing software, running certain applications, and changing system settings. If you are logged in as a standard user, Vista launches a UAC elevation prompt for prohibited tasks. You cannot resolve the UAC elevation prompts programmatically. Refer to Microsoft documentation for more information about UAC prompts.

TestStand 4.1 uses a Windows service to automatically handle most TestStand-related UAC prompts and notifications. The National Instruments TestStand Service runs with administrator privileges in the background and is responsible for tasks that require administrator privileges. The TestStand Service does not automatically handle applying settings for remote execution and applying settings and performing actions the TestStand Version Selector application requires. Performing these actions while logged on to Windows Vista as a user with standard privileges results in a UAC elevation prompt.

Authenticode Signatures

Authenticode signatures can help identify the publisher of a binary file and can help ensure that a binary file has not been modified since publication. Refer to Microsoft documentation for more information about Authenticode signatures.

Add an Authenticode signature to a TestStand user interface you create if you plan to allow users to download the user interface from a non-trusted public site and you want the operating system to identify your company as the publisher of the user interface. Also add an Authenticode signature to a user interface you create if the user interface requires administrator privileges to run on Windows Vista and you want the UAC elevation prompt to identify your company as the publisher of the user interface.

To verify an Authenticode signature, the requesting computer must connect to the Internet to obtain a current Certificate Revocation List (CRL). For .NET applications, the .NET Common Language Runtime (CLR) verifies Authenticode signatures for assemblies. If the computer that loads the assembly is not connected to the Internet, the CLR waits 15 seconds before timing out.

Complete the following steps to disable CRL validation in Microsoft Internet Explorer to avoid the timeout period on the computer, even if the default browser on the computer is not Internet Explorer. Using the Internet Explorer Internet Options to disable CRL validation does not expose the computer to any additional security threats.

  1. Navigate to Internet Options on the Windows Control Panel and click the Advanced tab.
  2. In the Security section, disable the Check for publisher's certificate revocation option.

Alternatively, you can disable CRL validation by setting the registry key value of HKCU\Software\Microsoft\Windows\CurrentVersion\ WinTrust\Trust Providers\Software Publishing\State to 0x00023e00. To enable CRL validation, set the registry key value to 0x00023c00.

When you disable CRL validation to avoid the timeout period, the CLR does not validate Authenticode-signed assemblies and does not grant the assemblies publisher evidence or publisher identity permissions, which is the same result when a timeout occurs. If the assemblies need these permissions, the computer must connect to the Internet or you must download a current CRL every 10 –15 days.

As an alternative to disabling CRL validation for the entire computer, you can work around CRL validation if an application that uses the Microsoft .NET Framework 2.0 and that has an Authenticode signature experiences the 15-second load time delay. Microsoft provides a fix you can download so you can correct this delay for .NET Framework 2.0 applications. The .NET Framework 2.0 Service Pack 1 also includes this fix. Refer to Microsoft Knowledge Base article 936707 for more information about correcting delays in .NET Framework 2.0 applications that use Authenticode signatures.

The TestStand Sequence Editor and user interface examples do not include Authenticode signatures because National Instruments distributes TestStand through trusted channels and because the TestStand Sequence Editor and user interface examples do not require administrator privileges to run on Windows Vista. Additionally, National Instruments finds the 15-second load time delay on isolated networks unacceptable and believes that you should use discretion when disabling CRL validation. Therefore, if you run the sequence editor or example user interfaces as administrator on Windows Vista, the UAC elevation prompt does not identify the sequence editor or example user interface as a National Instruments product.

Application Manifests

When an application launches on Windows Vista, the UAC security component determines whether to grant the application administrative privileges. A user that logs into Windows Vista as a standard user can write only to specific locations on disk and in the registry. Standard user is the default login for Windows Vista.

Microsoft recommends that applications run without requiring administrator privileges. If you design applications that do not attempt to access protected areas of the operating system, all users can run the application as intended without requiring administrator privileges. You can also include manifests to specify the execution level the application requires.

If an application does not specify an execution level in its manifest, the UAC launches the application with the standard or administrator privileges of the user. With standard privileges, the system uses virtualization to redirect any read and write operations for system files and registry keys to a per-user location instead of the actual system copy of the file or registry key. Do not create applications that rely on virtualization to perform these types of administrative operations.

The default TestStand user interface application binary files include manifests that instruct the UAC to execute the application without virtualization and without requiring administrative privileges. LabVIEW 8.5 and later automatically include a default manifest in built applications. LabWindows/CVI 8.5 and later allow you to specify a manifest for built applications. When you build the application, refer to the documentation for the ADE you used for more information about how to include a manifest.

Visual Studio Integration

When you launch Visual Studio 2005 from TestStand, Visual Studio runs with the same privileges you used to run TestStand. If you launch TestStand, log in as a user with standard privileges, and launch Visual Studio from TestStand, you cannot execute tasks in Visual Studio that require administrator privileges.

HTBasic Support

HTBasic currently does not support Windows Vista. If you installed the HTBasic 9.0 development environment on Windows Vista, you can still perform the Edit Subroutine and Create Subroutine functions on the HTBasic Module tab in the TestStand Sequence Editor when you use a step configured to use the HTBasic Adapter. However, HTBasic code modules might not run correctly.

Other TestStand Enhancements

TestStand 4.1 includes the following other enhancements:

  • The Synchronization step types and LabVIEW Utility step types now include step settings panels, which you use to configure all Synchronization and LabVIEW Utility step types in the TestStand Sequence Editor. Use the configuration dialog boxes to configure these step types in a TestStand User Interface.
  • Use the new Tcl step types, located in the <TestStand Public>\Examples\Tcl directory, to call Tcl scripts from TestStand so you can execute Tcl code, get and set variables, and set and retrieve data in the console window for use in TestStand.
  • Select Tools»Update VI Calls to run the Update VI Calls tool to update the Express VIs a LabVIEW step instance calls and to check or update a Standard VI call prototype. Use the Update VI Calls tool when you upgrade the LabVIEW version and you want to run the Express VIs a LabVIEW step instance calls in the new version of the LabVIEW Run-Time Engine. Also, use the Update VI Calls tool to update existing Express VI instances with any changes made to the Express VI.
  • Use the Allow Automatic Type Conflict Resolution option on the Preferences tab of the Station Options dialog box to restrict automatic type conflict resolution. With the default setting for this option, TestStand shows the type conflict dialog box in more cases than in previous versions of TestStand. National Instruments made this change to prevent unintended type propagation to type palette and sequence files. With the default setting, you can place types in a type palette file to ensure that TestStand does not automatically use a newer version of the types without prompting you.
  • You can save XML or binary sequence files so they are compatible with TestStand 4.0. However, if you save a sequence file as any version earlier than TestStand 4.0, the output format is always INI because INI is the only sequence file format previous versions of TestStand supported.
  • The NI TestStand Help and manuals include updated content. The help files are located in the <TestStand>\Doc\Help directory. The manuals are located in the <TestStand>\Doc\Manuals directory.


Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit