Overview of Test Program Components
- Updated2025-04-10
- 14 minute(s) read
A semiconductor test program can include a pin map file, a main sequence file, subordinate sequence files, code modules, specifications, timing files, levels files, pattern files, source and capture waveforms, test limits files, a bin definitions file, and configurations.
- Specify the pin map, bin definitions, specifications, digital pattern project, and test limits files
- Create and edit test program configurations
- Configure other settings for the test program
Select Edit Test Program: <filename> button on the TSM toolbar to launch the Test Program Editor for the sequence file.
or click theUse the TestStand Sequence Editor to complete test program development, configuration, debugging, and execution tasks.
Use the following figure and table to learn about the components of test programs and test stations.

Component | Description |
---|---|
TestStand Sequence Editor | The TestStand Sequence Editor is the development
environment in which you create, edit, execute, and debug sequences and
the tests sequences call. Complete the following steps to launch the sequence editor.
|
Pin Map | A pin map
defines the instrumentation on the tester, defines the pins on the DUT,
and defines how the DUT pins are connected to the tester instrumentation
for each test site. Use the Pin
Map Editor to view, create, modify, and save pin map files.
The pin map file also serves as the channel map file. Select Edit Pin Map File
button on the TSM toolbar to launch the Pin Map Editor. Alternatively, you
can select and then select Pin Map in the
Test Program Editor to launch the Pin Map
panel. Click the Open file for edit |
Bin Definitions File | A bin definitions file defines the hardware bins and software bins, defines how the software
bins relate to hardware bins, and defines the default software bins for
the test program main sequence file. Use the Bin
Definitions Editor to view, create, modify, and save bin
definitions files. Select Edit Bin Definitions
File button on the TSM toolbar to launch the Bin
Definitions Editor. Alternatively, you can select and then select Bin
Definitions in the Test Program Editor to launch the Bin Definitions panel.
Click the Open file for edit |
Specifications Files |
Specifications
files define a set of symbols, or variables, and associated
numeric values of DUT attributes that you can reference in test program
code modules instead of using constants to set testing specifications.
You can modify specifications files to set new values without changing
test program files. Select Specifications Files in the Test Program Editor to specify one or more specifications files to load in the test program. and select |
Digital Pattern Project | Use the Digital Pattern Editor with a Digital Pattern Instrument and the NI-Digital
Pattern Driver software for digital testing of semiconductors, or
devices under test (DUTs). Use digital pattern project files to organize
and access pattern files and the following types of digital
configuration files:
|
Timing Files | Timing files contain configuration components of digital pattern time sets, which define the behavior of a digital signal on a pin for a particular cycle. Timing files also include the format and edge placement that shape the digital waveform on a per-pin basis for a digital pattern instrument. Edit timing files in the Digital Pattern Editor. |
Levels Files | Levels files contain voltage and current levels to drive and compare for digital pins and pin groups connected to an NI digital pattern instrument and for pins and pin groups connected to an NI-DCPower instrument. Edit levels files in the Digital Pattern Editor. |
Pattern Files | Pattern files contain a collection of vectors, or instructions, to execute on an NI digital pattern instrument. Components of the binary pattern file include time sets, labels, opcodes, vector numbers, pin state data that indicates drives and compares, and comments for each vector. Edit pattern files in the Digital Pattern Editor. |
Source and Capture Waveforms | You can source or capture a variable waveform that is not defined at compile time on an NI digital pattern instrument. Edit source waveform and capture waveform configuration files in the Digital Pattern Editor. |
Correlation Offsets File | You can apply correlation offset values to test results on a per-site basis at run time before evaluating the test result data against limits. Use the Load Correlation Offsets Step and associated edit tab to load and apply a correlation offset file. |
Test Program Configurations | Test program configurations define values for conditions that a test
program can reference at run time and the test limits file that loads
before running a test lot. A test program can use multiple
configurations to implement multiple test flows using the same sequences
and code modules. For example, you can create configurations for Hot and
Cold flows or for QA and Production lots. Select Configuration Definition in the Test Program Editor to define configuration settings. and then select |
Test Limits Files |
Test limits
files define test limits the test program loads before
running a test lot. The test program replaces test limits in test steps
in the sequence file with those specified in the test limits file. You
can embed test limits in the sequence file to prevent viewing or
tampering with the limits. Select Test Limits Files in the Test Program Editor to specify one or more test limits files to make available to the test program configurations. The test program configuration specifies the test limits file that loads before running a test lot. and selectYou can
create a test limits file by selecting Export Test Limits
from |
Test Conditions |
Test
conditions specify historical information, descriptive
information, such as DUT numbers or package types, and conditions under
which to test the DUTs, such as temperature or voltage. The test program
can use test conditions to determine how to execute tests. For example,
test conditions might dictate which steps execute, what temperature to
apply to a DUT, what voltage to use, and so on. Select Configurations list of the Test Program Editor to edit configuration settings. and select an option in the |
Main Sequence File | The main sequence file contains the sequences that define the test
flow by specifying the test steps to execute and the order in
which to execute them. The sequence file contains one main sequence
named MainSequence and can optionally include one or more subsequences
with corresponding test steps. You can use multiple sequences in a test
program to keep the test code modular and organized. The ProcessSetup and ProcessCleanup sequences are special sequences that TestStand calls at certain times. TestStand calls ProcessSetup once before starting execution and calls ProcessCleanup after execution completes. Initialization and cleanup of instrumentation typically occurs within these sequences. |
Test Steps | Test steps call test code in code modules that control the instrumentation on the tester. The test steps perform tests by comparing measurement values obtained by the code modules to test limits stored on the step and assign a bin to the DUT if the comparison fails. You can also assign a bin to the DUT when the comparison fails. Test steps are instances of the Semiconductor Multi Test step type, in which you also define test numbers and names. |
OnSiteTestingComplete | Use the OnSiteTestingComplete callback sequence to perform actions on
a DUT or on instruments after all DUT tests have completed and TSM has
assigned a bin to the DUT. To use the OnSiteTestingComplete callback, add a sequence with no parameters to the test program sequence file and name the new sequence OnSiteTestingComplete. TSM calls the sequence after the MainSequence sequence, after all PAT tests complete, and after TSM assigns a bin to the DUT. Use the Get Test Information step in the callback sequence to determine the bin assigned to the DUT. You cannot use Semiconductor Multi Test steps in the OnSiteTestingComplete callback because all tests must execute before TSM assigns a bin to the DUT and before TSM calls the callback. Use the Semiconductor Action step to perform operations with the instruments and DUT. You cannot change the bin assigned to a DUT in the OnSiteTestingComplete callback. You cannot use the Set and Lock Bin step in the OnSiteTestingComplete callback. You can use the Cleanup step group of the MainSequence sequence to perform similar actions as the OnSiteTestingComplete callback if you do not need to know the bin assigned to the DUT to perform the actions. If your test program uses part average testing, you should precede those actions with a Perform Part Average Testing step, so that you can ensure that they run after all part average testing is completed. If you don't use a Perform Part Average Testing step, TSM performs part average testing after executing all step groups of the MainSequence sequence. |
Code Modules | Use LabVIEW or .NET to create, edit, and debug test code in code modules to control the instrumentation on the tester, take measurements from the DUT, and pass the measurement values back to the test step. Code modules are program modules, such as a LabVIEW VI or a Microsoft Windows DLL, that contain one or more functions that perform a specific test or other action. |
Station Settings | You can specify test station configuration options for the tester,
such as handler configuration or data logging preferences, that apply to
all test lots and that persist during restart and shutdown operations.
The test program can use station information to determine how to execute
tests. For example, station settings might specify the type of handler
to use with the test program, which reports to generate, or whether the
test station performs inline quality assurance testing. When a test
station is reconfigured, such as to specify a different handler or to
change the functionality of the tester, the station settings must be
updated to account for the changes. You can customize how TSM obtains
and processes the settings. Select Configure Station button in the default TSM operator interface to launch the Configure Station Settings dialog box. in the TestStand Sequence Editor or click the |
Lot Settings | The test program can use lot information to determine how to execute tests. For
example, lot settings might dictate which steps execute,
what temperature to apply to a DUT, what voltage to use, and so on. You
can customize how TSM obtains the settings. Select Configure Lot button in the default TSM operator interface to launch the Configure Lot Settings dialog box. in the TestStand Sequence Editor or click the |
Reporting and Data Logging | You can generate TSM reports and data logs, such as Standard Test Data Format (STDF) log files, Lot Summary Reports, and Test Results Logs. Enable and configure the corresponding TSM result processing plug-in to generate the report or data log. You can customize the destination directory and filename of the report or data log file. |
Lot Statistics Viewer | The Lot Statistics
Viewer window provides a way to view lot statistics,
including per-site bin counts, while running or debugging a sequence in
the sequence editor. You can also control test program execution in the
Lot Statistics Viewer. Select Show Lot Statistics Viewer button on the TSM toolbar to launch the Lot Statistics Viewer window. or click the |
Test Code Debugging Tools | TestStand includes several tools for debugging sequences and related components in a TestStand test program and in TSM test programs. Additionally, the TestStand Sequence Editor integrates with supported application development environments to debug code modules. |
TestStand Execution Profiler | Use the Execution Profiler to view and record
duration of steps, code modules, and other resources a multithreaded
TestStand system uses over a period of time. In an effort to improve test time performance, you can optimize test time by identifying parts of the test program that take longest to execute or by identifying what shared tester resources cause throughput bottlenecks. |
Test Program Performance Analyzer | Use the Test Program Performance Analyzer to view data TSM generates when you measure the performance of a test program. You can filter, graph, compare, and save the data in various ways to identify performance issues in a test program. |
Operator Interfaces | Use TSM default operator interface applications to execute test sequences on a test station. The operator interface source code is available in LabVIEW and C#. You can fully customize them to meet specific needs. |
Instrument Drivers | NI provides instrument drivers to configure, customize, and implement your instrument
control applications. TSM has native support for multiple NI instrument
drivers. You can integrate other NI or third-party drivers into the
multisite pin map by using custom instruments. You can download TSM custom instruments
for more drivers from the NI STS Technical Support Community on ni.com.
You can work directly with NI services personnel contracted on your
project or contact stssupport@ni.com to request to be added to the NI
STS Technical Support Community. Note The NI TestStand 2016
Semiconductor Module natively supports NI digital pattern
instruments that use the NI-Digital Pattern Driver and legacy
digital waveform instruments that use the NI-HSDIO driver, such as
the PXIe-6556. Use the TSM Code Module API that corresponds to the type of
digital instrument the test system includes. |
Soft Front Panels | Most NI modular instruments include soft front panels (SFP) to allow you to quickly
configure, troubleshoot, or debug your instrument or DUT. Launch the
soft front panels from MAX by selecting You can also use InstrumentStudio, a software-based front panel application, to monitor, control, and record measurements from supported devices. Before you create a custom debug panel, search the NI STS Technical Support Community on ni.com for an existing one. You can work directly with NI services personnel contracted on your project or contact stssupport@ni.com to request to be added to the NI STS Technical Support Community. |
. TSM also provides tools to create custom debug panels in
LabVIEW or C#. You can launch custom debug panels when debugging a test
program, and you can use them to configure and control multiple
instrument drivers.
Offline Mode System Configuration File | The Offline Mode system configuration file defines the instruments on a specific STS. |
Instrument Model Library | The Instrument Model Library is a collection of XML files that describe instruments. Instrument model description files include general information, details for connection components (channels, ports, resources), and configuration properties of the instrument and its resources. |
Measurement and Automation Explorer | The TSM pin map defines the instruments required for a test. Measurement &
Automation Explorer (MAX) helps you configure the instrument connected
to the system. For a test program to execute properly, the instrument
names in the pin map must correspond with instrument names configured in
the system. MAX helps you complete the following tasks:
(Windows 8.1/8) Click the NI Launcher tile on the Start screen and select NI MAX to launch MAX. (Windows 7) Select to launch MAX. |
Handler or Prober Integration | The TSM handler/prober driver plug-in architecture enables you to
write and enable handler/prober drivers. A handler/prober driver
contains entry point sequences that TSM calls during execution to
accomplish handler-related or prober-related tasks. Use the NI Built-in Simulated Handler Driver to simulate handler functionality without requiring access to a real handler. Custom handler/prober drivers are available from the NI STS Technical Support Community on ni.com. You can work directly with NI services personnel contracted on your project or contact stssupport@ni.com to request to be added to the NI STS Technical Support Community. |
Part Average Testing Support | Part average testing (PAT) is a method based on statistical analysis to identify and fail parts that have characteristics significantly outside the normal distribution of other parts in the same lot. TSM does not install a default implementation of part average testing. You must use the TSM PAT plug-in architecture to customize and perform part average testing with TSM. TSM PAT plug-ins include a required PAT callback sequence file and corresponding code modules. The PAT callback sequence file contains PAT entry point sequences that TSM calls during execution to accomplish part average testing. |
Related Information
- Test Program Editor (TSM)
- Managing Users
- Mapping DUT Pins to Instrument Channels (TSM)
- Pin Map Editor (TSM)
- Semiconductor Module Toolbar Buttons
- Binning DUTs Based on Test Results (TSM)
- Bin Definitions Editor (TSM)
- Specifications Files (TSM)
- Load Correlation Offsets Step (TSM)
- Load Correlation Offsets Tab (TSM)
- Test Settings Relationships (TSM)
- Exporting and Importing Test Limits with Text Files
- Configuration Panels
- Test Steps and Flow (TSM)
- Code Modules
- Semiconductor Multi Test Step
- Part Average Testing (TSM)
- Get Test Information Step (TSM)
- Semiconductor Action Step
- Set and Lock Bin Step (TSM)
- Perform Part Average Testing Step (TSM)
- Specifying Settings for the Current Test Station (TSM)
- Specifying Settings for the Current Lot under Test (TSM)
- Reports and Data Logs (TSM)
- Standard Test Data Format (STDF) Log (TSM)
- Lot Summary Reports (TSM)
- Debug Test Results Logs (TSM)
- Enabling and Configuring TSM Result Processing Plug-ins
- Specifying Report and Data Log Filenames (TSM)
- Lot Statistics Viewer (TSM)
- Debugging TestStand Test Programs
- Debugging TSM Test Programs
- Test Time Reduction and Test System Performance Improvements (TSM)
- Measuring Test Program Performance (TSM)
- Test Program Performance Analyzer Filters (TSM)
- Test Program Performance Analyzer Graphs (TSM)
- Comparing Data in the Test Program Performance Analyzer (TSM)
- Saving Data in the Test Program Performance Analyzer (TSM)
- Operator Interfaces (TSM)
- Custom Instruments (TSM)
- TSM Code Module API
- Offline Mode (TSM)
- Model-Based Instruments (TSM)
- Configuring Handler or Prober Support for a Test Program (TSM)
- NI Built-in Simulated Handler Driver (TSM)
- Part Average Testing Plug-In Architecture (TSM)
- Part Average Testing Entry Points (TSM)