An overview on the Testing and Test Control Notation version 3 (TTCN-3) Helmut Neukirchen Háskóli Íslands

Slides:



Advertisements
Similar presentations
TTCN-3 Users Conference
Advertisements

Use of ITU-T languages in Nokia
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
Configuration management
Conformance Testing of MOST based Applications Towards Effective System Testing André Baresel, Michael Schmidt - DaimlerChrysler AG Contact:
© 2010 Wipro Ltd - Confidential SGSN Automation Testing Using TTCN3 Authors: Jyothi Gavara Nikhil Rahul Ekka.
GFT The Graphical Format of TTCN-3
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin
1st DWFTT - 21/06/05 - Amsterdam TT-Medal Project Overview Jaco van de Pol CWI, SEN 2 Amsterdam Stefan Blom, Jens Calamé, Wan Fokkink, Nicu Goga, Natalia.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
“Bad Smells” in TTCN-3 Test Suites Martin Bisanz, Jens Grabowski, Helmut Neukirchen, Benjamin Zeiss Software Engineering for Distributed Systems Group.
A conformance test suite for TTCN-3 tools Benjamin Zeiss, T-Systems Andras Kovacs, Broadbit Bogdan Stanca-Kaposta, Testing Technologies.
IHA præsentation1 Protocol Testing Lesson 5. IHA præsentation2 Outline for today Guidelines for testing protocols TTCN – A Standard Language For Testing.
Achieving Success With Service Oriented Architecture Derek Ireland 17th March, 2005.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
CIT241 Prerequisite Knowledge ◦ Variables ◦ Operators ◦ C++ Syntax ◦ Program Structure ◦ Classes  Basic Structure of a class  Concept of Data Hiding.
Testing RAVEN Helmut Neukirchen Faculty of Industrial Engineering, Mechanical Engineering and Computer Science University of Iceland, Reykjavík, Iceland.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Object Oriented Software Development
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
ETSI Protocol and Testing Competence Centre
A. Mednonogov / Helsinki University of Technology / Conformance Testing of CORBA Services Using TTCN / / Page 1 Conformance Testing of CORBA Services.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
© 2012 WIPRO LTD | 1 Version 1.0a, 23 rd April 2012 TTCN-3 Users Conference Practical integration of TTCN-3 with Robot test automation framework.
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 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
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.
Configuration Management (CM)
1 SAM /JUNE/2000 SDL Based Auto Code Generation: A Multi Beneficial Approach Bhaskar Rao.G Software Engineering Group, Motorola India Electronics.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
TTCN Protocol Testing on Steroids! IEEE P WPAN Meeting March 6-10, 2000 Albuquerque, NM USA 802 Plenary Meeting Matthew Graney Telelogic North America.
TTCN-3 MOST Challenges Maria Teodorescu
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
CEN/ISSS eBIF GTIB Project Meeting, Brussels Mar , 2009 CEN/ISSS eBIF GTIB Project Meeting, Brussels 1 CEN/ISSS eBIF Global eBusiness Interoperability.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
Slide no. 1  =====!"§!“!Nova§ ITU-T work on technical languages and general software issues Amardeo Sarma Chairman, ITU-T Study Group 10.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
TTCN-3 Testing and Test Control Notation Version 3.
Software test automation with UML2.0 TestingProfile & TTCN-3 Maili Markvardt.
Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007.
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.
1 TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 Bogdan Stanca-Kaposta/ Testing Technologies Tomas Urban / Elvior Andras Kovacs / Broadbit.
Work Item “Patterns in Test Development (PTD)” Re-start Meeting 17 March, Berlin Helmut Neukirchen Institute for.
XML-based Representation of Test Cases for Distributed Systems Alexander Kraas 7. October 2008.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
TTCN CONFORMANCE TEST SUITE TTCN-3 Part 1 & Part 9 STF 487 MILESTONE 2
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
TDL: The ETSI Test Description Language
NTNU Dept of Telematics and SINTEF Telecom and Informatics, Norway
TDL: The ETSI Test Description Language
Chapter 7 –Implementation Issues
Overview of the ETSI Test Description Language
Overview of the ETSI Test Description Language
TDL: The ETSI Test Description Language
Presentation transcript:

An overview on the Testing and Test Control Notation version 3 (TTCN-3) Helmut Neukirchen Háskóli Íslands

Helmut Neukirchen: TTCN-3 2 Outline 1.About me 2.What is TTCN-3? 3.TTCN-3 example 4.Test automation with TTCN-3 5.Conclusions

Helmut Neukirchen: TTCN-3 3 Helmut (í. Helmút) Neukirchen: Born and educated in Germany: University of Aachen, University of Lübeck, University of Göttingen. PhD in Computer Science. Since 2008: Associate professor for Computer Science and Software Engineering at University of Iceland. Working in the field of software quality and distributed systems, in particular testing distributed systems and quality of tests. Test methodology, test languages, test tools, test metrics, test “smells”, test refactoring, test patterns, standardisation of tests. If you have interesting testing problems for students to work on as part of their BSc, MSc, PhD project: contact me! Office in Tæknigarður, best contacted via 1. About me

Helmut Neukirchen: TTCN What is TTCN-3? Testing and Test Control Notation version 3 Test specification and test implementation language. Test cases specified at an abstract level. Hardware and operating system independent. Can be turned into automated test cases by compiling into executable code, adding an adaptation layer. Standardised technology: European Telecommunication Standards Institute (ETSI). International Telecommunication Union (ITU). Strength in functional black-box testing of distributed systems. However, applicable to various other domains, levels, and types of tests: Embedded systems, distributed systems, pure software systems. From unit test to acceptance test level. From functional to non-functional (real-time, load, performance) tests.

Helmut Neukirchen: TTCN TTCN-3 example: Scenario Black-box test of a message-based weather service: Purpose of a very simple example test case: Send weather request for Reykjavik to SUT. Check that weather response is received containing: location “Reykjavik” any date, temperature within a reasonable range ( °C) wind speed within a reasonable range (0..100m/s). System Under Test (SUT)Test System Weather serviceTest case 1. Weather request(“Reykjavik”) 2. Weather response (“Reykjavik”, , 3°C, 9m/s)

Helmut Neukirchen: TTCN-3 6 TTCN-3 example: Test architecture Weather service example: SUT=Weather service, Simple example test case: only one test component needed. However, for some load test, we could, e.g., run the same test case in parallel on multiple test components to generate some load. System Under Test (SUT) Real Test System Interface Test System Abstract Test System Interface Test component InOut Specified and implemented using TTCN-3 language Test adapter (implemented using Java, C, C++ etc.) Black-box Ports Test component Test behaviour is executed by a test component. TTCN-3 supports distributed, parallel test components.

Helmut Neukirchen: TTCN-3 7 TTCN-3 example: Definition of data types and test data module WeatherServiceTestSuite { type record weatherRequest { charstring location } template weatherRequest ReykjavikWeatherRequest := { location := "Reykjavik" } type record weatherResponse { charstring location, charstring date, integer temperature, integer windVelocity } template weatherResponse ReykjavikWeatherResponse := { location := "Reykjavik", date := *, temperature := ( ), windVelocity := (0..100) } Definition of data types. Templates= Definition of test data. Definition of test data: powerful matching mechanism allows fuzziness (wildcards, ranges, regular expressions).

Helmut Neukirchen: TTCN-3 8 TTCN-3 example: Definition of ports and interfaces type port weatherPort message { in weatherResponse; out weatherRequest; } type component TestComponentType { port weatherPort weatherOffice; } Definition of a port used for communication: allowed messages (=data types). Definition of a test component type: ports that may be used by test behaviour running on an instance of that component type.

Helmut Neukirchen: TTCN-3 9 TTCN-3 example: Definition of test behaviour testcase testWeather() runs on TestComponentType { weatherOffice.send(ReykjavikWeatherRequest); alt { [] weatherOffice.receive(ReykjavikWeatherResponse) { setverdict(pass) } [] weatherOffice.receive { setverdict(fail) } } // End of testcase control { execute(testWeather()) } } // End of module Test component type used to run test case behaviour. Send message specified by template via port. Two expected alternatives: Either expected response (i.e. matched by template) is received (PASS) or any other response is receive (FAIL). Specification of order (and, e.g., conditional execution) of test cases.

Helmut Neukirchen: TTCN-3 10 TTCN-3: Further concepts Not presented in the previous example: Procedure-based communication, Timer and catching timeouts, Distributed testing using parallel test components, Concepts from general-purpose programming languages: Conditional statements (if-then-else, for, while, …), Local variables, Functions, Parametrisation.

Helmut Neukirchen: TTCN Test automation with TTCN-3 TTCN-3 test cases are abstract: weatherOffice.send(ReykjavikWeatherRequest) makes no statement how the actual communication shall be implemented: UDP datagram? SOAP over http? SMS over GSM? …? how the data to be communicated shall be encoded: XML? Proprietary ASCII-based format? Proprietary binary format? …?

Helmut Neukirchen: TTCN-3 12 Test adaptation Automatically executable TTCN-3 test suite = Compiled TTCN-3 test cases + CoDecs (encode data to be sent to SUT / decode data received from SUT) + SUT adapter (communication with SUT) + Platform adapter (operating system specific) Test tool user interface SUT AdapterPlatform Adapter Test Control System Under Test (SUT) [compiled] TTCN-3 Executable CodecsLogging TTCN-3 Test System Note: TTCN-3 execution tools come with default test control, logging, and platform adapter.

Helmut Neukirchen: TTCN-3 13 TTCN-3 & Re-usability Separation of concerns (abstract test case description vs. concrete adaptors): Re-use TTCN-3 test cases for different SUTs: Same, unmodified weather service test case can be used for SOAP/http-based system under test, for SMS/GSM-based system under test, etc. Re-use adaptors for different test cases: A SOAP/http SUT adaptor can be used for testing all kinds of Web services, an SMS/GSM SUT adaptor can be used for testing all kinds of mobile services, etc.

Helmut Neukirchen: TTCN-3 14 TTCN-3 tools Tools for, e.g., editing, compiling, deploying, executing, debugging TTCN-3: Telelogic Tester (IBM/Rational/Telelogic, Sweden), TTworkbench (Testing Technologies, Germany), OpenTTCN Tester for TTCN-3 (OpenTTCN, Finland) TTCN-3 toolbox (Danet, Germany), Exhaustif/TTCN (Métodos y Tecnología, Spain), MessageMagic (ELVIOR, Estonia), TTCN-3 Express (Fraunhofer FIRST/Metarga, Germany). TRex TTCN-3 Refactoring and Metrics tool (University of Göttingen/University of Iceland, Germany/Iceland) Standardised language and test-tool interfaces: No vendor lock-in!

Helmut Neukirchen: TTCN Conclusions TTCN-3 benefits: Standardised test technology supporting automated tests. Well documented, many tools, no vendor lock-in. Compatible with any test methodology and test management approach. Fosters re-use. Mature technology used by industry and standardisation. Nokia, Ericsson, Siemens, Motorola, Huawei, ETSI, WiMax forum, Open Mobile Alliance, Automotive Open System Architecture, … TTCN-3 standard freely available (via ETSI European Standard , ITU-T Recommendation Z.140 TTCN-3 risks: Heavyweight approach (may only pay off for big, distributed systems): Compilers are expensive (>1000€). Another language and technology to learn. While Unit Testing is possible (and done) with TTCN-3, I would in most cases recommend a xUnit framework for Unit Testing.

Helmut Neukirchen: TTCN-3 16 Thank you for your attention! Make sure to use the right tools!