TTCN-3 basics for UE engineers
A practical introduction to TTCN-3 for engineers who have to read verdicts, not write test suites: modules, components, templates, verdicts, and PICS/PIXIT.
9 min read
TTCN-3 (Testing and Test Control Notation version 3) is the ETSI-standard language 3GPP uses to specify conformance test cases. You do not need to write it to use AEON, but you do need to read it, because the language explains why a test case failed where it did.
The five concepts that matter
- Module — a namespace holding test cases, e.g. NR5GC_Registration.
- Component — a parallel entity with ports; the test system and the SUT adapter are components.
- Template — an expected message shape. A mismatch against a template is the most common failure.
- Verdict — none, pass, inconc, fail, error. Verdicts only ever worsen, never improve.
- PICS/PIXIT — capability and parameter declarations that select and configure test cases.
What a test case looks like
testcase TC_6_1_1_1() runs on NR_UE_Component system TestAdapter {
timer t_wait := 15.0;
f_NR_Cell_Setup();
t_wait.start;
alt {
[] NAS.receive(mw_RegistrationRequest_Initial) {
setverdict(pass, "initial registration received");
NAS.send(m_AuthenticationRequest);
}
[] NAS.receive {
setverdict(fail, "unexpected NAS message before registration");
}
[] t_wait.timeout {
setverdict(inconc, "no NAS message within 15s");
}
}
}How to read a failure
A fail verdict always names the branch that matched. If the log says the fail branch matched on an unexpected NAS message, the UE sent something the template did not allow — a protocol bug. If the timeout branch matched, the UE sent nothing — usually a lower-layer or RF problem, not a NAS bug.
noteinconc is not a pass. It means the test system could not determine conformance, and it is usually an environment issue: gain, timing, or configuration.
Where the suites come from
AEON executes standard 3GPP-published suites — TS 38.523-3 for NR protocol, TS 36.523-3 for LTE, plus RRM and RF suites — not reimplementations. That matters for report credibility: the abstract test suite is the same artifact a formal lab would run.
Run this against a real SDR lane
The tester is a service, not a box. Push a build, reserve a lane, get a verdict.