TTCN-3

TTCN-3 (Testing and Test Control Notation Version 3) ist eine stark typisierte Testsprache, die für Konformitätstests von kommunizierenden Systemen verwendet wird. TTCN-3 wird von ETSI in der ES 201873-Serie geschrieben und von der ITU in der Z.160-Serie standardisiert. TTCN-3 hat eigene Datentypen und kann mit ASN.1- , IDL- und XML- Typen kombiniert werden .

Organisation der Norm

Der ITU TTCN-3 Standard gehört zur Z-Serie und ist in mehrere Teile gegliedert:

Sprachorganisation

Der höchste Container in einer TTCN-3-Testsuite ist das Modul. Es ist normalerweise eine Datei.

Eine Komponente ist eine Ausführungseinheit. Ein Testfall oder eine Funktion wird auf einer Komponente ausgeführt.

Die Komponenten kommunizieren untereinander oder mit dem System Under Test (SUT) über miteinander verbundene Ports.

Ein Testfall ist eine Sequenz aus Senden und Empfangen. Wenn eine Nachricht an das zu testende System gesendet wird, werden mehrere mögliche Antworten beschrieben.

Da ein Testfall eine Folge von Reizen ist, gefolgt von einer Reihe möglicher Antworten, beinhaltet die Bewertung den Begriff der Alternative. Es handelt sich um eine kompakte Notation, die es ermöglicht, alle möglichen Alternativen in einem Szenario aufzulisten.

Beim Senden und Empfangen von Informationen ist der Wert der Parameter von größter Bedeutung. Sie muss beim Senden definiert und beim Empfang verifiziert werden. Das Konzept einer Vorlage zielt darauf ab, die Werte von Parametern beim Senden zu definieren und die Werte der Parameter beim Empfang zu überprüfen. Da Parameter komplex sein können, kann das Schreiben von Werten relativ lange dauern. Die Vorlage ermöglicht komplexe Prüfungen bei einem einfachen Aufruf, damit der Testfall lesbar bleibt.

Das Urteil ist das Ergebnis eines Testfalls. Es hat 5 mögliche Werte: none, pass, inconc, fail, error.

Anwendungen

TTCN-3 wurde verwendet, um Konformitäts-Testsuiten für Standard- SIP- , WiMAX- oder DSRC- Protokolle zu schreiben .

Die Open Mobile Alliance hat 2008 eine Strategie zur Verwendung von TTCN-3 verabschiedet, um bestimmte Testfälle in eine ausführbare Darstellung zu übersetzen.

Das AUTOSAR- Projekt förderte 2008 den Einsatz von TTCN-3 in der Automobilindustrie.

Das 3GPP- Projekt förderte den Einsatz von TTCN-3 in der Mobilfunkindustrie.

Die Architektur

Beim Betrieb des TTCN-3 ist die Architektur wie folgt organisiert:

Beispielcode

Dies ist ein Beispiel für einen TTCN-3-Code.

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()); } }

Siehe auch

Verweise

  1. ETSI TTCN-3 Seite
  2. Z-Serie
  3. OMA-Interoperabilitäts-Arbeitsgruppe
  4. TTCN-3 Anwendungsgebiete , TTCN-3 Anwendungsgebiete auf der offiziellen ETSI-Website
  5. 3GPP RAN5 mobiles Kompetenzzentrum

Externe Links