2
Execution Object Structure Execution Object Contains information TestStand needs to run a sequence, its steps, and any subsequences it calls. You can suspend, interactively debug, resume, terminate, or abort executions. Thread Object Represents an independent path of control flow. Report Object Contains the report text. The process model updates the Report object, and the sequence editor or user interface displays it. Call Stack Lists the chain of active sequences waiting for nested subsequences to complete. The first item in the call stack is the most-nested sequence invocation. Root SequenceContext Object Represents the execution of the least-nested sequence invocation that contains a list of steps and calls to other sequences. SequenceContext Object Represents the execution of a sequence that another sequence called. Current Step Represents the executing step of the currently executing sequence in the call stack. Architecture Overview TestStand Sequence Editor TestStand development environment for creating, modifying, executing, and debugging sequences. Custom User Interfaces Customizable applications that, depending on mode, edit, execute, and debug test sequences on a test station. User interfaces are available in several different programming languages and include full source code, so you can modify them to meet specific needs. Process Models Define the operations that occur for all test sequences, such as identifying the unit under test (UUT), notifying the operator of pass/fail status, generating a test report, and logging results. TestStand includes three fully customizable process models: Sequential, Parallel, and Batch. User Interface Controls A powerful set of ActiveX controls and support APIs for creating custom user interfaces. TestStand Engine A set of DLLs that provides an extensive ActiveX Automation API for controlling and interacting with TestStand. The sequence editor, TestStand User Interface (UI) Controls, and user interfaces use this API. Sequence File Executions Created by the TestStand Engine when you execute a test sequence using the sequence editor or a user interface. Adapters Allow TestStand to call code modules in a variety of different formats and languages. Adapters also allow TestStand to integrate with various ADEs to streamline test code generation and debugging. Code Modules Program modules, such as LabVIEW VIs (.vi) or Windows Dynamic Link Libraries (.dll), that contain one or more functions to perform a specific test or action. TestStand adapters call code modules. Built-In Step Types Define the standard behaviors for common testing operations. Some step types use adapters to call code modules that return data to TestStand for further analysis. Other step types perform standard operations, such as calling an executable or launching dialog boxes. User-Defined Step Types Define a set of custom step properties and default behaviors for each step of that custom type. You can also define data types. Templates Create custom sequences, steps, and variables to use as templates to build sequence files. OVERVIEW CARD NI TestStand TM System and Architecture NI TestStand is flexible test management software that offers the following major features: Out-of-the-box configuration and components provide a ready-to-run, full-featured test management environment. Numerous methods for modifying, configuring, and adding new components, which provide extensibility so you can create a test executive that meets specific requirements without altering the core TestStand Engine. You can upgrade to newer versions of TestStand without losing the customizations. Sophisticated sequencing, execution, and debugging capabilities, and a powerful sequence editor that is separate from the user interfaces. User interface controls for creating custom user interfaces and sequence editors. You can also create a user interface in any programming language that can host ActiveX controls or control ActiveX Automation servers. Example user interfaces with source code for National Instruments LabVIEW, National Instruments LabWindows /CVI , Microsoft Visual Basic .NET, C#, and C++ Microsoft Foundation Classes (MFC). An open language interface that provides support for many application development environments (ADEs). You can create code modules in a variety of ADEs and call pre- existing modules or executables. A comprehensive application programming interface for building multi-threaded test systems and other sophisticated test applications. Integration with third-party source code control packages. Deployment tools to help you transfer a test system from development to production. TestStand Sequence Editor Code Modules Results Results Results Results Results Results Results Results Custom User Interfaces User Interface Controls Application Programming Interface TestStand Engine Sequence File Executions User-Defined Step Types Sequence File Executions No Model Test Socket 0 Execution UUT UUT UUT Test Socket 1 Execution UUT UUT Test Socket n Execution UUT UUT UUT UUT UUT UUT UUT UUT Process Model Result Collection Schema Definitions Database Logger Report Generator ADO/ODBC Thread Object 0 Thread Object n Sequence File Globals Steps Main Step Group Steps Cleanup Step Group Parameters Sequences Local Variables Adapters .VI, .LVPROJ, .LVLIB, .LVLIBP .DLL, .OBJ, .LIB, .C .DLL .DLL, .EXE .DLL, .EXE .PRG .SEQ LabVIEW Adapter LabWindows/CVI Adapter C/C++ DLL Adapter .NET Adapter ActiveX/COM Adapter HTBasic Adapter Sequence Adapter Types Sequence File Parallel Process Model Batch Process Model Sequential Process Model Process Model Sequence File Execution Test Socket n Execution Test Socket 1 Execution Test Socket 0 Execution Oracle . . . SQL Server Report Object Execution Object Call Stack Root SequenceContext Object 0 SequenceContext Object 1 SequenceContext Object n Step Object 0 Step Object n . . . Current Step Microsoft Access Process Models . . . . . . HTML ASCII- Text XML ATML Sequence File Execution Flow Sequence File Executions You can execute a sequence directly, or you can execute a sequence file through a process model Execution entry point, such as Test UUTs and Single Pass. Each entry point is a sequence in the process model file that invokes a test sequence file. Process Model Sequence File Execution When you start an execution through a process model Execution entry point, the process model defines how to test the UUTs. The Sequential model tests one UUT at a time. The Parallel model tests multiple independent test sockets at the same time. The Batch model tests a batch of UUTs using dependent test sockets. Process Model Result Collection The type of a step and any additional results you configure for the step determine the information the step includes in a result. The TestStand Engine collects the results of each step that executes into a result list. Process models use the result list to generate reports and log data to databases. Unit Under Test Device or component you are testing. Test Socket Execution For each test socket, or fixture, in the system, the Parallel and Batch models launch a separate test socket execution that controls the testing of UUTs in the test socket. Report Generator The report generator traverses test results to create reports in HTML, ASCII-text, XML, and ATML formats. You can fully customize the reports. Schema Definitions Schema definitions define SQL statements, table definitions, and TestStand expressions that define how to log results to a database. You can fully customize the schemas. Database Logger The database logger traverses test results and exports data into database tables using schema definitions. Sequence File Structure Sequence File A sequence file contains any number of sequences, a set of data types and step types the sequence file uses, and any global variables that sequences in the sequence file share. Sequences Sequences contain groups of steps, local variables, and parameters used for passing data between steps and subsequences. Types Sequence files contain definitions of all data types and step types its sequences use. Variables and properties in a sequence are instances of data types. Steps in a sequence are instances of step types. Sequence File Globals Sequence file global variables store data you want to access from any sequence or step within the sequence file in which you define the sequence file global variable. Setup, Main, Cleanup Step Groups TestStand executes the steps in the Setup step group first, the Main step group next, and the Cleanup step group last. By default, a sequence moves to the Cleanup step group when a step generates an error in the Setup or Main step group. Local Variables Local variables store data relevant to the execution of the sequence. You can access local variables from within steps and code modules defined in a sequence. Parameters Use parameters to exchange data between calling and called sequences. Steps Steps perform built-in operations or call code modules. A step is an instance of a step type, which defines a set of step properties and default behaviors for each step. 373457C-01 Oct10 . . . . . . . . . CVI, LabVIEW, National Instruments, NI, ni.com, NI TestStand, the National Instruments corporate logo, and the Eagle logo are trademarks of National Instruments Corporation. Refer to the Trademark Information at ni.com/trademarks for other National Instruments trademarks. The mark LabWindows is used under a license from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in the United States and other countries. Other product and company names mentioned herein are trademarks or trade names of their respective companies. For patents covering National Instruments products/technology, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your media, or the National Instruments Patent Notice at ni.com/patents. © 2003–2010 National Instruments Corporation. All rights reserved. Printed in Ireland. Steps Setup Step Group Templates Action Sequence Call Statement Label Message Popup Call Executable Property Loader FTP Files Additional Results Flow Control Steps Synchronization Steps Database Steps IVI Steps LabVIEW Utility Steps Pass/Fail Test Numeric Limit Test Multiple Numeric Limit Test String Value Test Built-In Step Types

Archived: NI TestStand System and Architecture Overview

  • Upload
    others

  • View
    11

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Archived: NI TestStand System and Architecture Overview

Execution Object Structure Execution Object Contains information TestStand needs to run a sequence, its steps, and any subsequences it calls. You can suspend,interactively debug, resume, terminate, or abort executions.

Thread Object Represents an independent path of control flow.

Report Object Contains the report text. The process model updates the Reportobject, and the sequence editor or user interface displays it.

Call Stack Lists the chain of active sequences waiting for nestedsubsequences to complete. The first item in the call stack is themost-nested sequence invocation.

Root SequenceContext Object Represents the execution of the least-nested sequenceinvocation that contains a list of steps and calls toother sequences.

SequenceContext Object Represents the execution of a sequence that anothersequence called.

Current Step Represents the executing step of the currently executingsequence in the call stack.

Architecture OverviewTestStand Sequence EditorTestStand development environment for creating, modifying,executing, and debugging sequences.

Custom User InterfacesCustomizable applications that, depending on mode,edit, execute, and debug test sequences on a teststation. User interfaces are available in severaldifferent programming languages and include fullsource code, so you can modify them to meetspecific needs.

Process ModelsDefine the operations that occur for all test sequences,such as identifying the unit under test (UUT), notifyingthe operator of pass/fail status, generating a testreport, and logging results. TestStand includes threefully customizable process models: Sequential, Parallel,and Batch.

User Interface ControlsA powerful set of ActiveX controls and support APIs for creating custom user interfaces.

TestStand EngineA set of DLLs that provides an extensive ActiveXAutomation API for controlling and interacting withTestStand. The sequence editor, TestStand UserInterface (UI) Controls, and user interfaces use this API.

Sequence File ExecutionsCreated by the TestStand Engine when you execute atest sequence using the sequence editor ora user interface.

AdaptersAllow TestStand to call code modules in a variety ofdifferent formats and languages. Adapters also allowTestStand to integrate with various ADEs to streamlinetest code generation and debugging.

Code ModulesProgram modules, such as LabVIEW VIs (.vi) orWindows Dynamic Link Libraries (.dll), that containone or more functions to perform a specific test oraction. TestStand adapters call code modules.

Built-In Step TypesDefine the standard behaviors for common testingoperations. Some step types use adapters to call codemodules that return data to TestStand for furtheranalysis. Other step types perform standard operations,such as calling an executable or launchingdialog boxes.

User-Defined Step TypesDefine a set of custom step properties and defaultbehaviors for each step of that custom type. You canalso define data types.

TemplatesCreate custom sequences, steps, and variables to useas templates to build sequence files.

OVERVIEW CARD

NI TestStandTM

System and ArchitectureNI TestStand is flexible test management software that offers the following major features:

• Out-of-the-box configuration and componentsprovide a ready-to-run, full-featured testmanagement environment.

• Numerous methods for modifying, configuring,and adding new components, which provideextensibility so you can create a test executivethat meets specific requirements without alteringthe core TestStand Engine. You can upgrade tonewer versions of TestStand without losing thecustomizations.

• Sophisticated sequencing, execution, anddebugging capabilities, and a powerful sequenceeditor that is separate from the user interfaces.

• User interface controls for creating custom userinterfaces and sequence editors. You can alsocreate a user interface in any programminglanguage that can host ActiveX controls orcontrol ActiveX Automation servers.

• Example user interfaces with source code forNational Instruments LabVIEW, NationalInstruments LabWindows™/CVI™,Microsoft Visual Basic .NET, C#, and C++Microsoft Foundation Classes (MFC).

• An open language interface that providessupport for many application developmentenvironments (ADEs). You can create codemodules in a variety of ADEs and call pre-existing modules or executables.

• A comprehensive application programminginterface for building multi-threaded test systemsand other sophisticated test applications.

• Integration with third-party source codecontrol packages.

• Deployment tools to help you transfer a testsystem from development to production.

TestStandSequence Editor

Code Modules

ResultsResults Results Results Results Results Results Results

CustomUser Interfaces

User InterfaceControls

Application Programming Interface

TestStand Engine Sequence FileExecutions

User-Defined Step Types

Sequence File Executions

No Model

TestSocket 0

Execution

UUT

UUT

UUT

TestSocket 1

Execution

UUT

UUT

TestSocket nExecution

UUT

UUT UUT UUT UUT

UUT UUT UUT

Process Model Result Collection

Schema Definitions Database LoggerReport Generator

ADO/ODBC

Thread Object 0 ThreadObject n

SequenceFile

Globals

Steps

Main Step Group

Steps

Cleanup StepGroup Parameters

Sequences

LocalVariables

Adapters.VI, .LVPROJ,

.LVLIB, .LVLIBP

.DLL, .OBJ, .LIB, .C

.DLL

.DLL, .EXE

.DLL, .EXE

.PRG

.SEQ

LabVIEW Adapter

LabWindows/CVI Adapter

C/C++ DLL Adapter

.NET Adapter

ActiveX/COM Adapter

HTBasic Adapter

Sequence Adapter

Types

Sequence File

Parallel Process Model Batch Process ModelSequential

ProcessModel

Process Model Sequence File Execution

TestSocket nExecution

TestSocket 1

Execution

TestSocket 0

Execution

Oracle . . .SQLServer

ReportObject

Execution Object

Call Stack

Root SequenceContext

Object 0

SequenceContextObject 1

SequenceContextObject n

Step Object 0

Step Object n

. . .

Current Step

MicrosoftAccess

ProcessModels . . .

. . .

HTML ASCII-Text

XML ATML

Sequence File Execution Flow Sequence File ExecutionsYou can execute a sequence directly, or you can execute asequence file through a process model Execution entry point,such as Test UUTs and Single Pass. Each entry point is asequence in the process model file that invokes a testsequence file.

Process Model Sequence File ExecutionWhen you start an execution through a process modelExecution entry point, the process model defines how to testthe UUTs. The Sequential model tests one UUT at a time. TheParallel model tests multiple independent test sockets at thesame time. The Batch model tests a batch of UUTs usingdependent test sockets.

Process Model Result CollectionThe type of a step and any additional results you configurefor the step determine the information the step includes in aresult. The TestStand Engine collects the results of each stepthat executes into a result list. Process models use the resultlist to generate reports and log data to databases.

Unit Under TestDevice or component you are testing.

Test Socket ExecutionFor each test socket, or fixture, in the system, the Paralleland Batch models launch a separate test socket executionthat controls the testing of UUTs in the test socket.

Report GeneratorThe report generator traverses test results to create reportsin HTML, ASCII-text, XML, and ATML formats. You can fullycustomize the reports.

Schema DefinitionsSchema definitions define SQL statements, table definitions,and TestStand expressions that define how to log results to adatabase. You can fully customize the schemas.

Database LoggerThe database logger traverses test results and exports datainto database tables using schema definitions.

Sequence File Structure Sequence FileA sequence file contains any number of sequences, a set ofdata types and step types the sequence file uses, and anyglobal variables that sequences in the sequence file share.

SequencesSequences contain groups of steps, local variables, andparameters used for passing data between steps andsubsequences.

TypesSequence files contain definitions of all data types andstep types its sequences use. Variables and properties in asequence are instances of data types. Steps in a sequenceare instances of step types.

Sequence File GlobalsSequence file global variables store data you want to accessfrom any sequence or step within the sequence file in whichyou define the sequence file global variable.

Setup, Main, Cleanup Step GroupsTestStand executes the steps in the Setup step group first,the Main step group next, and the Cleanup step group last.By default, a sequence moves to the Cleanup step groupwhen a step generates an error in the Setup or Mainstep group.

Local VariablesLocal variables store data relevant to the execution of thesequence. You can access local variables from within stepsand code modules defined in a sequence.

ParametersUse parameters to exchange data between calling andcalled sequences.

StepsSteps perform built-in operations or call code modules. Astep is an instance of a step type, which defines a set of stepproperties and default behaviors for each step.

373457C-01 Oct10

. . . . . .

. . .

CVI, LabVIEW, National Instruments, NI, ni.com, NI TestStand, the National Instruments corporate logo, and theEagle logo are trademarks of National Instruments Corporation. Refer to the Trademark Information atni.com/trademarks for other National Instruments trademarks. The mark LabWindows is used under alicense from Microsoft Corporation. Windows is a registered trademark of Microsoft Corporation in theUnited States and other countries. Other product and company names mentioned herein are trademarks or tradenames of their respective companies. For patents covering National Instruments products/technology, refer to theappropriate location: Help»Patents in your software, the patents.txt file on your media, or the NationalInstruments Patent Notice at ni.com/patents.

© 2003–2010 National Instruments Corporation. All rights reserved. Printed in Ireland.

Steps

Setup Step Group

Templates

Action

Sequence Call

Statement

Label

Message Popup

Call Executable

Property Loader

FTP Files

Additional Results

Flow Control Steps

Synchronization Steps

Database Steps

IVI Steps

LabVIEW Utility Steps

Pass/Fail Test

Numeric Limit Test

Multiple Numeric Limit Test

String Value Test

Built-In Step Types

Page 2: Archived: NI TestStand System and Architecture Overview

You can use the fully customizable TestStand developmentenvironment to create, modify, execute, and debug sequences. You can also use the sequence editor to modify step types andprocess models. You can customize the environment by docking,auto-hiding, and floating panes to optimize development tasks.

TestStand includes separate user interface applications developedin LabVIEW, LabWindows/CVI, Visual Basic .NET, C#, andC++ MFC. Because TestStand includes the source code for eachuser interface, you can fully customize the user interfaces. Youcan also create a user interface using any programminglanguage that can host ActiveX controls or control ActiveX

servers. With the user interfaces in Operator Mode, you canstart multiple concurrent executions, set breakpoints, andsingle-step. In Editor Mode, you can perform the same tasks asin Operator Mode and you can also modify sequences, createand modify sequence variables, sequence parameters, stepproperties, and so on.

TestStand Sequence Editor Overview User Interface Overview

LLiisstt BBaarrLists the

currentlyopen

sequencefiles and

executions.

Sequ

ence

File

W

indo

w

Exec

utio

n W

indo

w

Exec

utio

n Vi

ew

Repo

rt V

iew

Sequ

ence

Vie

w

Lists steps in thesequence and stepgroup for thesequence file youselect in thelist bar.

Displays the threads,call stack, and stepsfor the executionyou select.

Displays the report for theexecution you select.

Displayssequencesand otheritems in asequencefile.

Displays the threads,call stack, and steps anexecution runs. Whenexecution completes,displays the report forthe execution.

Windows Displays the sequence files, executions, and other windows open in the sequence editor.

UserManagerWindowAdministers usersfor the test station,groups to whichusers belong, loginnames, passwords,and privileges.

Output PaneDisplays outputmessages thatexpressions andcode modulespost to theTestStand Engine.

Call Stack Pane Displays the

nestedsequence

invocations forthe threadyou select.

The sequence editor provides familiar LabVIEW, LabWindows/CVI, and Microsoft Visual Studio debugging tools, including breakpoints, single-stepping, stepping into or over function calls, tracing, a Variables pane, and a Watch View pane. In the sequence editor, you can startmultiple concurrent executions, execute multiple instances of the same sequence, and execute different sequences at the same time. SeparateExecution windows display each execution. In trace mode, the Execution window displays the steps in the currently executing sequence. Whenyou suspend an execution, the Execution window displays the next step to execute and provides single-stepping options.

Templates ListOrganizes customsequences, steps,and variables youcan use as templatesfor buildingsequence files.

Step Settings PaneSpecifies the settings for thestep, such as code moduleparameters, switching, flowcontrol, and post actions.

Variables PaneDisplaysglobals,variables,parameters,and properties,including thevalues, thatsteps canaccess atrun time.

InsertionPalette

Displaysstep types

andtemplates

you caninsert intosequence

files.

Steps PaneDisplays the steps in thesequence you select on

the Sequences pane.

Step TypesList

Displaysthe

TestStandstep types.

StepPerforms built-inoperations orcalls codemodules.

Workspace PaneManages projects for sourcecode control (SCC) integrationand deployment. TestStand inte-grates with third-party SCC pack-ages to add files, obtain the lat-est versions of files, and checkfiles in and out. Use TestStandproject (.tpj) files to organizesequence files and code modulefiles in folders.

TypesWindowContains definitionsof custom datatypes and step typesall sequence filescan use.

Watch View PaneMonitors the valuesof specifiedvariables, properties,and expressionsduring an execution.

Sequences PaneDisplays the

sequences in thesequence file.

Execution PointerPoints to the

currently executingstep at the call stack

level you select.

ThreadsPaneContains a list ofthreads inthe currentexecution.

BreakpointsStep settings that

suspend anexecution before

executing the step.

Insertion PaletteDisplays step typesand templates youcan insert intosequence files.

SequenceHierarchyWindowDisplays a graph of thesequence call and callback relationshipsamong sequence filesand sequences to more easily visualize, navigate, and maintaintest sequences.

Documentation Overview The Guide to TestStand Documentation topic in the NI TestStand Help contains links to all the TestStand documentation in electronic formatand recommends the order in which you examine the documentation. Select SSttaarrtt»AAllll PPrrooggrraammss»NNaattiioonnaall IInnssttrruummeennttss»TTeessttSSttaanndd»DDooccuummeennttaattiioonn»NNII TTeessttSSttaanndd HHeellpp or select HHeellpp»NNII TTeessttSSttaanndd HHeellpp in the sequence editor to launch the NI TestStand Help.

Printed and PDF Documentation

Online Help

Cards and Posters

Deployment Overview Use the TestStand Deployment Utility to create a deployable image of a TestStand system and, optionally, an installer that contains the deployableimage. The deployable image can contain sequence files, code modules and supporting files, process model and supporting files, user interfaceapplications, configuration files, and step types and supporting files the TestStand system uses.

System SourceSelects the

workspace fileor directory thatspecifies which

files to deployand the location

to create thedeployment

image.

Distributed FilesLists the files

included in thedeployment and

configures theinstaller destination

location and settingsfor each file.

Installer OptionsConfigures installersettings for thedeployment andspecifies whichcomponents toinclude fromTestStand and otherNational Instrumentssoftware, such ashardware drivers.

Build StatusDisplays progressand log informationwhen analyzing filesto include in adeployment andwhen building adeployment imageand installer.

NI TestStand Release NotesUse this document to learn about system requirements, installationinstructions, information about new features, and other changes sincethe previous version of TestStand.

Using TestStandUse this manual to familiarize yourself with the TestStand environmentand the basic features you use to build and run test sequences.

Using LabVIEW and LabWindows/CVI with TestStandUse this manual to learn how to use LabVIEW and LabWindows/CVIwith TestStand.

NI TestStand Reference ManualUse this reference manual to learn about TestStand concepts,architecture, and features. The NI TestStand Reference Manual isavailable only as a PDF file.

NI TestStand HelpUse this help file to learn more about the TestStand environment and theTestStand UI Controls and Engine APIs. The NI TestStand Help alsoincludes basic information about using an ActiveX Automation server.

NI TestStand VIs and Functions HelpUse this help file to learn more about TestStand-specific VIs andfunctions. This help file is accessible only from LabVIEW.

NI TestStand System and Architecture Overview CardUse this card to learn about the overall architecture of TestStand and asa reference for key TestStand concepts.

NI TestStand User Interface Controls Reference PosterUse this poster as a reference of the properties, methods, and eventsfound in the TestStand UI Controls API, as well as an illustration of thebuilt-in connections between the TestStand UI Controls.

NI TestStand API Reference PosterUse this poster as a reference of the properties, methods, and eventsfound in the TestStand API, as well as an illustration of API inheritance.

Other Resources

Example ProgramsTestStand includes a variety of example programs, located in the <TestStand Public>\Examples directory, to help you learn andunderstand key concepts. Use these example programs as a startingpoint for applications you create. Refer to the NI TestStand Help formore information about the example programs.

NI Developer ZoneRefer to the NI Developer Zone at ni.com/zone for more advancedconcept and architecture information. For example, the NI TestStandAdvanced Architecture Series is a suite of documents authored byTestStand architects and developers to provide more detailedinformation for experienced TestStand users with complex projects.

Analysis Results PaneDisplays the analysis results for thecurrent TestStand Sequence Analyzerproject and for each sequence file andworkspace file you analyze.

Test

Stan

dD

eplo

ymen

t Util

ity

Configure the settings for deploying a test system, includingthe components to install and the installer settings.