NI TestStand Idea Exchange

Community Browser
Top Authors
Showing results for 
Search instead for 
Did you mean: 
Post an idea

The TestStand Offline Results Processing utility is an external application built on top of the TestStand engine. The tool takes TSR files created by a TestStand Execution, and processes them either on an external computer or at another time on the same computer. The idea I'd like to propose is to have the tool follow the TestStand Model plug-in architecture. Currently, it is a standalone application that does not have any connection to the process model or the model plug-ins sequence other than where the TSR file is placed. It would be helpful if one could get and set profiles, inboxes and outboxes and start the information programmatically within a sequence file as we can with many other TestStand processes.


Here is a screenshot of the utility for those unfamiliar with it:






Running batch model sequences it would be nice to be able to "Step Into", "Step Over" or "Step Out" for all testsockets with one click instead click instead the need to click on each testsocket before stepping into/over/out.

To change the step name the command Step.Name is commonly used.


However, if the step contains multiple measurements, changing their names dynamically is impossible.


It would be good if this opportunity would exists.





Execution of a single step is a process executing a lot of steps depending on looping and synchronization. Needing the option to call a PreExecuting and PostExecuting step before taking Looping, PreConditions and Synchronization options in consideration and after all other steps are executed. This is intended to custom step types for use with external customers.




Thanks Vagn

Right now, custom substeps (edit substep in particular) only supports one step at a time.  (I can only invoke the edit substep if exactly one step is selected).  However, I have a case where I have a dozen or more steps in a row that are all the same custom step type, and I want to perform the custom edit event on all of them.  This means going through each one individually, which takes a while.  I'd love to be able to select all of them, and then invoke the edit substep call for all of them at once.  The "cheap" way to do this would be to just invoke the edit substep of the first one, and then once that is done to go to the next, and the next, and finally you are done (but this is still annoying to the user).  What would be nice is to be able to pass an array of sequence context values in (one for each step that is selected), and then your edit code could manage all of the steps however it sees fit.  If multiple different step types are selected, it could just default to not allowing a multi-step custom edit, but ideally if all of the steps selected shared a common edit substep entry (name and module) it would allow it.

When developing code for the customization of the User (Operator) Interface, I would like the capability to provide my own custom dialog box for “Loop on Selected Steps” by overriding the standard dialog box that TestStand provides. TestStand provides this standard dialog box when the command kind “Loop On Selected Steps Using” is executed.


The problem in our production environment often is our production technicians are required to (manually) perform interactively with a series of sequence steps and repeat those steps 29 times (Our strict regulatory guidelines). Most of our technicians are technologically challenged in our production environment. In our environment, I have developed the TestStand User Interface to where the TestStand Execution and Sequence Views are hidden to production operators but visible to the developers (engineers) and administrators for trouble shooting capability.


If a custom dialog box cannot be done, at least provide the capability to where I can programmability change the properties of the “Loop On Selected Steps”. At least allow the dialog box to be programmability set to where I can set the number of loops, set the stop condition, stop expression, enable/disable the controls or hide the dialog box without the operator needing to manually entering those values into the dialog box.

In a recent Test Stand training session at my work, we learned about Engine callbacks and specifically about the Load and Unload ability to run code when simply loading or unloading a TS sequence file.  In speaking with our FE, there is no was to disable the Engine callbacks and he asked that I post this request.


Without the ability to disable this feature, there can be inadvertent to malicious consequences.  The loading or unload of a sequence file needs to be passive during development so the sequence file can be reviewed and verified to be harmless before putting the sequence file out for production use.


In the inadvertent instance, a developer could produce something that they are not quite sure will work and it could produce a side-effect. It would be good to be able to open this sequence file and review all the steps before the Engine Load callback has any chance of running.


In the malicious instance, the Engine Load could be used to perform unwanted events - I.E.. Performing a system call to format the C: drive, making a remote connection to an external computer, etc. during the code load and before anyone has a chance to review the sequence file and verify that it is harmless.


The Engine callbacks are a great feature but with the inability to disable them creates a great security risk. There needs to be an option in the TS Sequence Editor to disable all or selected Engine callbacks and then a sequence file can be opened safely and reviewed before execution.


Presently we can login into Teststand using the windows login. Carrying this forward it will be good if all Teststand configurations ( ex report type,process model,search directories) are user specific.


This will need maintaining separate config files for each user.

On start Teststand will check the windows user name logged in and accordingly copy relevant config files and configure the Teststand.



It would be nice to add some more expressions to the SequenceCall STEP, when this one has the "Specify by expression" set to true.


I would like to be abble to set the folowing parameter by expressions ...


  • Use Current file

TestStand can save a sequence file in previous versions but that option is not very evident. Currently when you go to File >> Save As, the option to chose from is "Files of Type". I propose that a change to "Save in Version" or something to that effect be implemented. This change will make things a lot clearer for the user as it will be self explanatory. Another option will be to make it its own menu item under file>>. I hope see this in future versions of TestStand.

I think it would be a cool idea to put an extra configuration entry point in the Sequential Model (or all the shipped process models) by default.  Inside of it would be a simple call to an empty callback.  This way users can override the callback to get custom sequence file configuration setting. 


This would be useful for storing info like: DAQmx addresses, GPIB addresses, etc... off to a file.  Sorta like machine specific configuration info.  That way during execution the file can be read in and used.  However, if it's empty then people can use it for whatever they want. 


I understand that I can go in there and edit the process model and make my own but it would be nice to just have the default already there.


You could call it Sequence File Configuration or something.

Being new to TestStand, this idea may actually already exist, but it would be great if there was a way to show what references are either still open at the end of an execution. I am having the dickens of a time identifying open refernces with very large scale programs, and if the open references overcome TestStand and it crashes, there seems to be no way of finding out why, assuming open references are the major player.

globals scoped to an execution

currently I use RunState.Root.FileGlobals as execution globals

but adding a custom global there normally requires modification of the model


When investigating a specific UserGroup (in the user group list) it is very easy to check the array of Members to find a specific user's name... However, given a specific user, it is a bit of a process to do a reverse lookup and find what group the user is a member of. 


While I know that I can always check privileges on specific operations for a user to make an educated guess on what group I belong to, it would be more elegant if I could just access a method or property such as:




and have it return the string for the UserGroup name.  {Operator, Technician, Developer, Administrator etc}



This has to be an easy one, could you add a "EntryPoint" property to the execution object that would retrieve the execution entry point. This info is included in the Execution.DisplayName property but it is a little bit of a pain to trim/split the string to get the actual entry point name.




<< N >>

Since reports are to certify the test results, it would be nice to have DIGITAL SIGNATURE option to give it FORMAL touch.

It will also help in organizations to authenticate the result.


It will be also nice to add some PPT or PHOTOS to report to describe the test setup & UUT.

Even though we already have an About box for TestStand, it would also be nice to have one for the active TestSequence file as well. The Help menu would have a new item called "About MySequenceFile ...".


MySequenceFile About box splash screen:



The information in this screen should be loaded directly from a single FileGlobal string whenever a sequence file is made active. This can probably be done already by those that know how, but it should be already part of TestStand by default.




A TestStand configuration wizard


I would like to see a TestStand configuration wizard that would walk a developer through a checklist of all of the most important configuration settings and generate recommended changes.


It is best for a developer to be already familiar with Best Practices as in the following link:


Best Practices for Improving NI TestStand System Performance


However, it would also be nice to have assistance in recording WHY certain choices are made as shown in this image:





Everyone should be familiar with the Sequences pane. In it, we get fancy icons for certain callbacks, but I'd also like each sequence reveal more information about the sequence's settings, and my first thought was to use helpful overlays for the icon. If you take a peek in the Sequence Properties dialog, you'll see there's three different tickboxes there that (can) radically change how a sequence executes. Unfortunately, I don't have any awesome ideas on how these could be presented (especially all at once) - it'd be pretty tough to fit all that discernably into a 16x16 icon. Both Comments and Requirements are visualized clearly, but I would just as soon trade the Comment column for a way to display these settings.



















 I'd be even more thrilled if the SequenceCall step type could also find some visual way to display this information, but I guess we should probably take this a step at a time 😉



Test tand is very useful to me and always feel thanks. Nevertheless sometimes I feel that how about hide skipped steps, sequence and something like that. If there is a function of "Hide skipped step or Hide skipped all", I will obviously use them every 50 times. 🙂 

How do you think about this suggestion?


Thanks in advance.