TTCN-2

Tree and Tabular Combined Notation version 2

Protocol →
Introduced in Rel-14

TTCN-2 is the second version of the Tree and Tabular Combined Notation testing language, featuring enhanced structuring and used extensively for 3GPP conformance testing in 3G and 4G mobile networks.

Category
Protocol
Introduced
Rel-14
Where
Management
Specifications
2 specs
TTCN-2 Description Purpose Related Classification Detected Changes Specifications

Description

TTCN-2 represents the mature, widely deployed version of the Tree and Tabular Combined Notation language, which succeeded the original TTCN (sometimes retroactively called TTCN-1). It is the version referenced throughout 3GPP Releases up to and including LTE. TTCN-2 retains the core paradigm of abstract, declarative test specification but introduced more formalized structuring concepts and enhanced capabilities over its predecessor. A TTCN-2 test suite is organized into several tabular sections: the Declarations Table (for data types, constants, and test suite parameters), the Constraints Table (defining specific message and signal instances with detailed field values), the Dynamic Behavior Table (the core, describing test case behavior as sequences of send, receive, and decision points), and the Test Case Allocation Table.

How TTCN-2 works involves a clear separation between the abstract test suite (ATS), written in TTCN-2, and the executable test suite (ETS) that runs on a test platform. The ATS defines *what* to test. A compiler translates the TTCN-2 tables into an intermediate code. This code is then executed by a TTCN-2 runtime system, which relies on a Platform Adapter (PA) and a Codec Interface (CI) to handle the concrete, system-specific tasks. The PA manages timers, external functions, and communication with the SUT's physical interface. The CI is responsible for the concrete encoding of abstract PDUs into bitstrings (e.g., ASN.1 PER encoding for 3GPP protocols) and vice-versa. This architecture ensures the test logic itself remains portable and reusable across different test platforms and SUT interfaces.

Key architectural components of TTCN-2 include the concept of Test Components (MTC - Main Test Component, and PTCs - Parallel Test Components) which allow for testing of distributed, multi-connection systems. It supports powerful template matching mechanisms for received messages, including the use of 'ANY' or 'OMIT' symbols to ignore certain fields. The language also includes constructs for loops, gotos (though sparingly used), and the assignment of test verdicts. For 3GPP, TTCN-2 was used to create massive, comprehensive test suites for protocols like RRC, MAC, RLC, NAS, and IMS signaling (SIP). These suites are often thousands of pages long in their tabular form and are the basis for all conformance testing conducted by accredited laboratories.

Purpose & Motivation

TTCN-2 was developed to address limitations in the original TTCN, providing a more robust, structured, and feature-rich language capable of handling the exploding complexity of 3G (UMTS) and later 4G (LTE) protocols. The original TTCN had less formalized structuring rules and fewer constructs for managing large test suites. TTCN-2 introduced better modularity, clearer scoping rules, and enhanced support for data type definitions (aligning with ASN.1), which was crucial for the ASN.1-intensive 3GPP protocols.

Its purpose remained squarely on enabling rigorous, standardized conformance testing. As 3GPP systems became the global standard for mobile communications, the economic stakes for interoperability skyrocketed. TTCN-2 provided the necessary precision and scale to create test suites that could thoroughly exercise the myriad of mandatory and optional features defined in hundreds of technical specifications. It allowed test designers to create complex scenarios involving multiple parallel procedures (e.g., a voice call while performing a handover and a background PDP context activation), which was essential for proving real-world robustness.

The longevity of TTCN-2 through to 3GPP Release 14 and its use in LTE test suites is a testament to its success. It served as the workhorse language for over a decade of mobile technology certification. The motivation for eventually evolving to TTCN-3 (from Release 15 onwards for 5G) stemmed from the desire for a more modern, text-based syntax and better integration with software engineering tools, but TTCN-2 fulfilled its purpose of ensuring the interoperability of billions of 3G and 4G devices worldwide.

Classification

Part ofTTCN-3

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (1 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Studied in Rel-14, normative work from Rel-18.

Rel-18 1 change

In Release 18, the update for the TTCN-2 function involved a formal upgrade to the Rel-18 version, as indicated by the Change Request. This maintenance action aligns the specification's references and versioning according to the established 3GPP principles, ensuring that references to other documents implicitly point to their latest versions within the same Release.

Explore further

Broader topics and technologies where TTCN-2 plays a role.

Defining Specifications

3GPP specifications that define or reference TTCN-2, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.801 vj00 3GPP Specification Drafting Rules Rel-19
TR 21.905 vj00 3GPP Technical Terms and Definitions Rel-19