From Wikipedia, the free encyclopedia
Jump to: navigation, search

TTCN is a programming language used for testing of communication protocols and web services. A TTCN test suite consists of many test cases written in the TTCN programming language. Until version 2 the language was written in tables and called Tree and Tabular Combined Notation. Reading and editing this language required special TTCN editors. Beginning with version 3 TTCN was renamed to Testing and Test Control Notation. It is now closer to current programming languages and can be edited with traditional editors. TTCN-3 is more flexible than TTCN-2 in that it can be used for protocol testing as well as testing traditional software.

All versions of TTCN need dedicated compilers or interpreters for execution.

TTCN is widely used, for example; ETSI, ITU for the testing of telecommunication protocols. Conformance test cases of ETSI standards like ISDN, DECT, GSM, EDGE, 3G, DSRC have also been written in TTCN. Recently it has also been used for testing various protocol standards e.g. Bluetooth, IP.

Execution of those test cases against products (e.g. phones, mobile phones, service enablers or network elements) is used to verify that the protocol implementation in those products meet the requirements defined by telecommunication standards.

TTCN is often combined with ASN.1.

Example code[edit]

This is an example of the famous Hello World program in TTCN-3.

 module HelloWorld {
   control {
     log("Hello, world!");


  • TTCN-1: First version of TTCN, not widely used.
  • TTCN-2: Second version of TTCN version, adding concurrency and multiple modules support to TTCN-1, today widely used.
  • TTCN-3: Third and current version of TTCN.

Background information[edit]

Conformance testing means a test execution against a well-defined test case, e.g. a test written in TTCN. Plug-tests, also called interoperability testing, are test cases executed with a client - server model; e.g. Mail-Client against Mail-server, phone against network, Bluetooth headset against Bluetooth phone. Plug-tests are e.g. often executed at so-called unplug-tests.

Conformance-tests and plug-tests complement each other. If properly done, interoperability errors found with plug-tests should lead to definition of new conformance test cases that cover the failed test.

External links[edit]