From Wikipedia, the free encyclopedia
TTCN-3 (Testing and Test Control Notation version 3) is a strongly typed testing language used in conformance testing of communicating systems. TTCN-3 is written by ETSI in the ES 201 873 series,[1] and standardized by ITU-T in the Z.160 Series.[2] TTCN-3 has its own data types and can be combined with ASN.1, IDL and XML type definitions.
Standard organization[edit]ITU-T TTCN-3 standard is part of the Z Series and is organized in several parts:
TTCN-3 has been used to define conformance test suites to SIP, WiMAX, and DSRC standard protocols.
The Open Mobile Alliance adopted in 2008 a strategy of using TTCN-3 for translating some of the test cases in an enabler test specification into an executable representation.[3]
The AUTOSAR project promoted (2008) the use of TTCN-3 within the automotive industry.[4]
The 3GPP project promoted the use of TTCN-3 within the mobile industry.[5]
When executing the architecture is organized as follow:
This is a TTCN-3 example with its graphical equivalent in MSC (Message Sequence Chart).
MSC (Message Sequence Chart) representation of a basic TTCN-3 (Test and Testing Control Notation) scenario.module TestSystem { // Define a subtype of integer type integer myNewType (0..50) // Declare Request struct type with 2 fields type record Request { myNewType param1, charstring param2 } // Declare Answer struct type with one field type record Answer { myNewType param1 } // Declare a message based communication port type port cEnv_type message { out Request; in Answer; } // Declare the component on which the test case will run type component sSystem { port cEnv_type cEnv; } // The templates define the outgoing parameter values // and verify the incoming parameter values template Request Good_Req := {param1 := 42, param2 := "hello !" }; template Answer All_is_OK := {param1 := 0}; // Define testcase1 that will run on sSystem component testcase testcase1() runs on sSystem { // Send Request message with (42, "hello !") as parmeters cEnv.send(Good_Req); // An alternative for the 2 possible answers alt { // Do we receive Answer with 0 as parameter []cEnv.receive(All_is_OK) { // Pass verdict ! setverdict(pass) } // Or do we receive something else []cEnv.receive { // Fail verdict setverdict(fail) } } } // Control part chains test cases execution automatically control { var verdicttype verdict1; verdict1 := execute(testcase1()); } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4