ETSI Protocol and Testing Competence Centre

Slides:



Advertisements
Similar presentations
TTCN-3 Users Conference
Advertisements

HUAWEI TECHNOLOGIES CO., LTD. :32-35pt : R153 G0 B0 : FrutigerNext LT Medium : Arial :30-32pt : R153 G0 B0 : :20-22pt (2-5 ) :18pt : FrutigerNext LT Regular.
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Telematics group University of Göttingen, Germany Integrated Application of TTCN Dieter Hogrefe.
TTCN-3 & Conformance Testing Anitha Krishnamoorthy.
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
International Telecommunication Union ITU-T Study Group 17, Geneva, 5-14 October 2005 An Introduction to version 3 Dr. Michael Ebner University Göttingen,
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Comparing TTCN-3 and TTCN-2 TTCN-3 User Conference May 3 rd -May 5 th,2004 Sophia Antipolis.
TTCN-3 Based Automation Framework for LTE UE Protocol Stack Testing
GFT The Graphical Format of TTCN-3
1 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Test Implementation using TTCN-3 Libraries TTCN-3 User Conference,
Concurrent Signal and Procedure based Testing using TTCN-3 Satish GVKS Infrastructure System Division Motorola India Electronics Pvt Ltd. Bangalore, India.
The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
An overview on the Testing and Test Control Notation version 3 (TTCN-3) Helmut Neukirchen Háskóli Íslands
IHA præsentation1 Protocol Testing Lesson 5. IHA præsentation2 Outline for today Guidelines for testing protocols TTCN – A Standard Language For Testing.
The road to reliable, autonomous distributed systems
Introduction to Web Database Processing
Course Instructor: Aisha Azeem
Doc.: IEEE /063r0 Submission March 2000 Matthew Graney, TelelogicSlide 1 Project: IEEE P Working Group for Wireless Personal Area Networks.
Emanuele Pasqualucci Extending AppManager Monitoring with the SNMP Toolkit.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
So just what is the Sedona Framework? –The Framework is an embedded device programming and control environment with two major facets –Open Source Free.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
© LogicaCMG All rights reserved Erik Altena Jos van Rooyen Leon Wolters Towards a Keyword-Driven Test Presentation Format using TestFrame.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
1. 11th TTCN-3 User Conference Implementing TTCN-3 Bangalore, June 2012.
1 TRex Paul Baker 1, Dominic Evans 1, Jens Grabowski 2, Helmut Neukirchen 2, Benjamin Zeiss 2 The Refactoring and Metrics Tool for TTCN-3 Test Specifications.
Introduction to MDA (Model Driven Architecture) CYT.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Architecting Web Services Unit – II – PART - III.
1. 11th TTCN-3 User Conference An Introduction to TTCN-3 Bangalore, June 2012.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 Providing testability for ITU Recommendations Ostap Monkewich, OMCI ITU-T Workshop.
CHAPTER TEN AUTHORING.
TTCN Protocol Testing on Steroids! IEEE P WPAN Meeting March 6-10, 2000 Albuquerque, NM USA 802 Plenary Meeting Matthew Graney Telelogic North America.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
TTCN-3 MOST Challenges Maria Teodorescu
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
Copyright SOLINET GmbH SDL & Requirements of Signalling Systems William H. Skelton SOLINET, Stuttgart.
TTCN-3 Language Maintenance and Evolution TTCN-3 User Conference 2011, Bled Gyorgy Rethy STF 430 Leader
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
STEP Tutorial: “ Fundamentals of STEP” David Briggs, Boeing January 16, 2001 ® PDES, Inc NASA STEP Workshop step.nasa.gov.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
TTCN-3 Testing and Test Control Notation Version 3.
Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
XML-based Representation of Test Cases for Distributed Systems Alexander Kraas 7. October 2008.
TTCN Case Study - InterWatch
Architecting Web Services
SysML v2 Formalism: Requirements & Benefits
MTS/RAN5 IMS/IPv6 Workshop October 11th 2005 IPv6 Test Specifications Anthony Wiles, ETSI PTCC Leader of MTS STF276.
TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 MILESTONE 2
Architecting Web Services
Extension Package: Behaviour Types
TTCN-3 Status Report.
An Introduction to Software Architecture
Overview of the ETSI Test Description Language
Overview of the ETSI Test Description Language
Presentation transcript:

ETSI Protocol and Testing Competence Centre About ETSI Protocol and Testing Competence Centre

What is TTCN-3? Testing and Test Control Notation Version 3 Internationally standardized testing language Product of the ETSI Technical Committee MTS (Methods for Testing and Specification) A programming language that has been used for more than 15 years in standardization as well as industry Specifically designed for black box testing and certification Constantly developed and maintained at ETSI by a team of leading testing experts from industry, institutes, and academia A testing technology that applies to a variety of application domains and types of testing Knowledge of TTCN-3 is valuable both for employees as well as employers due to its wide applicability Offers potential for reducing training and test maintenance costs significantly Proven to work in very large and complex industrial tests, e.g., 3G network elements TTCN-3 Tutorial

The TTCN-3 Standards (free download at http://www. ttcn-3 ES 201 873-1 (Z.140) TTCN-3 Core Language ES 201 873-2 (Z.141) TTCN-3 Tabular Presentation Format (TFT) ES 201 873-3 (Z.142) TTCN-3 Graphical Presentation Format (GFT) ES 201 873-4 (Z.143) TTCN-3 Operational Semantics ES 201 873-5 TTCN-3 Runtime Interface (TRI) ES 201 873-6 TTCN-3 Control Interfaces (TCI) ES 201 873-7 and onwards (under development) Using ASN.1, XML, IDL, C/C++ with TTCN-3 TTCN-3 Tutorial

What makes TTCN-3 different … From conventional programming or scripting languages? Rich type system including native list types and support for subtyping Embodies powerful build-in matching mechanism Snapshot semantics, i.e., well defined handling of port and timeout queues during their access Concept of verdicts and a verdict resolution mechanism Support for specification of concurrent test behaviour Support for timers Allows test configuration at run-time Tests focus only on implementation to be tested From a test tool or vendor proprietary testing language? Not tied to a particular application or its interface(s) Not tied to any specific test execution environment, compiler or operation system TTCN-3 as such is not executable and requires a compiler/interpreter, adapter as well as codec implementations TTCN-3 Tutorial

How does TTCN-3 relate to TTCN-2? TTCN-3 builds on top of TTCN-2 but extends it significantly Core language has now look and feel of a regular programming language: much easier to learn No longer uses protocol specific terminology like PCO, ASP, PDU, etc Different presentation formats: tabular, graphical, … Completely dynamic test configurations Support for synchronous communication Support for testing distributed systems Standardized test system interfaces (TRI & TCI) Improved text string matching: regular expressions Better harmonisation with ASN.1 Extension mechanism to integrate other type systems, e.g., XML, ASN.1, C, … TTCN-3 Tutorial

TTCN-3 test systems in a nutshell TTCN-3 specifies a test but a test system is needed for test execution TRI and TCI standards define test system architecture TTCN- 3 tools are required to support internal interfaces Allows reuse of test platforms with different tools but also for different SUTs A test system requires A TTCN-3 tool = TTCN-3 compiler and execution environment A test platform for a specific device under test Note: Tools come with default Test Control & Logging Test System Executor TTCN-3 Test System Test Control Logging Codecs TCI [compiled] TTCN-3 Executable TRI SUT Adapter Platform Adapter ( ) System Under Test (SUT) ( s + s) TCI = TTCN-3 Control Interface TRI = TTCN-3 Runtime Interface TTCN-3 Tutorial

An example adaptation: A IPv6 test system Test System Executor TTCN-3 Test System Parameter File Tool Logging IPv6 Codecs TCI [compiled] IPv6 ATS TTCN-3 Executable TRI Ethernet Adapter Real-time Adapter Open Source FreeBSD Router TTCN-3 Tutorial

TTCN-3 Benefits TTCN-3 is easy to learn Look and feel of a regular programming language Unambiguous specification and execution of tests Well defined syntax, static - and operational semantics Enables completely automated test execution Off-the-shelf tools and test systems are readily available Five different commercial TTCN-3 tools on the market Open source community now taking shape Tools as well as test suites and useful modules Can be used to specify tests for standardization as well as proprietary product features Flexible testing technology Virtually no limits to adapt a test system to your needs Scalable – allows test systems to grow over time TTCN-3 Tutorial

TTCN-3 Success stories At ETSI In industry Also used beyond Europe Used for development of any new conformance test suite, e.g., SIP (VoIP), IPv6 (Core, Mobility, Security), HiperMAN / WiMax, 3GPP IP Multimedia Subsystem, … In industry Applied in a variety of application domains, e.g., telecom, automotive, financial, … (see www.tt-medal.org) Ericsson reported 1,000 active licenses at TTCN-3 User Conference 2006 Nokia experiences captured in IEEE Software 23(4) 2006 Motorola reports doubling of testing productivity Also used beyond Europe Strong community in China TTCN-3 Tutorial

Expansion of TTCN-3 Use Test Type Test Domain Laboratory Integration Distributed Telecom Layer Internet Transport Unit Module TTCN-3 Tutorial

TTCN-3 can automate Conformance and Interoperability Testing TTCN-3 Tutorial

Main Capabilities of TTCN-3 Dynamic concurrent testing configurations Various communication mechanisms (synch and asynch) Data and signature templates with powerful matching mechanisms (including regular expressions) Attributes for encoding, display or user-defined information Test suite parameterization Control of Test Case execution and selection mechanisms Control of complex test configurations Assignment and handling of test verdicts Harmonized with ASN.1 (XML and IDL coming) Different presentation formats Well-defined syntax, static - and operational semantics TTCN-3 Tutorial

The Core Language and Other Presentation Formats Text format Core format is text based (most popular) TTCN-3 can be edited or viewed in other formats Tabular format (for TTCN-2 people) Graphical format (good for visual overview) Other standardized formats in the future? Proprietary formats possible PresentationFormat3 PresentationFormatn Graphical Format Tabular Format TTCN-3 Core Language TTCN-3 Tutorial

Example Core (Text) Format testcase TC_resolveEtsiWww() runs on DnsClient { timer t_ack; serverPort.send(m_dnsQuestion("www.etsi.org")); t_ack.start(1.0); alt { [] serverPort.receive(mw_dnsAnswer("172.26.1.17")) { setverdict (pass); } [] serverPort.receive { // any other message setverdict(fail); [] t_ack.timeout { setverdict(inconc); } t_ack.stop; TTCN-3 Tutorial

Example Graphical Format testcase TC_resolveEtsiWww() runs on DnsClient mtc serverPort DnsClient DnsPort timer t_ack t_ack m_dnsQuestion("www.etsi.org") alt mw_dnsAnswer("172.26.1.17") pass ? fail t_ack inconc t_ack TTCN-3 Tutorial

Example Tabular Format Testcase Name TC_resolveEtsiWww() Group Purpose System Interface MTC Type DnsClient Comments Local Def Name Type Initial value t_ack timer Behavior serverPort.send(m_dnsQuestion("www.etsi.org")); t_ack.start(1.0); alt { [] serverPort.receive(mw_dnsAnswer("172.26.1.17")) { setverdict (pass); } [] serverPort.receive // any other message { setverdict(fail); } [] t_ack.timeout { setverdict(inconc); } } t_ack.stop; Detailed Comments: TTCN-3 Tutorial

Use of TTCN-3 With Other Languages TTCN can be integrated with types systems of other languages Fully harmonized with ASN.1 (1997) Harmonized with other languages IDL, XML, C/C++ ASN.1 Types & Values IDL Types & Values Other types & Valuesn XML Types & Values TTCN-3 Core Language TTCN-3 Tutorial

Minimal Test Configuration TTCN-3 Test System TCI Test Control TTCN-3 Executable Logging MTC Communication with IUT Codecs TRI SUT Adapter Platform Adapter Communication with SUT System Under Test (SUT) Communication with IUT Implementation Under Test All test behavior is executed on one (main) test component TTCN-3 Tutorial

Example Concurrent Test Configuration TTCN-3 Test System TCI Test Control TTCN-3 Executable MTC Internal Communication Logging PTC PTC Codecs TRI SUT Adapter Platform Adapter System Under Test (SUT) Implementation Under Test A test involves execution of many parallel test components Dynamic instantiation of components and communication links TTCN-3 Tutorial

Building blocks of a TTCN-3 Test Suite Data types which specify Structure of messages or calls and their information elements (fields, parameters) Internal data structures (e.g., for computation) Possibly encoding or display information Built-in basic types integer, boolean, float, bitstring, hexstring, octetstring, charstring, universal charstring ... and structured types record, record of, set, set of union, enumerated ... and special types such as component, port, verdicttype, default, etc Test Suite Test Data Types TTCN-3 Tutorial

Building blocks of a TTCN-3 Test Suite Actual test data (values) used during testing Constants or Templates for specific message or call parameter values Matching expressions for allowing multiple message or call parameter values value range, value list, wildcards, presence, length, size, permutation regular expressions Using also template decomposition, parameterization and modification Test Suite Test Data Types Actual Test Data TTCN-3 Tutorial

Building blocks of a TTCN-3 Test Suite Static aspects Test component and port types Dynamic aspects Dynamic instantiation and management of test components Mappings of test components to abstract test system interfaces Connections between test component interfaces Management of test components Test Suite Test Data Types Actual Test Data Test Configuration TTCN-3 Tutorial

Building blocks of a TTCN-3 Test Suite test cases specify sending/receiving messages, computation (e.g., checksums), and verdict assignment can be decomposed with functions and altsteps can (re)use default behaviour can use timers and timeouts test execution control (optional) order, repetition, conditions, etc Test Suite Test Data Types Actual Test Data Test Configuration Test Behaviour TTCN-3 Tutorial

TTCN-3 Module Module (…) Module Definitions Module Control module EtsiDnsTests { // Test definition part control // Test execution part // (optional) } Module (…) Module Definitions Module Control TTCN-3 Tutorial

Definitions Part module EtsiDnsTests { // Message structure // Actual test data // Test configuration // Test Case definitions } TTCN-3 Tutorial

Structured Definitions Part module EtsiDnsTests { group MessageStructure // Defintions of message types } group TestData // Templates for messages instances group TestSystemConfiguration // Port and component types and mappings group TestCases // Test case definitions TTCN-3 Tutorial

Message Structure and Test Data type record DnsMsg // simplified message structure! { DnsMsgKind kind, charstring question, charstring answer optional } type enumerated DnsMsgKind {e_query, e_response} template DnsMsg m_dnsQuestion( charstring p_question ) { kind := e_query, question := p_question, answer := omit // no answer } template DnsMsg mw_dnsAnswer( charstring p_answer ) { kind := e_answer, question := ?, // any question ok answer := p_answer } TTCN-3 Tutorial

Test Configuration type port DnsPort message { inout DnsMsg } // Note: port types may also allow multiple different // message types or restrict the direction type component DnsClient { port DnsPort serverPort } // Note: component types can also define multiple port // instances of the same or different port type and // declare timers, constants or variables TTCN-3 Tutorial

Test Behaviour mtc query response serverPort response testcase TC_resolveEtsiWww() runs on DnsClient { timer t_ack; serverPort.send(m_dnsQuestion("www.etsi.org")); t_ack.start(1.0); alt { [] serverPort.receive(mw_dnsAnswer("172.26.1.17")) { setverdict(pass); } [] serverPort.receive { // any other message setverdict(fail); [] t_ack.timeout { setverdict(inconc); } t_ack.stop; } TTCN-3 Tutorial

The Control Part Module (…) Module Definitions Module Control module EtsiDnsTests { // Test definition part modulepar boolean mp_example; testcase TC_resolveEtsiWww() runs on DnsClient { // .. as in previous slide } // Test execution part control { if (mp_example) { execute(TC_resolveEtsiWww()); Module (…) Module Definitions Module Control TTCN-3 Tutorial

Where can I learn more? Visit ETSI’s official TTCN-3 web site (www.ttcn-3.org) Public TTCN-3 test suites, useful TTCN-3 modules Links to commercial as well as open source tools Read well written TTCN-3 standard suite Join the ETSI mailing list (list.etsi.org/TTCN3.html) Take a course (see www.tt-medal.org) Read publications Proceedings of Conference for Testing of Communicating Systems (TESTCOM) Presentations of yearly TTCN-3 User Conferences in Europe or Asia (see www.ttcn-3.org) Get a text book http://www.wiley.com/legacy/wileychi/ttcn-3/ Register for the next TTCN-3 user conference! TTCN-3 Tutorial

Thank You! Phone +33 (0)4 92 94 49 64 e-mail ptcchelp@etsi.org Website www.etsi.org/ptcc