TTCN-3

from Wikipedia, the free encyclopedia

TTCN-3 , short for Testing and Test Control Notation , is a domain-specific programming language for testing communication-based systems. TTCN-3 is used, for example, for testing communication protocols and their interfaces. It is also used for testing embedded systems. TTCN-3 is also used to specify and document test sequences.

The predecessors TTCN and TTCN-2 still stood for Tree and Tabular Combined Notation .

Standardization bodies

ETSI and ITU-T publish the standard .

Typical users

3GPP, OPEN Alliance, TETRA Association, IMS Forum, WiMAX Forum, AUTOSAR, MOST Cooperation, OMA

properties

abstraction

TTCN-3 is an abstract test language that supports various representations:

  • textual representation ( core notation )
  • graphical representation ( Graphical Format , GFT )

The representations of TTCN-3 are equivalent. There is also a standardized mapping between the individual types of representation.

Expandability

An outstanding feature of TTCN-3 is its expandability and possible integrations such as:

  • Integration of external data definitions (ASN.1, IDL, XML and WSDL)
  • Integration of external functions (Java, C, C #)
  • Adaptation for the system under test (test adapter / codec)

Standardized interfaces: TCI and TRI

In addition to the textual and graphic representation format, TTCN-3 includes the standardized interfaces TRI (TTCN-3 Runtime Interface) and TCI (TTCN-3 Control Interface).

  • TRI - adaptation of the abstract TTCN-3 core notation to the real system under test
  • TCI - connection of the TTCN-3 core notation to the test platform and the text management system (GUI, command line version). Furthermore, the specification of the coding and log outputs of the test flow is carried out.

application areas

  • Mobile communications (LTE, WiMAX, 3G, TETRA, GSM)
  • Broadband technologies (ATM, DSL)
  • Middleware platforms (WebServices, CORBA, CCM, EJB)
  • Internet protocols (SIP, IMS, SIGTRAN and IPv6)
  • Smart cards
  • Automotive (TSN, AVB, OPEN, AUTOSAR, WAVE-DSRC, ITS-G5, eCall, MOST, CAN)
  • Internet of Things (oneM2M)

Tools for TTCN-3

A compiler and a runtime system are required to execute test cases specified in TTCN-3 . These are offered by various manufacturers:

  • Spirent Communications → TTworkbench
  • OpenTTCN → OpenTTCN Tester
  • Elvior → TestCast

TTthree

TTthree is a compiler , the beginning of 2000 as a community development group ÜBB the Technical University of Berlin and the research institute Fraunhofer Fokus was developed. In 2001 TTthree was the first executable TTCN-3 compiler at ETSI . The further development of this compiler and its integration into an IDE (Integration Development Environment) then took place at the Berlin- based spin-off Testing Technologies IST GmbH , which developed the TTworkbench as a superstructure of the pure compiler . TTthree is only available in combination with the TTworkbench. In 2016, Testing Technologies and thus the further development of TTworkbench was taken over by Spirent Communications.

TTworkbench

The TTworkbench developed by Spirent Communications is an integrated test development and test execution environment based on TTCN-3 and Eclipse IDE .

License

The TTworkbench is commercially licensed from Spirent Communications.

construction

The interface is linked to the compiler in a client-server architecture ; This rather unusual method of interprocess communication with a compiler was chosen because in the early phase of the development of the TTCN-3 language, large series of tests were often automatically translated from the previous version TTCN-2 and therefore there was no division into different modules . By delegating the compile jobs to a compiler server, it was hoped that performance would be increased through caching mechanisms. The communication between the user interface and the compiler takes place via binary coded XML .

In the meantime, most of the test series have either been manually structured into useful modules or designed as a modular new development, so that the point of the client-server compiler has receded into the background.

TTCN-3 editor

The conception of TTCN-3 as an abstract language that knows several equivalent representations is implemented in the TTworkbench in that test cases can be edited in both the textual and the graphic representation (GFT).

Can data types from a variety of languages imports are, for example, ASN.1 , XSD , WSDL and IDL , so in this case can be largely dispensed with a textual representation in TTCN-third

Distributed testing by TTmex

The runtime environment ( Test Executable , TE ) in which the test cases specified in TTCN-3 are actually processed can either be started locally (i.e. on the same computer) or distributed across different computers . Due to the parallelism, the total test time can be reduced considerably. The TTworkbench supports distributed testing with the help of the TTmex plug-in.

Integration in Eclipse

The main task of TTCN-3 is to test protocols and applications implemented in any language. For this reason, parts of the program that are written in other languages ​​are often used in connection with TTCN-3. The TTworkbench is therefore based on Eclipse , which, with its views and perspectives, represents an expandable platform to combine several languages ​​and applications.

Java

The TTworkbench is implemented in Java, which is suggested by the integration in Eclipse. The test cases specified in TTCN-3 are also translated into Java ( i.e. into JAR files) and processed as such in the runtime environment.

Expandability

Some common plugins
ASN.1, FTP, GPIB, IDL, MOST, RS232, Telnet, TTmex, UDP, WSDL

TTworkbench implements a number of its features using a plug-in concept, for example for other external languages ​​or protocols. Often these plugins open up possibilities for importing data types from these languages. This architecture concept of the Rich Client Platform (RCP, since Eclipse version 3.0) is consistently implemented in the TTworkbench , so the core language, TTCN-3, is only available through a plugin.

Users can write and integrate their own plugins, for example to enable external functions to be called from the test cases specified in TTCN-3 or to integrate special codecs . The test adapters (specified in the TTCN-3 standard) are also implemented as plugins.

Test campaigns and reports

If a manufacturer specifies a protocol with the help of test cases written in TTCN-3, then this list of test cases represents a test series, but in practice it is often too extensive and not structured enough to be directly applied. Simply processing all test cases usually takes too long and requires too much preparation, often from the corresponding hardware to be tested.

By the ETSI specified for TTCN-3 test cases ( test cases ) are therefore in the TTworkbench around the concept of test campaigns ( Test Campaigns ) and Metakampagnen ( meta Campaigns Enhanced). With the help of these means, large test suites for processing in the runtime environment can be mapped and structured.

Test campaigns can be created by the tester and represent lists of test cases intended for concrete execution; individual test cases can still be parameterized here. A number of runs can also be specified for the individual test cases. Meta campaigns, on the other hand, represent lists of test campaigns that are intended for specific execution.

Reports can be generated in the TTworkbench from completed test campaigns and meta campaigns and the resulting log files . These reports can be output in HTML , for example .

distribution

According to the manufacturer, the TTworkbench has a market share of 30 to 50 percent for automated testing using TTCN-3. Several thousand licenses are in circulation; Universities and research institutes may be able to obtain a free license. The product is downloaded hundreds of times a month.

TTCN-3 training

All providers of TTCN-3 based tools offer individual training for the test language as well as the tool, with Spirent Communications being the first accredited training provider. The accredited training systematically deals with all ten parts of the TTCN-3 standard. Not only theoretical aspects are examined, but the participants are guided through various practical exercises. This includes the development of several test cases from scratch to execution against a system under test.

Web links

To the tools: