The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin

Slides:



Advertisements
Similar presentations
Test Case Generation for testing SNMP agents
Advertisements

TTCN-3 Users Conference
© 2003 Fokus/TIP 1 Testability Interface Test Runtime Interface (TRI) George Din, Andreas Hoffmann, Ina Schieferdecker { din | a.hoffmann | schieferdecker.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Telematics group University of Göttingen, Germany Integrated Application of TTCN Dieter Hogrefe.
Use of ITU-T languages in Nokia
TTCN-3 & Conformance Testing Anitha Krishnamoorthy.
International Telecommunication Union ITU-T Study Group 17, Geneva, 5-14 October 2005 An Introduction to version 3 Dr. Michael Ebner University Göttingen,
Database System Concepts and Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Comparing TTCN-3 and TTCN-2 TTCN-3 User Conference May 3 rd -May 5 th,2004 Sophia Antipolis.
Tool support for Distributed Object Technology
GFT The Graphical Format of TTCN-3
MiL Testing using TTCN-3: Concepts and Case Study Marcus Mews, Technical University of Berlin * Jaroslav Svacina, Fraunhofer FIRST.
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,
RPC Robert Grimm New York University Remote Procedure Calls.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
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.
Scale Up Access to your 4GL Application using Web Services
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Network Management with JMX Thu Nguyen Oliver Argente CS158B.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
.NET Mobile Application Development Remote Procedure Call.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
Jos van Rooyen Erik Altena Leon Wolters TTCN-3 in the Financial Domain.
Understanding and Managing WebSphere V5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
ETSI Protocol and Testing Competence Centre
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
A. Mednonogov / Helsinki University of Technology / Conformance Testing of CORBA Services Using TTCN / / Page 1 Conformance Testing of CORBA Services.
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.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
© LogicaCMG All rights reserved Erik Altena Jos van Rooyen Leon Wolters Towards a Keyword-Driven Test Presentation Format using TestFrame.
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.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
1. 11th TTCN-3 User Conference An Introduction to TTCN-3 Bangalore, June 2012.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
International Telecommunication Union Geneva, 9(pm)-10 February 2009 Providing testability for ITU Recommendations Ostap Monkewich, OMCI ITU-T Workshop.
TTCN Protocol Testing on Steroids! IEEE P WPAN Meeting March 6-10, 2000 Albuquerque, NM USA 802 Plenary Meeting Matthew Graney Telelogic North America.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
By: PHANIDEEP NARRA. OVERVIEW Definition Motivation.NET and J2EE Architectures Interoperability Problems Interoperability Technologies Conclusion and.
TTCN-3 MOST Challenges Maria Teodorescu
TTCN-3 Language Maintenance and Evolution TTCN-3 User Conference 2011, Bled Gyorgy Rethy STF 430 Leader
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
TTCN-3 Testing and Test Control Notation Version 3.
Software test automation with UML2.0 TestingProfile & TTCN-3 Maili Markvardt.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
XML-based Representation of Test Cases for Distributed Systems Alexander Kraas 7. October 2008.
STF 454 “DESIGN OF TDL” Proposed TDL features © ETSI All rights reserved.
Introduction to Advanced Java Programming
TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 MILESTONE 2
Testing Wireless over Wire with TTCN-3
Processes The most important processes used in Web-based systems and their internal organization.
György Réthy MTS IPT chairman
TTCN-3 Status Report.
Typical Workflow - today
Overview of the ETSI Test Description Language
Develop a Reliability Test in TTCN-3
Proposal for a New Work Item: TTCN-3 Control Interfaces
Presentation transcript:

The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Content Overview on TTCN-3 TTCN-3 applied to software TTCN-3 and XML Test Execution

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Content  Overview on TTCN-3 TTCN-3 applied to software TTCN-3 and XML Test Execution

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Introduction TTCN-3 is the Testing and Test Control Notation The new standardised test specification and test implementation language Developed from 1999 – 2002 at the European Telecommunications Standards Institute (ETSI). Developed based on experiences from previous TTCN editions Removal of OSI specific concepts; Improvement of concepts; Introduction of new concepts. Applicable for all kinds of black-box testing for reactive and distributed systems, e.g., Telecom systems (ISDN, ATM, GSM, UMTS); Internet (IP, IP based protocols and applications); Software systems (Java, XML); Middleware platforms and component-based systems (CORBA,.Net, EJB).

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Overview on TTCN-3 Presentation Format n Graphical Format Tabular Format TTCN-3 Core Language Other Types & Values n Other Types & Values 2 ASN.1 Types & Values : testcase myTestcase () runs on MTCType system TSIType {mydefault := activate (OtherwiseFail); verdict.set(pass); : connect(PTC_ISAP1:CP_ISAP1,mtc:CP_ISAP1); : map(PTC_ISAP1:ISAP1, system:TSI_ISAP1); : PTC_ISAP1.start(func_PTC_ISAP1()); PTC_MSAP2.start(func_PTC_MSAP2()); Synchronization(); all component.done; log(”Correct Termination”); } : mscmi_synch1_conc1 mtcISAP1MSAP2

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 Test Case TTCN-3 – Based Black-Box Testing Port.send(Stimulus) Port.receive(Response) System Under Test Port Assignment of a Test Verdict

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 Test Case TC TCs TC create TC TCs MTC create TC SUT TCs TC start TC Component-Based Test System

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Main Elements of TTCN-3 Module covers declarations and control Templates (test data description) and matching mechanisms (pattern matching) Test configurations Formally defined interfaces to the SUT Dynamic creation of test component Concurrency to describe distributed test setups Test cases Small (complete) separate compilable programs Share (type and data) information Test verdicts

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Content Overview on TTCN-3  TTCN-3 applied to software TTCN-3 and XML Test Execution

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 and Software Testing Message-Based Software Such as Protocols, Messaging Services, Web site and Portals,... Example technology is XML Signature-Based Software Such as Client-Server, Peer-to-Peer, Component-based Systems,.... Example technology is IDL  Reuse of XML/IDL/... data within TTCN-3  Define a mapping from XML/IDL/... to TTCN-3

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Presentation Format n Graphical Format Tabular Format Other Types & Values 2 IDL ASN.1 Types & Values Other Types & Values n TTCN-3 Core Language Presentation Format n TTCN-3 and Software Testing C, C++, JAVA XML

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Content Overview on TTCN-3 TTCN-3 applied to software  TTCN-3 and XML Test Execution

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 XML in Distributed Applications Increasing number of distributed applications use XML for Description of messages in datacom protocols Exchange format between software components Data description in Web-applications etc. XML is a structured method for putting data into a textual presentation by marking up data can have attributes that describe additional information describes both attributes and content is intuitive and self describing

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Mapping XML to TTCN-3 Idea: Map element tags and attributes to TTCN-3 fields Different grammar definitions and mappings Schemas Embedded approach Flat-Catalog approach Named Type approach DTDs

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Example – The Dinosaur Database XML Paleontologist feeding the database Student requesting dataExampleExample

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 The Request Interface XML URL XML File

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Web Service Generation of test data structure Test System Test Component Test Component Test Component Test Component Compilation to Executable Tests XML ADAPTORADAPTOR Adaptor acc. to the mapping rules Generation of test behavior Generation of test data Principal Approach

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Structured Type DefintionsExampleExample XML DTD type set of dinosaur dinolist; type record dinosaur { charstringname, charstringlen, charstringmass, charstringtime, charstringplace } Set of Type Definition Field Definition Record Type Definition

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Test Data Definitions template dinolist DinoList := {?, ?, Brachiosaurus, ?, ?, ?, ?}; template dinosaur Brachiosaurus := { name:= "Brachiosaurus", len:= ?, mass:= ?, time:= ?, place:= ? }ExampleExample Any Value

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Test Port /** communication port type definition */ type port httpTestPortType message { outurl; indinolist; } Port DefinitionExampleExample

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Test Components /** component type definitions */ type component httpTestComponent { port httpTestPortTypehttpPort; timer localTimer := 3.0; } type component httpTestSystemComponent { port httpTestPortTypehttpTestSystemPort; } Component DefinitionExampleExample Local Port Local Timer

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Test Behavior httpPort.send(requestURL); localTimer.start; alt { [] httpPort.receive(DinoList) { localTimer.stop; setverdict(pass); } [] httpPort.receive { localTimer.stop; setverdict(fail); } [] localTimer.timeout { setverdict(fail); } Alternative reactionsExampleExample Sending a message Starting the timer The expected response An unexpected response A timeout

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 altstep DinoList_Default_1() runs on httpTestComponent { [] httpPort.receive { localTimer.stop; setverdict(fail); } [] localTimer.timeout { setverdict(fail); } Handling of unexpected response Simplification: Altstep Test Component Type Handling of timeoutsExampleExample

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3... activate(DinoList_Default_1()); httpPort.send(requestURL); localTimer.start; httpPort.receive(DinoList); localTimer.stop; setverdict(pass); … The expected response is given here only, All other cases are handled by the default Simplification: Use of the Altstep Default activationExampleExample

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 testcase DinoList_Test_1() runs on httpTestComponent system httpTestSystemComponent { map(mtc:httpPort, system:httpTestSystemPort); activate(DinoList_Default_1()); httpPort.send(requestURL); localTimer.start; httpPort.receive(DinoList); localTimer.stop; setverdict(pass); } A Test Case MTC TypeExampleExample Test Case Definition TSI Type Mapping the Ports

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Module module dinolistTest { type record url {...} type set of dinosaur dinolist; type record dinosaur {...} template url requestURL := {...} template dinolist DinoList := {...} template dinosaur Brachiosaurus := {...} type port httpTestPortType message {...} type component httpTestComponent {...} type component httpTestSystemComponent {...} altstep DinoList_Default_1() runs on httpTestComponent {...} testcase DinoList_Test_1() runs on httpTestComponent system httpTestSystemComponent {... } control {... } } Module NameExampleExample The Complete Module

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Graphical Format testcase DinoList_Test_1 runs on httpTestComponent system httpTestSystemComponent httpTest Component mtc requestURLDinoList httpPort activate (DinoList_Default_1) pass LocalTimer map(mtc:httpPort, system:httpTestSystemPort)

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Content Overview on TTCN-3 TTCN-3 applied to software TTCN-3 and XML  Test Execution

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 SUT Real Test System Interface Test Execution Test System Abstract Test System Interface TC2 TC1 IN OUT OUT IN Connected Ports INOUT Mapped Ports INOUT Real Test System Interface

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 Execution Test System Test System User TE TM: Management System Under Test (SUT) CD: CoDec CH: Component Handling SA: CommunicationPA: Timer Generic XML adaptor that adheres to the mapping

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 Runtime Interface Adaptation to the SUT Test System User TE TM: Management System Under Test (SUT) CD: CoDec CH: Component Handling SA: Communication PA: Timer TRI

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 TTCN-3 Control Interfaces Adaptation to the test platform/test device Test System User TE TM: Management System Under Test (SUT) CD: CoDec CH: Component Handling SA: CommunicationPA: Timer TCI

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 Summary of TTCN-3 New version of the only standardized test notation Modernization: Programming-like test specification with flexible data support and various representation formats Wider scope of application applicable to many kinds of test applications not just conformance (development, system, integration, interoperability, scalability …) applicable in the datacom domain Harmonization first choice for test specifiers, implementors and users both for standardized test suites and as a generic solution in industrial software development Was successfully shown to be applicable to testing of IDL and XML interfaces, Java and C++ classes, … Tools are available

Thank You. Questions?

ITU-T Workshop, Geneva, Nov I. Schieferdecker: TTCN-3 The TTCN-3 Set of Standards ETSI ES TTCN-3 Core Notation ETSI ES TTCN-3 Tabular Presentation Format ETSI ES TTCN-3 Graphical Presentation Format ETSI ES TTCN-3 TTCN-3 Semantics ETSI ES The TTCN-3 Runtime Interface ETSI ES The TTCN-3 Control Interfaces