Jump to content

TTCN

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 193.136.128.7 (talk) at 20:32, 6 February 2010. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 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

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

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

Versions

  • TTCN-1: First version of TTCN, not widely used.
  • TTCN-2: Second version of TTCN version, minor modification of TTCN-1, today widely used.
  • TTCN-3: Third and current version of TTCN.

Background information

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.

Internet standards such as IETF use mainly so called plug-tests for test execution.[citation needed]

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.