NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

File Organisation: TestStand / LabVIEW source

Hi all,

 

I have a project which consists of:

 

- TestStand *.seq files

- LabVIEW support library (*.lvproj, *.vi, *.lvlibp)

- Limits files (*.csv)

 

We have to support multiple versions of test program on the same system, and the file hierarchy is currently as follows:

 

|---Test Programs <root>

      |---SequenceFile1.seq

      |---SequenceFile1

           |---LimitsFile.csv

           |---Packed1.lvlibp

           |---Source1

                 |---Project1.lvproj, Function1.vi...etc

      |---SequenceFile2.seq

      |---SequenceFile2

           |---LimitsFile2.csv

           |---Packed1.lvlibp

           |---Source1

                 |---Project1.lvproj, Function1.vi...etc

 

Put another way, each sequence file has a folder of the same name - and in that folder contains every dependancy the sequence file needs to run.

 

This operates correctly however the problem comes when comparing SequenceFile1 with SequenceFile2.  In the example above every relative path to a VI would change from "SequenceFile1/..." to "SequenceFile2/..." - meaning the real changes get swamped when we perform a diff.

 

- Several test programs can use the same support library (at the moment it is duplicated), or certain functions may have new features/bug fixes.

- A new test program can simply be a change to a limits file, but we still have 'hundreds' of differences in using this file structure.

- There is a constraint in our custom OI that a sequence file 'must' have a folder of the same name (this is where it searches for limits files).

 

I wonder if someone could shed some light on techniques which you would employ to make traceability less of a headache in a setup like this.  We are using version control to manage the development, and what is making it more confusing is the support library development and sequence file development are decoupled.

 

Any and all help appreciated, if you would like further clarification on our current setup - I'll be more than happy to provide.


Regards,

Peter D

0 Kudos
Message 1 of 2
(3,971 Views)

Hello Peter,

Duplicating the shared library may be the easiest way to handle issues that arise as you progress but I would suggest creating a <shared> folder under your <root> folder and placing your common code there. This will force you to plan and design your shared code better.

You can then add the shared library path to your search directories in teststand (either programmatically in teststand / OI or manually). This should help to some extent.

 

I'm guessing Sequence1 and Sequence2 test different versions of a product so essentially most of the functionality is the same? You could have a master sequence which follows your folder structure and you can then present the user a choice of selecting the version which then calls the right sequence file. The sequence file then just needs to read the limits file by itself. Are you at liberty to change OI functionality of locating limits file? If not just create a dummy limit file.

 

folder structure.png

 

Hope this helps.


CLA CTAChampionI'm attending the GLA Summit!
Subscribe to the Test Automation user group: UK Test Automation Group
0 Kudos
Message 2 of 2
(3,906 Views)