TTCN-3

TTCN-3 (Testing and Test Control Notation versiunea 3) este un limbaj de testare puternic tastat utilizat pentru testarea conformității sistemelor de comunicare. TTCN-3 este scris de ETSI în seria ES 201 873 și este standardizat de ITU în seria Z.160. TTCN-3 are propriile tipuri de date și poate fi combinat cu tipurile ASN.1 , IDL și XML .

Organizarea standardului

Standardul ITU TTCN-3 face parte din seria Z și este organizat în mai multe părți:

Organizarea limbii

Containerul de cel mai înalt nivel dintr-o suită de testare TTCN-3 este modulul. De obicei este un fișier.

O componentă este o entitate de execuție. Un caz de testare sau o funcție rulează pe o componentă.

Componentele comunică între ele sau cu sistemul sub test (SUT) prin porturi care sunt conectate între ele.

Un caz de testare este o secvență de trimitere și primire. Când un mesaj este trimis sistemului testat, sunt descrise mai multe răspunsuri posibile.

Deoarece un caz de testare este o secvență de stimuli urmată de un set de răspunsuri posibile, notarea include noțiunea de alternativă. Este o notație compactă care face posibilă listarea tuturor alternativelor posibile într-un scenariu.

Atunci când trimiteți și primiți informații, valoarea parametrilor este de cea mai mare importanță. Acesta trebuie definit la trimitere și verificat la primire. Conceptul de șablon își propune să definească valorile parametrilor atunci când sunt trimiși și să verifice valorile parametrilor atunci când sunt primiți. Deoarece parametrii pot fi complexi, setarea sau verificarea valorilor poate dura relativ mult timp până la scriere. Șablonul permite verificări complexe la un apel simplu, astfel încât cazul de testare să rămână lizibil.

Verdictul este rezultatul derulării unui caz de testare. Are 5 valori posibile: none, pass, inconc, fail, error.

Aplicații

TTCN-3 a fost folosit pentru a scrie suite de testare a conformității pentru protocoalele standard SIP , WiMAX sau DSRC .

Open Mobile Alliance a adoptat în 2008 o strategie pentru utilizarea TTCN-3 pentru a traduce anumite cazuri de testare într - o reprezentare executabil.

Proiectul AUTOSAR din 2008 a promovat utilizarea TTCN-3 în industria auto.

Proiectul 3GPP a promovat utilizarea TTCN-3 în industria telefoniei mobile.

Arhitectură

La rularea TTCN-3 arhitectura este organizată după cum urmează:

Cod simplu

Acesta este un exemplu de cod TTCN-3.

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

Vezi și tu

Referințe

  1. ETSI TTCN-3
  2. Seria Z
  3. Grupul de lucru pentru interoperabilitate OMA
  4. Zonele de aplicare TTCN-3, zonele de aplicare TTCN-3 de pe site-ul oficial ETSI
  5. 3GPP RAN5 centru de competență mobil

linkuri externe