1 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ 07.6.2005 /S. Schulz and S. Müller Test Implementation using TTCN-3 Libraries TTCN-3 User Conference,

Slides:



Advertisements
Similar presentations
TTCN-3 & Conformance Testing Anitha Krishnamoorthy.
Advertisements

© 2007 Eaton Corporation. All rights reserved. LabVIEW State Machine Architectures Presented By Scott Sirrine Eaton Corporation.
Designing Reusable Frameworks for Test Automation
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
1 A Firm Step of 3GPP for UE Conformance & Interoperability Shicheng Hu ETSI PTCC 22 May 2003.
Comparing TTCN-3 and TTCN-2 TTCN-3 User Conference May 3 rd -May 5 th,2004 Sophia Antipolis.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Quality Label and Certification Processes Vienna Summit 11 April 2014 Karima Bourquard Director of Interoperability IHE-Europe.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Coding Standard: General Rules 1.Always be consistent with existing code. 2.Adopt naming conventions consistent with selected framework. 3.Use the same.
The Web Warrior Guide to Web Design Technologies
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
A conformance test suite for TTCN-3 tools Benjamin Zeiss, T-Systems Andras Kovacs, Broadbit Bogdan Stanca-Kaposta, Testing Technologies.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Software Reuse Building software from reusable components Objectives
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
10th TTCN-3 User Conference, 7-9 June 2011, Bled, Slovenia AUTOSAR Conformance Tests - Feedback on their development and utilization Alain Feudjio-Vouffo,
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
ETSI Protocol and Testing Competence Centre
Database Design for DNN Developers Sebastian Leupold.
Chapter 2 The process Process, Methods, and Tools
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
© 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.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
An Introduction to Software Architecture
CSE 303 – Software Design and Architecture
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
1. Validating Wireless Protocol Conformance Test Cases Amresh Nandan Paresh Jain June 2004.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Exploring an Open Source Automation Framework Implementation.
TTCN Protocol Testing on Steroids! IEEE P WPAN Meeting March 6-10, 2000 Albuquerque, NM USA 802 Plenary Meeting Matthew Graney Telelogic North America.
June 15, 2009GITB Open Meeting, Brussels1 GITB Alternative Architectures and Business Models CEN/ISSS eBIF Global eBusiness Interoperability Test Bed Methodologies.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
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.
Frameworks CompSci 230 S Software Construction.
Covenant College November 27, Laura Broussard, Ph.D. Professor COS 131: Computing for Engineers Chapter 5: Functions.
EGEE is a project funded by the European Union under contract IST Tools survey status, first experiences with the prototype Diana Bosio EGEE.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Briefing and Planning meeting on INSPIRE validator implementation – Discussion 16/12/2015.
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.
Mr H Kandjimi 2016/01/03Mr Kandjimi1 Week 3 –Modularity in C++
Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007.
ERM/MTS STF proposal on formal Phy measurement framework Friedbert Berens Vice Chair ERM TGUWB Presentation to ERM, July 2010.
STF 454 “DESIGN OF TDL” Proposed TDL features © ETSI All rights reserved.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Fundamentals of Programming I Overview of Programming
ETSI Test Specifications for IP-Based Protocols TTCN-3 User Conference May , Sophia Antipolis Anthony Wiles.
Simulation and load testing with TTCN-3 Mobile Node Emulator
TTCN Case Study - InterWatch
MTS/RAN5 IMS/IPv6 Workshop October 11th 2005 IPv6 Test Specifications Anthony Wiles, ETSI PTCC Leader of MTS STF276.
Automated Interoperability Testing
Testing Wireless over Wire with TTCN-3
Automated Interoperability Testing
ETSI related TTCN-3 activities and issues
SCOPE of the Technical Committee
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Component-based Software Engineering
TDL: The ETSI Test Description Language
TDL: The ETSI Test Description Language
Typical Workflow - today
How to make better standards
TDL: The ETSI Test Description Language
40TD11 STF276 – Status (including TPLan and T3Doc)
Server Management and Automation Windows Server 2012 R2
Presentation transcript:

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, 7 th of June 2005 Stephan Schulz Validation & Testing Technologies Computing Architectures Lab Nokia Research Center Helsinki Sebastian Müller FSCOM Sophia Antipolis France

2 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Presentation Outline About the ETSI IPv6 Library Motivation TTCN-3 Libraries Library-based Test Suite Implementation An Example TTCN-3 Library: ETSI Common Conclusions

3 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller About IPv6 Library Implemented at ETSI by STF 276 Conformance and interoperability test specs for IPv6 Joint e-Europe/ETSI project Promote deployment of IPv6 technology within Europe Establish European player in IPv6 testing Developed to support IPv6 Logo program by IPv6 Forum Provide faster access to IPv6 market Test implementations are publicly ( open+free ) available Insure high deployment Make tests transparent

4 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Motivation Common problem in TTCN coding is the “copy & paste” mentality of test engineers  Lots of duplicated code + large code size = hard to maintain Another problem: “The reinvention of the wheel“ We desire a test suite implementation which allows as much reuse of TTCN-3 code within as well as between different test suites as possible  Much of the code developed for the IPv6 Logo certification should be reusable also in a IPv6 test suite for, e.g., 3GPP! A test suite should also be useful for additional test case development by other, external parties

5 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller The Idea Create a test suite using TTCN-3 libraries which can then be reused to compose also other related test suites  So just use TTCN-3 like a regular programming language! Ability to reuse depends on making important TTCN-3 code structuring decisions early on in test suite development  Strong need for a sound methodology!

6 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Benefits of TTCN-3 libraries Less test suite specific TTCN-3 code Less room for errors in test implementations Use of validated TTCN-3 code segments “More readable” test implementations Less time needed for test case implementation and validation Avoids the “reinvention of the wheel”  Summary: Higher quality test suite implementations!

7 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Keys to Reusable TTCN-3 Code Follow the TTCN-3 Framework Methodology for Test Suite Implementation Modularization Rules on how to implement TTCN-3 behavior Naming conventions Specify well defined interfaces Use component type compatibilitytype compatibility Document TTCN-3 code Standard practice in any programming language Free documentation tools are available

8 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Libraries in TTCN-3 A TTCN-3 library consists of modules separating behavior(s) types and constants templates Example: Libraries in the IPv6 test suite Common IPv6 independent code (e.g, Synchronization) Common IPv6 code (e.g., Echo Procedure) Common IPv6 test suite code (e.g., Ipv6 Host Preamble ) But then (not reusable): Specific IPv6 test suite code (e.g., IPv6 Core Test Cases)

9 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Basic Structuring of IPv6 Test Cases Decompose test case behavior based on well established methodology Configuration (CF) function for test configuration set up Preamble (PR) function get IUT into testing state Test body (TP) function perform test as specified by test purpose Postamble (PO) function return IUT to its initial state  All of the above implemented by invoking test suite, IPv6, or common library functions! Implement test case or test case (TC) functions by simply invoking PR, TP, PO functions

10 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller testcase (PR) function (TP) function (PO) function (MTC) (TC) function (PR) function (TP) function (PO) function (PR) function (TP) function (PO) function (TC) function (PTC1)(PTCn) testcase (MTC) create/start preamble sync TP sync TC functions in Single and Multiple Interfaces Specify test case (TC) functions for each test component Use MTC in concurrent test cases only to spawn and synchronize PTCs No Test case (TC) functions needed

11 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Rules for reusable TTCN-3 Behavior Function should not contain any stop statement since it prevents the execution of postambles! Test suite independent functions should avoid to use the setverdict operation Instead use the return value of a function ! Verdict setting harms reuse, e.g., testing of valid versus invalid behavior A module which defines reusable behavior should contain a test component type definition tailored its needs

12 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller About TTCN-3 Code Documentation Without proper documentation reuse is questionable Documentation of library code is well established standard practice in other programming languages (e.g., man pages) It should be possible to use a TTCN-3 library or modules without ever reading source files Any TTCN-3 code should be documented regardless of its reusability! Guidelines part of framework document A free documentation tool t3doc is available: Follows ideas of similar tools for C and Java, e.g., doxygen Generates HTML pages from TTCN-3 code comments WWW tool download:

13 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller A Library Example: ETSI Common Three modules with common type and value definitions Common basic, data string and text string constant and type definitions, e.g., c_CRLF, UInt, etc. Module for verdict control handling Definition of function return code and verdict setting functions Module for timing related functions, e.g., f_sleep Modules which implement a generic test component synchronization as well as sync examples Our classic “reinvention of the wheel”

14 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller The Synchronization Library Module Implements an easy-to-use synchronization handling for both single as well as multi component test cases Key concepts Named synchronization points TTCN-3 default used for handling shutdown Uses extensively TTCN-3 log statement Results in more readable execution traces! Current main user API: f_selfSync(syncPointName, retCode) f_serverSyncClients(#, syncPointName) f_serverSyncClientsTimed(#, syncPointName, time) f_serverWaitForAllClientsToStop() f_clientSync(syncPointName, retCode) [a_dummyShutDown()] // shutdown example

15 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Example of Nice Multi-Component Sync f_tc1_ptc2() (PTC2) f_tc1_ptc1() (PTC1) f_PR_tc1_ptc1() f_TP_tc1_ptc1() f_PO_tc1_ptc1() tc1() (MTC) create/start PTC1 and PTC2 f_serverSyncClients(2,“prDone”) f_serverSyncClients(2,“tpDone”) f_serverWaitForAllClientsToStop() f_clientSync(“prDone”, e_success); f_clientSync(“tpDone”, e_success); f_PR_tc1_ptc2() f_TP_tc1_ptc2() f_PO_tc1_ptc2() f_clientSync(“prDone”, e_success); f_clientSync(“tpDone”, e_success); Ready! Ready. Ready! Ready.

16 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Example of Sync Problem Handling f_tc1_ptc2() (PTC2) f_tc1_ptc1() (PTC1) f_PR_tc1_ptc1() tc1() (MTC) create/start PTC1 and PTC2 f_serverSyncClients(2,“prDone”) f_clientSync(“prDone”, e_error); f_PR_tc1_ptc2() f_clientSync(“prDone”, e_success); STOP! Ready! STOP! f_wait4AllClientsToShutDown() a_shutDown_if1() (calls stop!) a_shutDown_if2() (calls stop!)

17 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Example of Self Synchronization Note that shutdown defaults are neither test case nor component but only interface specific (e.g, IPv6, SIP, etc.) Therefore the same default can be used to shutdown any test component (which uses that interface) in any test case. tc2() f_PR_tc2() f_TP_tc2() (MTC) f_selfSync(“prDone”, e_success); f_selfSync(“tpDone”, e_error); STOP! a_shutDown_if1() (calls stop!)

18 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller Conclusions This really works in practice The ETSI common TTCN-3 library has already been successfully deployed within STF 276 as well as a number of different protocol test suites within Nokia First versions of the generic IPv6 and IPv6 Core libraries have been successfully used in the execution of the ETSI IPv6 test suite prototype against a Linux Ipv6 SUT At the end the real key to implementing truly reusable TTCN-3 code are TTCN-3 framework Well-defined interfaces TTCN-3 code documentation

19 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller References More info about this STF and documents Test suite and executable download ETSI DTS/MTS-IPT-0001, “Methods for Testing and Specification (MTS); Internet Protocol Testing (IPT); IPv6 Testing: Methodology and Framework”, Sophia-Antipolis, S. Moseley et al., “IPv6 Test Specifications from ETSI”, Global Ipv6 Summit, Barcelona, (to appear), June, 2005.

20 © NOKIA Test Implementation using TTCN-3 Libraries.ppt/ /S. Schulz and S. Müller About Component Type Compatibility type component Ipv6Comp { IpPort pt_ip; SyncPort pt_sync; timer t_sync; } type component SyncComp { SyncPort pt_sync; timer t_sync; } function f_clientSync(…) runs on SyncComp { // some code } function f_PR_EchoProcUp(…) runs on Ipv6Comp { var FncRetCode v_ret; v_ret := f_echoProc(); f_clientSync(“prDone”, v_ret); } Key to create self contained libraries is the runs on clause with TTCN-3 functions An IPv6 preamble may invoke, e.g., a synchronization function, if its component type definition is compatible