Test Code Module Development with STS and .NET/C# Course Overview

The Test Code Module Development with STS and .NET/C# Course will follow the typical customer workflow and milestones, which includes tight interaction with corresponding hardware. After completing this course, a test developer will be able to use Semiconductor Test System (STS) resources to develop and debug measurement code modules for STS test program, to create custom test steps, to perform test program optimization and deployment.


Course Last Release Date or Version Number: 20.0

Course Details:

Test Code Module Development with STS and .NET/C# Course Outline

Lesson Overview Topics

Overview of NI STS Software

Explore the different types of software that you use to configure and develop test programs for the STS.

  • What Are the Different Types of NI STS Software?
  • Reviewing the Code Module Development Environments

Investigating Instrument Channel Operation

Investigate the differences in how channels operate on different STS instruments.

  • Exploring How Channels Operate on STS Instruments
  • Using Multi-Instrument Sessions

Programming the Instruments of STS

Programmatically control and configure the instruments of the STS.

  • Overview of STS Programming
  • Opening a Session
  • Configuring the Instrument
  • Sourcing and Measuring
  • Closing a Session
  • Performing a Complete Operation

Exploring TSM APIs

Use the TestStand Semiconductor Module (TSM) APIs to query the instrument names, open sessions on an instrument, obtain all open sessions, and translate pin names to sessions and channels.

  • Overview of the TSM APIs
  • Building Setup Sequence Code
  • Building Test Code
  • Building Cleanup Sequence Code


Exploring the Help Files



Explore and launch the help documentation for the STS and its instruments.

  • Exploring the STS Help Documentation
  • Exploring the Instrument Driver Help Files
  • Exploring the NI TestStand Semiconductor Module Help Files

Designing Test Code Modules

Describe the code module programming flow and how to use the TSM APIs within a code module.

  • Exploring the Code Module Programming Flow
  • Developing Code Modules with the TSM APIs
  • Publishing Data to TestStand

Building Tests from Instrument Code

Define the required functionality of a test code modules with given basic instrument functions, the TSM APIs, and a test plan.

  • Exploring the Workflow for Building Tests
  • Breaking Tests Down into Instrument Commands
  • Finding or Building Code Modules
  • Adding Code Modules to Your Test Program

Test Code Development Considerations

Use tips and tools to effectively use the code module development environment.

  • Handling Exceptions
  • Getting Pin Names in Code Modules
  • Exploring Key Aspects of Code Design

Communicating with a DUT

Communicate with a DUT using the Serial Peripheral Interface (SPI) bus.

  • Implementing DUT Control
  • Using the Serial Peripheral interface (SPI) Bus
  • Controlling the DUT Interactively
  • Bursting an SPI Command on a Digital Pattern Instrument

Debugging the Test Program

Use NI TestStand and .NET debugging tools to debug the test program and test code modules.

  • Debugging TestStand Execution
  • Using TestStand Debugging Tools
  • Debugging .NET Assemblies


Performing Inline Quality Assurance Testing

Integrate inline quality assurance (QA) tests into a test sequence to ensure the quality and consistency of the test application.

  • What Is Inline Quality Assurance (QA) Testing?
  • Implementing Inline QA Testing
  • When Do Inline QA Test Block Steps Execute?

Assigning Software Bins to a DUT

Use the Set and Lock Bin step to assign a software bin to a DUT and override the TSM automatic bin assignment.

  • Why Override the Automatic Bin Assignment?
  • Grading Passed DUTs

Getting and Storing Test Information

Obtain the values for lot settings, station settings, STS test head state, execution data, and custom test conditions and store that data to make it accessible for your test steps.

  • Storing Test Information
  • Programmatically Accessing Test Information

Executing Tests Using the Batch Process Model

Describe how TSM uses the Batch Process model for multisite execution.

  • Exploring the TestStand Execution Architecture
  • Calling Sequences in New Threads and Executions
  • Exploring the Batch Process Model

Developing Test Programs for Multisite Execution

Identify and implement the subsystem execution model for a multisite test.

  • What Is Multisite Testing?
  • How Are Resources Allocated between Sites?
  • Configuring the Multisite Execution Options
  • Taking Measurements on Multiple Pins

Reducing Test Time

Explore the tools and techniques for test system performance profiling and test time reduction (TTR).

  • What Are the Benefits of Reducing Test Time?
  • Profiling Test System Performance
  • Reducing Test Time

Benchmarking a Test System

Use the Test Program Analyzer to evaluate the performance of your test program.

  • Analyzing Test Program Performance
  • Exploring the Test Program Performance Analyzer
  • Identifying Long Test Times
  • Identifying Low Parallel Test Efficiency (PTE) Values
  • Displaying Socket Time and Calculated PTE Values

Low-Level Test Step Benchmarking

Learn how to view and record durations of steps, code modules, and other resources of the test program

  • Overview of the TestStand Execution Profiler
  • Exploring the TestStand Execution Profiler
  • Measuring the True Socket Time

Deploying a Test Program

Use the TestStand Deployment Utility to analyze, build, deploy, and maintain the TestStand sequence.

  • What Is Deployment?
  • Exploring the TestStand Deployment Utility
  • Defining a Deployment Process
  • Deploying a Test System

Debugging Deployed Programs

Debug a test program in production by switching from the Operator Interface to the engineering environment.

  • Reviewing Basic Debugging Techniques
  • Using InstrumentStudio for Debugging
  • Using Digital Pattern Editor for Debugging

Exploring the STS Software Version Selector

Use the STS Software Version Selector to switch among installed version of STS software.

  • Managing STS Software Bundle Versions
  • Switching between STS Software Versions

Get started with Test Code Module Development with STS and .NET/C# today