Integrated Application of TTCN Dieter Hogrefe Telematics group University of Göttingen, Germany Telematics group University of Göttingen, Germany A B X (0,5ms] Y A.send(X); myT.start(5E-3); alt { [] A.receive(Y); … [] myT.timeout; …} state1 ... X '' #delay(4) Y state2 SG17 workshop, Sep. 2003 2 Telematics group University of Göttingen, Germany Peculiarities of Communication Software (Protocols) vs. other types Software 1) Establishment of states (connection, interface, process) -> state oriented modelling 2) Precisely defined and standardized message formats 3) The software has to interwork with a large amount of (unknown) implementations 4) Distribution SG17 workshop, Sep. 2003 3 Telematics group University of Göttingen, Germany Consequences from the peculiarities 1) Existence of detailed specifications (Internet Draft, ETSI Standard, ITU-T Standard, Proprietary, …) Base Standards and Test Specifications 2) Specialized (state oriented) specification languages and methods have been developed 3) Testing against reference implementations (protocol testers 4) Testing by Interop events, e.g. IPv6 Event, Mandelieu, 23-27 Sep. SG17 workshop, Sep. 2003 4 Telematics group University of Göttingen, Germany Specialized specification languages, methods and tools 1) Languages: SDL, MSC, TTCN, ASN.1, (UML in the future?) 2) Methods: - State based modelling - State based verification (e.g. state space exploration) - Systematic test case development based on specialized methodology (ISO 9646, UIO, …) 3) Tools: Telelogic TAU, Solinet SAFIRE, DANET, DaVinci, TestingTech, … SG17 workshop, Sep. 2003 5 Telematics group University of Göttingen, Germany Testing Language http://www.etsi.org/ptcc/ptccttcn3.htm • Testing and Test Control Notation • Versions 1 and 2 developed by ISO SC21 WG3 (1984 - 1997) as part of the widely-used ISO/IEC 9646 conformance testing standard – ISO/IEC 9646-3 (edition 2) and ITU-T X.292 • Version 3 developed by ETSI TC MTS (1998 2000) – Specialist Task Forces STF 133 & STF 156 SG17 workshop, Sep. 2003 6 Telematics group University of Göttingen, Germany Testing Language • • • • • • One test notation for many testing applications Cheaper education and training costs Facilitates the application of a common methodology Easier maintenance of test suites Off-the-shelf tools Universally understood syntax and operational semantics • Tests concentrate on the meaning of the test • Constant maintenance of the language SG17 workshop, Sep. 2003 7 Telematics group University of Göttingen, Germany Motivation for developing • Modernization – technology has changed since TTCN was first developed • Wider scope of application – should be applicable to many kinds of test applications not just conformance (development, system, integration, iop …) • Harmonization – should be the first choice for test specifiers, implementors and users both for standardized test suites ... – … and as a generic solution in industrial product development SG17 workshop, Sep. 2003 8 Telematics group University of Göttingen, Germany Testing Language – Kinds of testing to which TTCN-3 could be applied • • • • • • • • • • - Conformance - Configuration - Performance - Robustness - Functional - Reliability - Scalability - Unit - Development - Interface SG17 workshop, Sep. 2003 - Interoperability - Compatibility - Stress - Integration - Load - Fault tolerance - Degraded mode - Product - Design - System 9 Telematics group University of Göttingen, Germany Main Capabilities of • Dynamic concurrent testing configurations • Various communication mechanisms (synch and asynch) • Data and signature templates with powerful matching mechanisms • Specification of encoding information • Display and user-defined attributes • Test suite parameterization • Test case control and selection mechanisms • Assignment and handling of test verdicts • Harmonized with ASN.1 • Different presentation formats • Well-defined syntax, static semantics and operational semantics SG17 workshop, Sep. 2003 10 Telematics group University of Göttingen, Germany Core Language Text format • • Tabular TTCN-3 Core Language Format Graphical Format Presentation Format3 Presentation Formatn SG17 workshop, Sep. 2003 Core format is a text based language Core can be viewed as text or in various presentation formats • Tabular format for conformance testing • Graphical format for visual overview • Other standardized formats in the future • Proprietary formats 11 Telematics group University of Göttingen, Germany Use with other Languages • TTCN can be integrated with other 'type and value' systems ASN.1 Types & Values Other types & Values2 TTCN-3 Core Language Other types & Valuesn SG17 workshop, Sep. 2003 • Fully harmonized with ASN.1 (1997) • Harmonization possible with other type and value systems (possibly from proprietary languages) 12 Telematics group University of Göttingen, Germany Major Elements of TTCN-3 Core Data Types Test Data Test System Architecture Test Behaviour • Built-in and user-defined generic data types (e.g., to define messages, service primitives, information elements, PDUs) • Actual test data transmitted/received during testing • Definition of the components and communication ports that are used to build various testing configurations • Specification of the dynamic test system behaviour SG17 workshop, Sep. 2003 13 Telematics group University of Göttingen, Germany Example Core (Text) function PO49901(integer FL) runs on MyMTC { L0.send(A_RL3(FL,CREF1,16)); TAC.start; alt { [] L0.receive(A_RC1((FL+1) mod 2)) { TAC.cancel; verdict.set(pass) } [] TAC.timeout { verdict.set(inconc) } [] any.receive { verdict.set(fail) } } END_PTC1() // postamble as function call } SG17 workshop, Sep. 2003 14 Telematics group University of Göttingen, Germany Example Tabular Test Case Definition Name : MyTestcase Group : Purpose : Example Testcase System I/f : MTC Type : MyComponentType Comments : Name Type Initial Value MyVar INTEGER 0 Behaviour Definition Comments Comments alt { [ ] MyPort.receive(Msg); [ ] : } DetailedComments: SG17 workshop, Sep. 2003 15 Telematics group University of Göttingen, Germany Example Graphical SG17 workshop, Sep. 2003 16 Telematics group University of Göttingen, Germany Use of for OSP • Open Settlement Protocol (OSP) – EP TIPHON XML-based protocol – uses TTCN-3 Core Language SG17 workshop, Sep. 2003 17 Telematics group University of Göttingen, Germany Use of for SIP Tests • IETF Session Initiation Protocol (SIP) – RFC 3261 – EP TIPHON SIP Profile • Work was done by STF196 in EP TIPHON – Nokia, Ericsson, GMD Fokus (Testing Tech), ACACIA, FSCOM, GN Nettest – work due to finish December 2003 – executable tests running • TTCN-3 will be used by 3GPP for SIP tests in 2004 SG17 workshop, Sep. 2003 18 Telematics group University of Göttingen, Germany Use of for IP Tests ETSI has work items on developing test suites for • IPv6 Core • IPv6 Security • IPv4-to-v6 Transition Currently under review by DG Enterprise at the Commission for funds from the eEurope initiative WIs for SIGTRAN M3UA, SCTP will be opened in October SG17 workshop, Sep. 2003 19 Telematics group University of Göttingen, Germany Methodology SG17 workshop, Sep. 2003 20 Telematics group University of Göttingen, Germany Methodology SG17 workshop, Sep. 2003 21 Telematics group University of Göttingen, Germany Methodology • UML testing profile – TTCN-3 compatible – JUnit compatible • UML-TTCN-3 profile? SG17 workshop, Sep. 2003 22 Telematics group University of Göttingen, Germany Goals of the UML Testing Profile • Definition of a testing profile to capture all information that would be needed by different test processes – To allow black-box testing (i.e. at UML interfaces) of computational models in UML • A testing profile based upon UML 2.0 – That enables the test definition and generation of structural (static) and behavioral (dynamic) aspects of UML models, and – That is capable of inter-operation with existing test technologies for black-box testing • Define – Test purposes for computational UML models, which should be related to relevant system interfaces – Test components, test configurations and test system interfaces – Test cases in an implementation independent manner SG17 workshop, Sep. 2003 23 Telematics group University of Göttingen, Germany Roots of the Testing Profile • Arbiter • Validation actions • Data pools UML Testing Profile Graphical Format of TTCN-3 MSC-2000 SG17 workshop, Sep. 2003 UML 2.0 UML 1.x SDL-2000 Software Testing like JUnit, TET, etc. Protocol Testing like TTCN-3 • Test control • Wildcards • Defaults • Test components 24 Telematics group University of Göttingen, Germany Concepts of the Testing Profile • Test architecture – Test structure, test components and test configuration • Test data – Data and templates used in test procedures • Test behavior – Dynamic aspects of test procedures • Test time – Time quantified definition of test procedures SG17 workshop, Sep. 2003 25 Telematics group University of Göttingen, Germany Implementations under Development • Eclipse Project Hyades on an Open Source Trace and Test Framework – The test part is based on the U2TP standalone metamodel • Telelogic Tau G2 – The test part is based on the U2TP profile • Microsoft Visual Studio • ITEA Project on Advanced Test Methods and Tools TTmedal SG17 workshop, Sep. 2003 26 Telematics group University of Göttingen, Germany In Summary U2TP • UML Testing Profile provides specification means for test artifacts of systems from various domains • Enhances UML with concepts like test configuration, test components, SUT, verdict and default • Seamlessly integrates into UML: being based on UML metamodel, using UML syntax • Adopted at OMG Technical Meeting, Paris, June 2003 • http://www.fokus.fraunhofer.de/u2tp/ SG17 workshop, Sep. 2003 27 Telematics group University of Göttingen, Germany The End SG17 workshop, Sep. 2003 28 Telematics group University of Göttingen, Germany Questions and Answers SG17 workshop, Sep. 2003 29