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.
Key Features
- Enhanced, standardized tabular format for test suite structure (Declarations, Constraints, Dynamic Behavior tables).
- Formalized support for Abstract Syntax Notation One (ASN.1) data types used extensively in 3GPP.
- Introduction of structured test components (MTC, PTCs) for modeling concurrent processes.
- Powerful template and constraint system for defining expected and sent message contents.
- Clear execution architecture separating Abstract Test Suite from Platform Adapter and Codec.
- The definitive language for 3G (UMTS) and 4G (LTE) protocol conformance test specifications.
Evolution Across Releases
TTCN-2 was formally referenced as the version in use for LTE test suite development within 3GPP specifications like 21.801 and 21.905. This release marked the continuation and maintenance of the vast library of TTCN-2 test cases for LTE and legacy technologies. The architecture and core language features remained stable, focusing on the tabular methodology and the ASN.1-based encoding for control plane protocols.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.801 | 3GPP TS 21.801 |
| TS 21.905 | 3GPP TS 21.905 |