First, I think there should be a main topic called testing instead of TestStand or along TestStand.
I implemented a Hardware Abstraction Layer as described by NI and I think it is poorly designed for the following reasons:
The ASL (application separation layer - API for general HW access) is not OO and lacks logic, error handling and stubs/mocks for simulation.
I found that during my app development I waist a lot of time since my HAL has no good testing framework with code reuse and each test unit needs all the system to be configured and running.
Besides that, if I have no access to the hardware it is very hard to develop since I need to write code, compile it, move it to a test machine, run + debug, come back to LabVIEW and try to find the bug with no live input for LV debug tools and without being able to exactly reproduce the scenario from the test machine. This process will repeat itself until I'll build an ad hoc recording mechanism which is not reusable for other features I develop.
Thus, I wonder, do you guys have an agile solution to this bad methodology?
Is there a tool that will automatically create some Mocks/Stubs to my code (stub is a recording of the application actions and responses. It can be used to virtualize the environment while actually working on a stand alone application. Thus, testing and development time is reduces).
I wrote such a recording mechanism for some of my features but it is not general or integrated into the HAL design I copied from NI.
Thanks in advance,