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
Detected Changes Across Releases
from 3GPP Change RequestsSpecific 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.
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.
- Update to Rel-18 version (MCC) TS 21.905
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.
| Specification | Title | Release |
|---|---|---|
| TR 21.801 vj00 | 3GPP Specification Drafting Rules | Rel-19 |
| TR 21.905 vj00 | 3GPP Technical Terms and Definitions | Rel-19 |