Performing Inline Quality Assurance Testing (TSM)

A tester might need to perform periodic or random quality assurance (QA) tests to identify errors or unintended behavior in some component of the test system. Typically, a QA test specifies limits that are wider than those of a normal test. Because an actual test might pass with a value that is very close to a limit, wider limits ensure that an inline QA failure occurs only when a problem exists with the tester.

A technician or operator might run a dedicated QA test—separate from a standard test sequence—on a tester as part of the manufacturing process or to perform an audit on the test system. However, in some cases, the test engineer might want to perform inline QA testing, in which one or more QA tests exists within a standard test sequence.

TSM Implementation

Use a station setting TSM provides to enable or disable inline QA testing functionality for the test station. When you enable inline QA testing for the test station, you must specify an inline QA algorithm that specifies the inline QA testing behavior. In the test program main sequence file, insert an Inline QA Test Block step to specify a block of steps that perform inline QA testing only under certain conditions. TSM maintains a queue of inline QA states, where each state is a Boolean value that indicates whether to perform inline QA for a DUT.

The steps within the inline QA test block execute only when all of the following conditions are true:

  • The StationSettings.Standard.InlineQAEnabled Boolean property is True.
  • The Step.ConditionExpr property of the Inline QA Test Block step specifies an expression that evaluates to True.
  • The next inline QA state, which is the next Boolean value removed from the TSM queue of inline QA states, is True.
    Note If multiple inline QA test blocks exist in the sequence, only the first one that executes dequeues the inline QA state for the DUT. Subsequent inline QA test blocks use the inline QA state that the first inline QA test block dequeued.

Complete the following steps to implement inline QA testing functionality for a test program.

  1. Create an inline QA algorithm sequence file and edit the GetNextInlineQAStateQueueItems callback sequence.
  2. Enable inline QA on the test station and specify the inline QA algorithm sequence file you created in step 1 as the inline QA algorithm sequence file to use for the test station.
  3. Insert a single Inline QA Test Block step instance in the MainSequence sequence of the test program main sequence file.
  4. Insert additional steps within the Inline QA Test Block that call code modules that perform the inline QA tests.
Note
  • The default expression for the Step.ConditionExpr property evaluates to True when the MainSequence sequence has not yet encountered a sequence failure. You can modify the expression the Step.ConditionExpr property specifies to customize the condition for which the inline QA test block executes.
  • You can place multiple Inline QA Test Block step type instances at any location in any test sequence, but NI recommends that you place only a single instance after all standard test steps in the MainSequence sequence of the test program main sequence file.