Hi,
I am not sure I understand your problem here, to us a test specification is a formally control document written by a design engineers telling the test software team what we need to test on a unit or device. The test specification defines expected results & limits, maybe also defining specific test conditions, it is often reviewed and signed of by various teams in the organisation.
We then have to abstract that test specification into a form that is usable by an automated test system, this is true whether the automated system is written in LabVIEW (graphical), Visual Basic or Python (text based) form. We use a number of text files to define test limits & test configurations. These configuration files are linked in some way back to the original test specification for audit & QA purposes. The test software then reads these limit & configuration files when it runs to carry out the tests.
The better you do your abstraction the easier it will be to deal with changes to you original test specification. So for example if a test limit changes or maybe a set up condition like the power of an input signal changes you only need to change the limits or configuration text files and not your actual code.
When you move from the stage of running a few simple stand alone tests or checks on units under test to try an do fully automated testing against test specifications you need to look at the concept of a Test Executive this software layer will carry out the function you were talking about. Again this software layer is really needed indifferent of the programming language you are using.
As has already been said you could look at TestStand write your own or several NI Allience Members supply Test Executive Type Systems.
cheers
Dannyt