Competence Center MOTION Fraunhofer FOKUS Recent Developments on TTCN-3 Ina Schieferdecker, Axel Rennoch , TAROT Summer School, Schloß Laubegg, 25 th June 2010 TAROT2010, Slide 1
Competence Center MOTION Fraunhofer FOKUS Contents Contents TTCN Introduction History History Status Concepts and tools Concepts and tools Applications: Industrial domains, MBT Future Latest releases, extension packages Outlook: Embedded TTCN-3 Conclusion TAROT2010, Slide 2
Competence Center MOTION Fraunhofer FOKUS Contents Contents TTCN Introduction History Status Concepts and tools Applications: Industrial domains, MBT Future Latest releases, extension packages Outlook: Embedded TTCN-3 Conclusion TAROT2010, Slide 3
Competence Center MOTION Fraunhofer FOKUS Th The Testing and Test Control Notation T ti d T t C t l N t ti Idea and design Principles of TTCN-3 One test technology for different tests – Distributed, platform-independent testing Distributed platform independent testing – Integrated graphical test development, -documentation and –analysis – Adaptable, open test environment Ad t bl t t i t Areas of Testing – Regression Testing – Conformance and Functionality Testing – Interoperability and Integration Testing Interoperability and Integration Testing – Load/ Stress Testing
Competence Center MOTION Fraunhofer FOKUS History (1) History (1) 1984 TTCN (1992) – Published as an ISO standard – Tree and Tabular Combined Notation Tree and Tabular Combined Notation – Used for protocol testing only GSM, N-ISDN, B-ISDN 1992 TTCN TTCN-2/2++ (1997) 1994 – Concurrent tests – Modularization TTCN-2 – Manipulate external data 1997 – Rather for conformance testing Rather for conformance testing – Developed by ETSI MTS TTCN-2++ TAROT2010, Slide 5
Competence Center MOTION Fraunhofer FOKUS History (2) History (2) TTCN-3 (2000) – Testing and Test Control Notation – Developed by ETSI MTS Developed by ETSI MTS – Proper language 1998 Well defined syntax and semantics 2000 2000 – Enhanced communication, configuration and control – Standard test specification SIP/IMS, SCTP, HiperLan, HiperAccess, IPv6 ... 2010 TAROT2010, Slide 6
Competence Center MOTION Fraunhofer FOKUS TTCN 3 Multipart Standard TTCN-3 Multipart-Standard ETSI ES 201 873-1 TTCN-3 Core Language (CL) ETSI ES 201 873-2 TTCN-3 Tabular Presentation Format (TFT) ETSI ES 201 873-3 TTCN-3 Graphical Presentation Format (GFT) ETSI ES 201 873-4 TTCN-3 Operational Semantics ETSI ES 201 873-5 TTCN-3 Runtime Interface (TRI) ETSI ES 201 873-6 TTCN-3 Control Interfaces (TCI) ETSI ES 201 873-7 Integration of ASN.1 ETSI ES 201 873-8 Integration of IDL ETSI ES 201 873-9 Integration of XML ETSI ES 201 873-10T3Doc Standard available for download at http://www.ttcn-3.org Also standardized by the ITU-T as ITU-T Z.140 NEW: TTCN-3 Extension packages ETSI ES 202 78x! TAROT2010, Slide 7
Competence Center MOTION Fraunhofer FOKUS Contents Contents TTCN Introduction History History Status Concepts and tools Concepts and tools Applications: Industrial domains, MBT Future latest releases, extension packages Outlook: Embedded TTCN-3 Outlook: Embedded TTCN-3 Conclusion TAROT2010, Slide 8
Competence Center MOTION Fraunhofer FOKUS TTCN 3: Testing and Test Control Notation TTCN-3: Testing and Test Control Notation A standardized alternative to proprietary test systems – Developed by a large group of testing experts TTCN-3 Test System CN Sy – Used by a growing community U d b i it Test Management (TM) + Logging (TLI) Enabling a testing middleware, – unifying methods, unifying methods, tools, test infrastructure, Component TTCN-3 TTCN-3 Coding Handling Executable Executable Decoding documentation and training (CH) (TE) (TE) (CD) – domain-specific extensions TTCN-3 is more than a notation: TTCN-3 test system System Adapter (SA) Platform Adapter (PA) The only international standard for The only international standard for – Test specification and implementation System under Test TAROT2010, Slide 9
Competence Center MOTION Fraunhofer FOKUS TTCN-3 is designed for Black-Box Testing TTCN-3 Test Case Port.send(Stimulus) P t d(Sti l ) P Port.receive(Response) t i (R ) • Assignment of a Test Verdict Port Port System Under Test TAROT2010, Slide 10
Competence Center MOTION Fraunhofer FOKUS TTCN 3 Test Configuration may change dynamically TTCN-3 Test Configuration may change dynamically SUT TTCN-3 Test Case create start TC TC TC MTC TCs TCs TCs start start create create create start TC TC TC TAROT2010, Slide 11
Competence Center MOTION Fraunhofer FOKUS TTCN 3 Module TTCN-3 Module • The top level entity of TTCN-3 is module . Module • A module can import definitions from other modules. • A module contains a definition part Module and a control part. Definitions Definitions module MyModule { // definition part control { Module Control // test execution logic } } TAROT2010, Slide 12
Competence Center MOTION Fraunhofer FOKUS Major language elements of TTCN 3 notation Major language elements of TTCN-3 notation module definitions module definitions Importing definitions from other modules Imports defined in TTCN-3 or other languages User defined data types (messages, PDUs, Data Types information elements, …) Test data transmitted/expected during test Test Data execution (templates, values) Definition of the test components and Test Configuration Test Configuration communication ports Specification of the dynamic test behavior Test Behavior TAROT2010, Slide 13
Competence Center MOTION Fraunhofer FOKUS Message-Based Ports • For sending and receiving messages of given type send send receive receive P1 (out) ( ) P2 (in) ( ) PTC 1 PTC 1 PTC 2 PTC 2 P1.send(Msg) P2.receive(Msg) TAROT2010, Slide 14
Competence Center MOTION Fraunhofer FOKUS Procedure-Based Ports • For invoking operations, receiving operation calls, replying, raising exceptions as well as for receiving replies and catching exceptions getcall call PTC 2 PTC 1 1 or or or or getreply getreply reply reply catch exception raise exception TAROT2010, Slide 15
Competence Center MOTION Fraunhofer FOKUS Test Verdicts Test Verdicts Test verdicts: none < pass < inconc < fail < error Each test component has its own local verdict, which can be set (setverdict) and read (getverdict) (setverdict) and read (getverdict). A test case returns a global verdict Verdict returned by the test case when it terminates P F P F I I MTC MTC F F PTC 1 PTC P P PTC N PTC I I setverdict(fail) setverdict(pass) setverdict(inconc) TAROT2010, Slide 16
Competence Center MOTION Fraunhofer FOKUS Test Verdicts Test Verdicts Test verdicts: none < pass < inconc < fail < error Each test component has its own local verdict, which can be set (setverdict) and read (getverdict) (setverdict) and read (getverdict). A test case returns a global verdict Verdict returned by the test case when it terminates P F P F I I MTC MTC F F PTC 1 PTC P P PTC N PTC I I setverdict(fail) setverdict(pass) setverdict(inconc) TAROT2010, Slide 17
Competence Center MOTION Fraunhofer FOKUS Sample: Test Configuration Test Component (MTC) UA LA System Under Test (SUT) Medium Service TAROT2010, Slide 18
Competence Center MOTION Fraunhofer FOKUS Time Sequence Diagram for a Simple Behavour Example Time Sequence Diagram for a Simple Behavour Example msc Example SUT UA LA loop<100> loop<100> DATreq(" data ") DATind( DT,nr ," data ") DATind( RE nr “ resp ") DATind( RE,nr , resp ) DATind() TAROT2010, Slide 19
Competence Center MOTION Fraunhofer FOKUS Same Example in TTCN 3 Core Language Same Example in TTCN-3 Core Language testcase Example( ) runs on MTC Type { testcase Example( ) runs on MTC_Type { var default mydefault := activate (DefaultDef()); T1. start ; for ( integer i:=1; i<=100; i:=i+1) { UA.send (DATreq:{"data"}); LA.receive (DATind:{DT, nr, "data"}); LA.receive (DATind:{DT, nr, data }); LA.send (DATind:{RE,nr, “ resp ” }); UA.receive (DATind :{}); } setverdict ( pass ); T1. stop ; T1. stop ; } TAROT2010, Slide 20
Competence Center MOTION Fraunhofer FOKUS Typical language elements: Typical language elements: type definitions: b boolean, integer, float, bitstring, charstring, octectstring, hexstring l i t fl t bit t i h t i t t t i h t i record, set, enumeration, union programming constucts: message: send/receive procedure: call/getcall reply/getreply raise/catch procedure: call/getcall, reply/getreply, raise/catch if-then-else, loops: for, while, do-while functions, alternatives component/port/timer control Predefined functions: Predefined functions: type conversion, lengthof (string), sizeof (records), … O Overview: e.g. TTCN-3 Quick Reference Card i TTCN 3 Q i k R f C d TAROT2010, Slide 21
Recommend
More recommend