User:Jluedem/Sandbox

TPT (Time Partition Testing) is a software tool for the software test of embedded control systems.

TPT combines a systematic and graphic modelling technique for test cases with a fully automatic test execution in different environments and automatic test evaluation. TPT is specialized on testing embedded systems whose inputs and outputs can be represented as signals. Most control systems belong to this system class.

TPT covers the following test activities:
 * test case modeling,
 * test execution (automated) in different environments e.g. MATLAB/Simulink, LabVIEW, CAN, LIN, HiL
 * test assessment (automated)
 * test documentation (automated)
 * traceability of requirements(e.g.Telelogic DOORS) and test cases

Reaktive Tests
With TPT, each test case can specifically react to the system’s behaviour during the testing process in real time – for instance in order to react on the system exactly when a certain system-state occurs or a sensor signal exceeds a certain threshold. If, for example, a sensor failure for an engine controller is to be simulated when the engine idling speed is exceeded, it has to be possible to react to the event “engine idling speed exceeded” in the description of the test case.

Graphic Test Cases
The exact process of individual test cases is modelled graphically with the aid of special state machines in TPT. Natural-language texts as an element of the graphics support the simple and demonstrative readability even for non-programmers. Substantial techniques such as parallel and hierarchical state machines, conditional branching, signal description as well as measured signals allow an intuitive and graphic modelling even of complex test cases.

Systematic Test Cases
TPT was developed specifically for testing of continuous and reactive behaviour of embedded systems. Because of its systematic approach in test case generation, TPT even keeps track of very complex systems whose thorough testing requires a large amount of test cases thus making it possible to find failures in the system under test with an ideal amount of test cases.

The underlying idea of TPT’s systematic is the separation of similarities and differences among the test cases: most test cases are very similar in their structural process and can “only” be differentiated in a few, but crucial details. TPT makes use of this fact by jointly modelling and using joint structures. On the one hand, redundancies are thus avoided. On the other hand, it is made very clear what the test cases actually differ in – i.e. which specific aspect they respectively test. The comparability of test cases and thus the overview is improved in this approach and the attention of the tester is focused on the essential – the differentiating features of the test cases.

The hierarchical structure of the test cases makes it possible to break complex test problems down into sub-problems thus also improving the clarity and – as a result – the quality of the test.

These modelling techniques support the tester in finding the actually relevant cases, avoiding redundancies and keeping track of even large numbers of test cases.

Test execution
TPT test cases are made independent of its execution. The test cases can be executed in real time in almost any environment due to the so called virtual machine (VM) concept. Examples are MATLAB/Simulink,CAN, LIN, Software-in-the-Loop (SiL) and HiL.

During test execution the measurement of controller internal signals is available via ASAM MCD-3. The measurement will be availabe within the test assessment.

Programmed Test Assessment
The expected system behaviour for individual test cases should also be automatically tested in order to assure efficient test processes. TPT offers the possibility to compute the properties for the expected behaviour online (during test execution) and offline (after test execution). While online evaluation uses the same modelling techniques as test modelling, offline evaluation offers decidedly more far-reaching possibilities for more complex evaluations, including operations such as comparisons with external reference data, limit-value monitoring, signal filters, analyses of state sequences and time conditions.

The offline evaluation is, technically speaking, based on the Python script language, which has been extended by specific syntactic language elements and a specialized evaluation library in order to give optimal support to the test evaluation. The use of a script language ensures a high degree of flexibility in the test evaluation: access to reference data, communication with other tools and development of one’s own domain-specific libraries for test evaluation is supported. Besides of the script based test result evaluation user interfaces provide simple access to the test assessments and help non-programmers to avoid scripting.

Real-Time Ability
TPT’s Virtual Machine is able to process tests in real time with defined response behaviour. The response times of TPT test cases are normally given within micro seconds – depending on the complexity and test hardware.

The TPT-VM is implemented in ANSII-C and requires a memory of just a few kilobytes and can completely do without a dynamic memory allocation, allowing it to be applied in minimalist and environments with few resources too.

Test documentation
TPT presents the result of the test evaluation to the tester in a HTML, report, in which not only the pure information “success”, “failed” or “unknown” can be depicted as the test result for each test case, but also details such as characteristic parameters or signals that have been observed in the test execution or computed in the test evaluation. The content of the test documentation as well as the structure of the document can be freely configured with the help of a template.

Requirements tracing
Industry norms such as IEC 61508, DO-178B, EN 50128 and ISO 26262 require traceability of requirements and tests. TPT offers an interface to requirements tools like Telelogic DOORS in order to support these activities.

Weblinks

 * Lehmann, TPT - Dissertation, 2003
 * PikeTec