Universal Test Specification Language
Universal Test Specification Language (UTSL) is a programming language used to describe
History
Increased complexity of
As long as the ATE manufacturer provides with the test program generator that can use UTSL as an input the cumbersome task of translating a test program from one platform to another can be significantly simplified. In other words, the task of rewriting of the test programs for a specific platform can be replaced by the automatically generating the code from the UTSL based test specification. Prerequisite for this is that the UTSL description of tests is sufficiently detailed with definition of the test technique as well as the description of all the necessary inputs and outputs.[4][5][6]
Being a platform independent programming language, UTSL allows the engineers to read, analyse and modify the tests in the test specification regardless of the ATE at which the testing of the
UTSL contains high amount of commands and test-functions. It also allows the usage of commonly known high level programming language syntax elements such as "if/then/else" , etc.[4]
Design
UTSL is a C# like language where the test are defined as blocks of code. Simple tests such a forcing current and measuring voltage or vice versa can be written in UTSL and with the means of the ATE (
UTSL allows the user to set the instruments ranges and clamps in order to guarantee the measurement precision and to prevent the measurements from exceeding the instrument clamp values. The current UTSL capabilities can cover c.a. 70% of the required test specification for
UTSL supports language features such as:[8]
Flow control - "if/then/else, select/case" Loops - "for, while, for each" Data types - "int, double, bool, string" Numerical operators - "=, +, -, *, /, %, **, --, &, |, <<, >>" Logical operators - "==, <, >, >=, <=, !=, ^" Arrays - "declare, resize, and [] operator"
Furthermore, specialized classes for testing were added:
Pin and PinList classes - "for the test board specifics" TestEnvironment class - "wafer level vs final testing" SerialPort and SerialDataFrame classes - "for device serial communications" Evaluate class - "data-logs the results and compares the results to the defined limits"
UTSL also supports the units and scales wherever floating point numbers are used. This is essential for a language that describes a test program where the values can be returned as "V, mV, uV, A, mA, uA" , etc.[1]
Also more complex tests such as serial communications with
Additionally, UTSL allows the user to define the state of the instrument i.e. connected to the pin, or disconnected from the pin.
References
- ^ a b A. Drappa, J. Vollmar und P. Huber, “Automatic Test Program Generation for Automotive Devices”, International Test Conference (ITC), Austin, Texas USA, 2010, Paper 17.1.
- )
- ^ A. Drappa, P. Huber und J. Vollmar, “Automatic Test Program Generation for Automotive Devices”, 23. GI/GMM/ITG-Workshop Universität Passau, 2011, page 81.
- ^ a b c d R. Baumann, N. Nebel, “Die automatische Generierung von Testprogrammen im täglichen Einsatz”, 27. GI/GMM/ITG-Workshop, Bad Urach 2015, page 59.
- ^ a b R. Baumann und N. Nebel, “Automated Test Program Generation for Automotive Devices”, Teradyne User Group (TUG) Conference, Fort Worth, TX, 2013.
- ^ a b R. Baumann und N. Nebel, “Integrating Automated Test Program Generation in Your Daily Workflow Saves Time”, Teradyne User Group (TUG) Conference, Anaheim, California, 2014.
- ^ "UTSL Universal Test Specification Language" (PDF). Vde.com. Retrieved 8 June 2018.
- ^ "UTSL - Universal Test Specification Language". Vde.com. Retrieved 8 June 2018.