Introduction to TTCN-3



Similar documents
dominique <dot> toupin <at> ericsson <dot> com GYORGY <dot> RETHY <at> ericsson <dot> com

Automatic Test Data Generation for TTCN-3 using CTE

My First TTCN-3 Project with TTworkbench

Automated Target Testing with TTCN-3: Experiences from WiMAX Call Processing Features

4th European Tcl/Tk User Meeting. Tcl used for testing in the mobile world

The GO4IT IPv6 Test Tool and Associated services. Alain Vouffo FOKUS (Fraunhofer Institute for Open Communication Systems)

Network Layers. CSC358 - Introduction to Computer Networks

Performance testing with TTCN-3

The Domain Name System

TTCN-3, Qtronic and SIP

Advanced TTCN-3 Test Suite validation with Titan

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

NTP-PoCT: A conformance test tool for push-to-talk over cellular network

Aerospace Software Engineering

Distributed Load Tests with TTCN-3

Fasthosts Internet Parallels Plesk 10 Manual

KAREL UCAP DNS AND DHCP CONCEPTS MANUAL MADE BY: KAREL ELEKTRONIK SANAYI ve TICARET A.S. Organize Sanayi Gazneliler Caddesi 10

SolarWinds Log & Event Manager

TTCN4SOA : a TTCN-3 architecture and framework for SOA testing

DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses.

Test Execution Logging and Visualisation Techniques 1

NETWORK PUBLIC TRAINING CLASS

Copyright

Real Time Developer Studio. Emmanuel Gaudin

TSGS#13(01)0562. Technical Specification Group Services and System Aspects Meeting #13, Beijing, China, September 2001

Run-time test configurations for load testing

COURSE OUTLINE MOC 20413: DESIGNING AND IMPLEMENTING A SERVER INFRASTRUCTURE

Long Term Evolution - LTE. A short overview

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Hostname (DNS Resolvable) Network Objects

Network Management. Jaakko Kotimäki. Department of Computer Science Aalto University, School of Science. 21. maaliskuuta 2016

IP addresses have hierarchy (network & subnet) Internet names (FQDNs) also have hierarchy. and of course there can be sub-sub-!!

Testing automation of projects in telecommunication domain

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

TESTING EXPERIENCE OF A1 - TELEKOM AUSTRIA

Introduction to Network Operating Systems

Use Domain Name System and IP Version 6

Internet Control Protocols Reading: Chapter 3

1 Introduction: Network Applications

Model-Based Fuzzing for Security Testing

PARAMETERS TO BE MONITORED IN THE PROCESS OF OPERATION WHEN IMPLEMENTING NGN TECHNICAL MEANS IN PUBLIC TELECOMMUNICATION NETWORKS

Course Syllabus. Fundamentals of Windows Server 2008 Network and Applications Infrastructure. Key Data. Audience. Prerequisites. At Course Completion

Applying 4+1 View Architecture with UML 2. White Paper

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

SNMP, CMIP based Distributed Heterogeneous Network Management using WBEM Gateway Enabled Integration Approach

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

BENEFITS OF MODELING WITH A FORMAL LANGUAGE. Emmanuel Gaudin emmanuel.gaudin@pramadev.com

Many network and firewall administrators consider the network firewall at the network edge as their primary defense against all network woes.

Administering System Center 2012 Configuration Manager

Developing Telecom Network Gateway

Embedded OS. Product Information

Lab - Observing DNS Resolution

A SOA visualisation for the Business

Implementing MDaemon as an Security Gateway to Exchange Server

Designing and Implementing a Server Infrastructure

TMS Phone Books Troubleshoot Guide

DNS FLOODER V1.1. akamai s [state of the internet] / Threat Advisory

Course Outline. Course 20336B: Core Solutions of Microsoft Lync Server Duration: 5 Days

Course Outline. Core Solutions of Microsoft Lync Server 2013 Course 20336B: 5 days Instructor Led. About this Course.

Project SailFin: Building and Hosting Your Own Communication Server.

Introduction to Network Security. Topics

How to Add Domains and DNS Records

The Application Layer: DNS

Presented by Aurang Zeb 14CS-03. Network Management System

BB2798 How Playtech uses predictive analytics to prevent business outages

UML SUPPORTED SOFTWARE DESIGN

Configuration Manager v.next Beta 1 Supported Configuration

The application of TTCN-3 in M2M Testing

Module 2. Configuring and Troubleshooting DNS. Contents:

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Custom Solutions Center. Users Guide. Low Cost OEM PackML Templates L02 Release. Version LC-1.0

Domain Name System :49:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Using DNS SRV to Provide High Availability Scenarios

MiaRec. Cisco Built-in-Bridge Recording Interface Configuration Guide. Revision 1.2 ( )

7 TRANSMISSION CONTROL PROTOCOL/ INTERNET PROTOCOL (TCP/IP)

Core Solutions of Microsoft Lync Server 2013

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Business Data Communications & IT Infrastructures, 2 nd Edition

Model-Based Engineering: A New Era Based on Papyrus and Open Source Tooling

Managing Users and Identity Stores

Transcription:

Introduction to TTCN-3 Colin Willcock Nokia Research Center 1 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Overview Introduction TTCN Testing Background Future Testing Challenges The TTCN-3 Language Background Example TTCN-3 in Practice Current Status Future Outlook 2 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Overview Introduction TTCN Testing Background Future Testing Challenges The TTCN-3 Language Background Example TTCN-3 in Practice Current Status Future Outlook 3 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Test Language Why use a standardized test language? To know what we are testing! Only if you can unambigously specify a test case, you can know what you are testing. 4 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-2 designed purely for testing internationally standardized language well-established and widely used (TTCN-2) uses conformance testing methodology (ISO 9646) tool independent supports ASN.1 5 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Testing Challenges Increasing complexity of products Number of GSM Specifications 1306 Number of 3G Specifications 2290 # of CRs 7000 6000 5000 4000 3000 2000 2G total 3G total 2G+3G total 1000 0 1994 1995 1996 1997 1998 1999 2000 2001 6 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Future Testing Challenges Pressure to shorten time to market New systems and services must be available quicker How can we reduce testing time? Pressure to improve quality SW outage average time for Network elements measured in seconds per year How can we improve testing quality (and quantify it) New types of testing IP based protocols Text based protocols Unified testing approach for software and protocol testing Not unique to Telecomm industry Maybe proposed solutions are also general 7 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Overview Introduction TTCN Testing Background Future Testing Challenges The TTCN-3 Language Background Example TTCN-3 in Practice Current Status Future Outlook 8 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

9 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock What is TTCN-3 Test and Testing Control Notation New Internationally standardized testing language for formally defining test scenarios. Designed purely for testing Taking the best bits of TTCN-2 and combining them with a new more powerful textual notation Tool Independent testcase Hello_Stephan () { port.send( Hello Stephan ); alt{ []port.receive( Hello Colin ) {setverdict( pass)}; [else] {setverdict( inconc)} //Stephan asleep! } }

Why is TTCN-3 Important More Productive Easier to learn Easier to use More Powerful Extended functionality Support for IP protocol Support text-based protocols More Flexable Not tied to OSI model For many types of testing More Extendable Extensibility built-in TTCN-2 Software Testing Functio n Modul e Protocol Testing Layer Unit Integration TTCN- 3 10 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-3 Background STF 133 formed by ETSI MTS in 1997 to produce TTCN version 3 Co-operation with ITU-T SG10 Voluntary contributions from Nortel, Ericsson, Telelogic, Nokia etc. More than 200 members in STF133 discussion group. Language standardized in October 2000 11 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

A tough job at ETSI TTCN-3: Standardisation 12 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

A Comparison of TTCN Language Versions TTCN-2 machine processable source file format (.mp files) tabular presentation format supports timers and messagebased communication static test configurations static adaptation layer interface (PCOs) textual source file format (like programming language) tabular, graphical (MSC), or any user-defined presentation format supports timers, message-based and procedure-based communication, and external functions dynamic test configurations and one-to-many connections separate dynamic adaptation layer interface (system component) 13 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-3 Advantages Extend usability of TTCN-2 powerful features, e.g. different communication mechanisms intended for several application areas presentation formats independent of core language standardized interfaces Do not reinvent retain proven concepts of TTCN-2 retain TTCN-2 expertise of developers 14 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Application area Conformance Testing Test System TTCN System Under Test Layer 4 Layer 3 Layer 2 Layer 2 Layer 1 Layer 1 15 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Application Areas Protocol (Conformance) Testing TTCN-3 IP based testing TTCN-3 GET http://... SUT Text based testing TTCN-3 SUT 404... SUT A Software Testing TTCN-3 SUT SUT B 16 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Separation of Content and Form TTCN-3 is based on textual core language core language presentation format P.send(...); P.receive(...);... P!...... P?...... 17 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Separation of Content and Form (cont.) Further presentation formats supported query(...) > P P.receive("123") 123 P > answer(...) P.send("4") graphical presentation format (standardized) proprietary presentation format 18 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Standardized TTCN-3 Runtime Interface (TRI) TRI Test System TTCN Layer 2 System Under Test Layer 4 Layer 3 Layer 2 Layer 1 Layer 1 standardized interface between test suite and protocol layers allows independent development and portability 19 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Standardized TTCN-3 Runtime Interface (TRI) Test System System Under Test TTCN Layer 4 Layer 3 Layer 2 Layer 1 testing tools supporting TRI can be integrated easily 20 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-3 Step by Step: DNS Server TTCN-3 core notation is introduced by developing an example test case for a Domain Name Service (DNS) server Tester Send fully qualified hostname Return IP-address Local Network Client Master Test Component Local Domain Name Server System Under Test 21 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

DNS Server Test Purpose The Internet s Domain Name System (DNS) service offers hostname to IP Address resolution Communication is message based (UDP) We want to test the correct resolution www.nokia.com => 193.65.100.110 Tester Client SUT DNS (www.nokia.com,a) (www.nokia.com,193.65.100.110,a) pass 22 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-3 Modules module DNS { Main building block of TTCN-3 is a module Unit of Compilation Contains definitions And an optional control part // module definitions // module control (optional) } 23 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Module Definitions Module definitions Type definitions Templates Port definitions Component defs Testcase Control part type record DNSQuery { charstring hostname; AnswerType answer optional; QueryType qtype; } type union AnswerType { Byte address[4], charstring hostname; } type integer Byte (0.. 255); type enumeration QueryType { A, NS, CNAME, MX } hostname address DNSQuery answer hostname qtype 24 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Module Definitions contd. Module definitions Type definitions Templates Port definitions Component defs Testcase Control part template DNSQuery query { hostname := www.nokia.com ; answer := omit; qtype := A; } template DNSQuery answer modifies query { answer.address := {193,65,100,110}; } query www.nokia.com A answer www.nokia.com 193, 65, 100, 110 A 25 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Module Definitions contd. Module definitions Type definitions Templates Port definitions Component definitions Testcase Control type port DNSPort message { inout DNSQuery; } Port definitions // a port may send/receive messages // of more than one type Component definitions type component DNSTester { port DNSPort P; } // a component may have more than one port DNSTester P DNSQuery 26 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Module Definitions contd. Module definitions Type definitions Templates Port definitions Component defs Testcase Control part Client testcase Testcase1() runs on DNSTester { P.send(query); P.receive(answer); setverdict(pass); stop; } // there may be more than one in a module DNS (www.nokia.com,a) (www.nokia.com,193.65.100.110,a) pass 27 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Module definitions Type definitions Templates Port defintions Component defs Testcase Control part Module Definitions contd. Controls the execution of test cases control { } execute(testcase1()); // more testcases might follow // C-like control structures available 28 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Execution of a Test Case MTC Verdict = pass P P query = (www.nokia.com,,a) answer = (www.nokia.com, 193.65.100.110,A) SUT Tester testcase Testcase1() runs on DNSTester { control P.send(query); { P.receive(answer); execute(testcase1()); } setverdict(pass); stop; } 29 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

30 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Dealing with erroneous behavior query = (www.nokia.com,,a) MTC verdict Verdict =??? P P??? answer = (www.nokia.com, 127.0.0.1,A) SUT Tester P.receive(answer) blocks until it receives a message that matches answer. Any other message does not unblock the tester, which then blocks forever. If no message is received, the tester will also block forever. 31 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Dealing with erroneous behavior contd. testcase Testcase2() runs on DNSTester { timer t := 5.0; P.send(query); t.start; Tester Client (www.nokia.com,a) SUT DNS } alt { } stop; [] P.receive(answer) { setverdict(pass); } [] P.receive { // any message setverdict(fail); } [] t.timeout { setverdict(inconc); } inconc pass fail (www.nokia.com,193.65.100.110,a) (www.nokia.com,127.0.0.1,a) 32 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Non-local DNS Query Tester Send fully qualified hostname Parallel Test Component 1 Return IP-address Local Network Client Main Test Component Parallel Test Component 2 The internet s root name service Parallel Test Component 3 Remote DNS Ask for remote DNS Ask for IP address Get remote address Return desired IP-address Local Domain Name Server System Under Test 33 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Non-local DNS Query contd. Tester SUT Tester Client DNS root NS NS ( www.nokia.com,a) ( nokia.com,ns) ( nokia.com, ns.nokia.com,ns) ( www.nokia.com,193.65.100.110,a) ( www.nokia.com,a) ( www.nokia.com,193.65.100.110,a) 34 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Parallel Test Components Test system interface type component TSI { port DNSPort CLIENT, port DNSPort ROOT, port DNSPort NS } CLIENT DNSQuery ROOT DNSQuery NS DNSQuery Tester 35 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Parallel Test Components contd. TTCN-3 functions define the behavior of the parallel test components function RootBehaviour() runs on DNSTester { alt { [] P.receive(rootquery) { P.send(rootanswer); setverdict(pass); } [] P.receive { setverdict(fail);} } stop; } alt SUT DNS ( nokia.com,ns) Tester root NS ( nokia.com, ns.nokia.com,ns) pass * fail 36 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Dynamic Configuration testcase Testcase3() runs on MTC system TSI { var DNSTester RootComp, NSComp, ClientComp; RootComp := DNSTester.create; NSComp := DNSTester.create; ClientComp := DNSTester.create; map(rootcomp:p, system:root); map(nscomp:p, system:ns); map(clientcomp:p, system:client); PTC Client P PTC root NS P CLIENT ROOT RootComp.start (RootBehaviour()); NSComp.start (NSBehaviour()); ClientComp.start(ClientBehaviour()); ClientComp.done; // block until ClientComp is done MTC PTC NS P NS stop; } Tester Re-configuration during run time is possible 37 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Overview Introduction TTCN Testing Background Future Testing Challenges The TTCN-3 Language Background Example TTCN-3 in Practice Current Status Future Outlook 38 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

Current Status A number of commercial TTCN-3 toolsets are available ETSI is already using TTCN-3 for the TIPHON SIP and IPv6 TTCN-3 is already being used in SIP and IPV6 bake-off events Major telecoms companies are developing migration plans for moving from TTCN-2 to TTCN-3. European Projects to disseminate technology 39 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TT-Medal Project Project Goals: To develop the methodologies, tools and industrial experience to enable European industry to test more effectively and more efficiently To drive the deployment of TTCN-3 testing technology into European industry 40 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

41 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock TT-Medal Partners

TT-Medal Results TTCN-3 Asset Box will provide all the tools for: generic testing processes, systematic test development and testing methodology, reuse, architecture, new application domains, tool prototypes, UML 2.0 testing profile, test validation, and lightweight testing process & tools 42 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TT-Medal Results Training package: to show how the new technologies should be used, help project partners and others in European industry with effective testing in their business processes. Experience package: to show where these new technologies should be applied and why, will provide the means for sharing data on adequate tools, testing methods, applicability of processes, available test cases, and conformance specification, how to obtain sufficient testing resources (from management) and how to leverage these. 43 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

44 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock TT-Medal Structure

TT-Medal Application Areas 45 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

TTCN-3 Outlook Short term: Replacing TTCN-2 in functional and conformance testing as standard language. Increasing use within the IP world especially for text based protocols Possible key technology in the IP/telecom convergence. Medium term: Expanding from pure protocol testing to software testing and interworking testing. Possible key technology for unifying testing technology across whole product development. Long term: Real time and performance testing? (European INTERVAL project) Integration with UML (UML testing profile) 46 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock

47 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock More Information?

The Truth About TTCN-3. AND THEN I USED TTCN-3 48 NOKIA TTCN-3 Intro.ppt/ 07.11.2002 /C. Willcock