This widget could not be displayed.

Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

C# OOP test software architecture questions

I’d like to design some test software based upon these things:

 

(1)     Microsoft C# 2008

(2)     Microsoft .NET Framework 3.5

(3)     National Instruments Measurement Studio 8.5

(4)     Absolutely No TestStand

 

The test will consist of a series of test steps. At times, I’ll have multiple processes going on simultaneously—continuous analog input and a few interdependent state machines performing various combinations of analog, digital, and GPIB I/O.

 

I’m fairly new to C# and OOP, so here are my questions:

 

  1. What’s a good strategy for assigning classes, relating to these things:
    1. A generic sequence of test steps
    2. Various internal state machines
    3. Various internal algorithms
  2. I could easily implement everything with one C# Timer control where I call my code many times per second, and that code handles the various state machines. What are the pros and cons of that?
  3. I think I should avoid multi-threading unless a particular function call takes a long time to execute, thus interfering with the user interface. Is that true?
0 Kudos
Message 1 of 5
(5,824 Views)

Hello bmihura,

 

May I ask why the test software can't be TestStand? Creating your own test software is certainly no easy task, especially when you want to create it in a programming language that you aren't very familiar with using programming concepts that you aren't very familiar with. The development time and effort for even an experienced programmer to put something like this together is pretty extensive.

Manooch H.
National Instruments
0 Kudos
Message 2 of 5
(5,789 Views)

I've used TestStand in many projects, and it's always more hassle than it's worth. In fact, it has added an overall negative value to my projects which have run very nicely with LabVIEW, LabWindows/CVI, and various .NET platforms with Measurement Studio. Those three languages are very nice.

 

1. For me, TestStand adds complexity to otherwise simple, elegant test steps. Iterating through test steps and reporting the results has always been the most trivial part of my projects. And for me, it's certainly not worth $3,000 to add a layer of complexity.

2.  Part of the aforementioned complexity is that the control logic is spread all throughout TestStand. It's hard to follow the logic and test flow when you have to click numerous tabs and buttons to get to little pieces of code scattered everywhere.

3. It is the flagship of bloatware out of all NI software I've used, thus substantially slowing down the execution and development times my otherwise speedy tests.

4. It crashes too often during the editing AND running process, versus just the editing process.

5. I could go on, but those are the top four reasons.

 

 

0 Kudos
Message 3 of 5
(5,786 Views)

Hi BM

 

I agree, having purchased Testtand I found it so cranky to use that it was a wast of my time.

The runtime cost are a joke.

 

Colin

0 Kudos
Message 4 of 5
(5,642 Views)

We too used TestStand for a project and it is way less efficient than just coding in c#.

I don't know why NI make so much bloatware. 1GB to install a single driver for simple IO card. Very frustrating.

I'm now just installing a PCIe-PXI bridge card to replace a faulty PXI computer, and it's a 600MB download just for the driver for a simple PCIe card.

0 Kudos
Message 5 of 5
(3,660 Views)