TTCN
Encyclopedia
TTCN is a programming language
used for testing of communication protocols and web service
s. A TTCN test suite consists of many test case
s 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 case
s 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.
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.
Conformance-test
s 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.
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
used for testing of communication protocols and web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s. A TTCN test suite consists of many test case
Test case
A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test...
s 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
International Telecommunication Union
The International Telecommunication Union is the specialized agency of the United Nations which is responsible for information and communication technologies...
for the testing of telecommunication protocols. Conformance test
Conformance testing
Conformance testing or type testing is testing to determine whether a product or system meets some specified standard that has been developed for efficiency or interoperability....
cases of ETSI standards like ISDN, DECT, GSM, EDGE
Enhanced Data Rates for GSM Evolution
Enhanced Data rates for GSM Evolution is a digital mobile phone technology that allows improved data transmission rates as a backward-compatible extension of GSM...
, 3G
3G
3G or 3rd generation mobile telecommunications is a generation of standards for mobile phones and mobile telecommunication services fulfilling the International Mobile Telecommunications-2000 specifications by the International Telecommunication Union...
, DSRC have also been written in TTCN. Recently it has also been used for testing various protocol standards e.g. Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
, IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
.
Execution of those test case
Test case
A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test...
s 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
This is an example of the famous Hello World program in TTCN-3.Versions
- 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-3TTCN-3TTCN-3 is a strongly typed test scripting language used in conformance testing of communicating systems and a specification of test infrastructure interfaces that glue abstract test scripts with concrete communication environments. TTCN-3 has been developed by ETSI and its predecessor is TTCN-2...
: Third and current version of TTCN.
Background information
Conformance testingConformance testing
Conformance testing or type testing is testing to determine whether a product or system meets some specified standard that has been developed for efficiency or interoperability....
means a test execution against a well-defined test case
Test case
A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test...
, 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.
Conformance-test
Conformance testing
Conformance testing or type testing is testing to determine whether a product or system meets some specified standard that has been developed for efficiency or interoperability....
s 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.