Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007.

Slides:



Advertisements
Similar presentations
TTCN-3 Users Conference
Advertisements

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.
Test Case Management and Results Tracking System October 2008 D E L I V E R I N G Q U A L I T Y (Short Version)
Using TTCN-3 in Interoperability Testing for Real-time Communication Systems Zhiliang Wang, Jianping Wu, Xia Yin, Xingang Shi and Beihang Tian Department.
The Use of TTCN-3 for Software Testing Ina Schieferdecker FOKUS, Berlin
CS487 Software Engineering Omar Aldawud
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.
Alert: Transforming Passive to Active DBMS IBM Almaden Research Centner CS561.
Introduction To System Analysis and Design
Chapter 6 Database Design
Chapter 11 Grid Concurrency Control 11.1 A Grid Database Environment 11.2 An Example 11.3 Grid Concurrency Control (GCC) 11.4 Correctness of GCC 11.5 Features.
Chapter 9 Database Design
Figure 1.1 Interaction between applications and the operating system.
6 Chapter 6 Database Design Hachim Haddouti. 6 2 Hachim Haddouti and Rob & Coronel, Ch6 In this chapter, you will learn: That successful database design.
Chapter 1 The Product Design Process
Pattern Abstract Factory
ETSI Protocol and Testing Competence Centre
Introduction and simple using of Oracle Logistics Information System Yaxian Yao
Manage Engine: Q Engine. What is it?  Tool developed by Manage Engine that allows one to test web applications using a variety of different tests to.
Self Adaptivity in Grid Computing Reporter : Po - Jen Lo Sathish S. Vadhiyar and Jack J. Dongarra.
© 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.
TTCN-3 based Implementation of ETSI TISPAN IMS Benchmark George Din, Diana Vega, Razvan Petre, Andreas Hoffman Fraunhofer Institute for Open Communication.
ITEC 3220M Using and Designing Database Systems
Automatic Software Testing Tool for Computer Networks ADD Presentation Dudi Patimer Adi Shachar Yaniv Cohen
IST 210 Database Design Process IST 210 Todd S. Bacastow January 2005.
1 Chapter 9 Database Design. 2 2 In this chapter, you will learn: That successful database design must reflect the information system of which the database.
Week 4 Lecture Part 3 of 3 Database Design Samuel ConnSamuel Conn, Faculty Suggestions for using the Lecture Slides.
TDDD05 EJB Lab (Part of slides reused from Mikhail’s) Lu Li
Introduction to MDA (Model Driven Architecture) CYT.
Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research.
PROBABILITY AND STATISTICS FOR ENGINEERING Hossein Sameti Department of Computer Engineering Sharif University of Technology Two Functions of Two Random.
Informix IDS Administration with the New Server Studio 4.0 By Lester Knutsen My experience with the beta of Server Studio and the new Informix database.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
1. Validating Wireless Protocol Conformance Test Cases Amresh Nandan Paresh Jain June 2004.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
ICDL 2004 Improving Federated Service for Non-cooperating Digital Libraries R. Shi, K. Maly, M. Zubair Department of Computer Science Old Dominion University.
Version 5. ¿What is PAF? PAF is a tool to easily and quickly implement… …distributed analysis over ROOT trees. …by hiding as much as possible the inherent.
Geoffrey Duval (ISAE-SUPAERO) Naples, October 1 st, 2012.
Final Presentation Avilés-Angélica, Blanco-Alberto, Fuentes-Alba, Pell-Xavier, Schenini-Juan, Talukder-Nurul.
INTERVAL IST Institute for Telematics University of Lübeck Real-time extensions to MSC-2000 and TTCN-3 Helmut Neukirchen.
Tester #2 sleeping Model  Main Test Component: one MTC to create X PTCs. Parameter X is run-time configurable (in configuration file).  X PTC: ready.
Software Design Chapter 11. Purposes of Design Design transforms the specification into a design. The end purpose of the design is to produce detail and.
Finding concurrency Jakub Yaghob. Finding concurrency design space Starting point for design of a parallel solution Analysis The patterns will help identify.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Functions  A Function is a self contained block of one or more statements or a sub program which is designed for a particular task is called functions.
Transformation System report Luisa Arrabito 1, Federico Stagni 2 1) LUPM CNRS/IN2P3, France 2) CERN 5 th DIRAC User Workshop 27 th – 29 th May 2015, Ferrara.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Designing a Middleware Server for Abstract Database Connection.
TTCN-3 Testing and Test Control Notation Version 3.
IST 210 Database Design Process IST 210, Section 1 Todd S. Bacastow January 2004.
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.
Testing and Asterisk SCF  Testing is an integral part of the development methodology and the process  Builds and running of tests are part of an automated.
Now every configuration is possible
Self Healing and Dynamic Construction Framework:
Allow tool-specific code in TTCN-3 as well in conformance test suite
Online Control Program: a summary of recent discussions
Extension Package: Behaviour Types
Chapter 6 Database Design
Component Based Software Engineering
ETSI TC MTS TDL SC meeting Reports
Typical Workflow - today
CS 8532: Advanced Software Engineering
ETSI TC MTS TDL SC meeting Reports
Develop a Reliability Test in TTCN-3
Proposal for a New Work Item: TTCN-3 Control Interfaces
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Unified functional/load test architecture and methodology using TTCN-3 TELEFÓNICA I+D Date: June 1st, 2007

TELEFÓNICA I+D 2 01 Current Telefónica I+D testing scenario - Functional/load tests 02 Telefónica I+D architecture - Tests and subtests - Load test execution - Load test configuration 03 Telefónica I+D methodology - SIP load test example 04 Suggested improvements to TTCN-3 specifications Index

TELEFÓNICA I+D 3 Current Telefónica I+D testing scenary Functional / load tests (I) In Telefónica I+D certification processes, two main test phases can be distinguished: — Functional test: – Conformance – Checking system requirements — Load test: – Performance – Stress – Robustness 01

TELEFÓNICA I+D 4 New Telefónica I+D testing solution Functional / load tests (II) A great effort is spent to develop multiple functional tests Telefónica I+D load test Methodology and Architecture A methodology and load test execution is defined to adapt functional test into load tests Functional tests are reused to build new load tests Functional Tests Load Test

TELEFÓNICA I+D 5 Telefónica I+D testing architecture Tests and subtests (I) 02 TID architecture for load tests is based on the concept of subtest: A subtest is the minimum unit of test execution, to which a verdict can be assigned. A test (in particular, a load test) may be composed by several subtests. It is possible to build complex tests from existing simpler tests, retaining verdict information for them. Subtests (Load) Test setSubtestVerdict() Test verdict Subtest verdict

TELEFÓNICA I+D 6 Telefónica I+D testing architecture Tests and subtests (II) A good performace for load testing needs the execution of several test behaviours on the same PTC, using a PTC pool. Current TTCN-3 specification do not allow running more than one testcase simultaneously and asociates partial verdicts to components. Subtests keep verdicts related to their respective behaviours. 02 MTC testcase (final) verdict subtest 1 / verdict 1 subtest 3 / verdict 3 subtest 2 / verdict 2 subtest 4 / verdict PTC 1PTC 2 PTC pool

TELEFÓNICA I+D 7 Telefónica I+D testing architecture Load test execution (I) Scheduler: — Defines the instants to execute subtests, from a statistic load distribution (load definition) — Controls test duration — Gets subtest parameters from database — In Telefónica I+D architecture Scheduler is part of the TM (Test Manager), but it could be included in ATS 02 Scheduler Execution control (MTC) Test DB PTC pool Load definition PTC 0. config 1. getSubTest 2. sendSubTest 3. getPTC 4. executeSubTest µ, σ, T

TELEFÓNICA I+D 8 Telefónica I+D testing architecture Load test execution (II) Execution control (MTC): — Executes subtests in PTCs and controls their state — Manages a PTC pool to optimize performance 02 Scheduler Execution control (MTC) Test DB PTC pool Load definition PTC 0. config 1. getSubTest 2. sendSubTest 3. getPTC 4. executeSubTest µ, σ, T

TELEFÓNICA I+D 9 Telefónica I+D testing architecture Load test execution (III) T max t=f(μ, σ)

TELEFÓNICA I+D 10 Telefónica I+D testing architecture Load test configuration (I) A load test is configured by: — Test specification: – Using a test database: – It contains the parameters wich define the subtests, i.e. it says what is going to be tested. – It allows merging easily different types of subtests, so it is possible to model more realistic scenarios. – A database also can be used in functional tests as a way to define sets of related tests. — Load statistic modeling: – Subtest execution rate (mean, variance, etc). – Several probability density functions are possible, which can be easily configured. 02

TELEFÓNICA I+D 11 Telefónica I+D testing architecture Load tests configuration (II) Advantages: — Reuse of functional tests — Quick and simple load test configuration — More realistic tests — Increase in the number of scenarios which can be tested — Statistical modeling independent from test specification 02

TELEFÓNICA I+D 12 Telefónica I+D testing methodology A methodology for building load tests from functional tests is defined: — Specifies which conditions must be fulfilled by functional testcases and some transformation rules: – For example, testcases must be parameterized because several subtests will be executed concurrently with diferent parameters. – TTCN-3 behaviours could not use the order ‘kill’ to prevent the premature finalization of the PTC. – The external function ‘setSubtestVerdict’ must be used instead of ‘setverdict’, to allow keeping verdict information for subtests. – Etc. — Defines templates to build TTCN-3 modules. — Includes common modules (TTCN-3 code and adaptation libraries) to support load tests: – PTCs pools – Interaction with parameters databases – Subtest verdicts management 03

TELEFÓNICA I+D 13 Telefónica I+D testing methodology SIP load test example (I) Load SIP test built from functional SIP tests 03 SUT SIP IMS UE n UE 1 UE 2 UE

TELEFÓNICA I+D 14 Telefónica I+D testing methodology SIP load test example (II) Load SIP test built from functional SIP tests — From functional testcases: – Register – Subscription – SIP call stablishment — Steps: 1. Make changes on original ATS: — Import load test support modules. — Modify component definitions (in wich subtests are going to be executed) to make them manageable by a PTC pool. — Substitute ‘setverdict()’ by ‘setSubtestVerdict()’ in subtests behaviours. 2. Write load execution control module code and the main testcase. 3. Configure load test: parameters database and density probability function. 03

TELEFÓNICA I+D 15 Telefónica I+D testing methodology SIP load test example (III) /** Simplified SIP load testcase, using a PTC pool. * Load execution control code. */ testcase loadTest(charstring px_ets_ipaddr, integer px_ets_port, charstring px_iut_ipaddr, integer px_iut_port, charstring registrar_host) runs on SipComponent system SipInterfaces { trz(INFO, “Starting MTC for load tests"); var integer subtest_counter := 0; // PTC pool initialization var Pool ptcPool := {self}; while (not isLoadTestStoped()) { // Gets next subtest var LoadTestParams params := popSubtest(); var SipComponent ptc; // Look for a free PTC from pool ptc := getPTCFromPool(ptcPool); // Executes testcase subtest_counter := subtest_counter + 1; trz(INFO, “Starting subtest " & int2str(subtest_counter)); ptc.start(step_test_register_param(params[1].charstring, params[2].integer, params[3].charstring, params[4].integer, params[5].charstring, params[6].integer)); } setverdict(pass); } 03

TELEFÓNICA I+D 16 Telefónica I+D testing methodology SIP load test example (IV) /* Modified functional test (SIP register). */ function step_test_register_param (charstring px_ets_ipaddr, integer px_ets_port, charstring px_iut_ipaddr, integer px_iut_port, charstring registrar_host, integer subtest_index) runs on SipComponent { // Initilialize map (self: SIPP, system: UDP1);... // Send register... // Timestamp for statistic generation timestampLoad("RegisterStart", subtestIndex); SIPP.send (REGISTER_Request_s_1(v_RequestUri, v_CallId, v_CSeq, v_Contact, v_From, v_To, v_Via)); // Wait for response TAck.start (PX_TACK); alt { [] SIPP.receive (My_Response_REGISTER_200(v_CallId, v_CSeq)) { TAck.stop; setSubtestVerdict(pass, subtestIndex); } [] TAck.timeout {setSubtestVerdict(fail, subtestIndex); } } // Timestamp for statistic generation timestampLoad("RegisterEnd", subtestIndex);... unmap (self: SIPP, system: UDP1); } 03

TELEFÓNICA I+D 17 Telefónica I+D testing methodology SIP load test example (V) 03 px_ets_ipaddrpx_ets_portpx_iut_ipaddrpx_iut_portregistrar_hostP_PTC_1_REQUEST_LINE_E P_PTC_1_STATUS_LIN E_R * { method:=REGISTER_E, requestUri:={ scheme:="sip", hostPort:={ host:="ptt4.trial.net" } }, sipVersion:="SIP/2.0“ } { sipVersion:="SIP/2.0", statusCode:=200, reasonPhrase:="OK"} * * * * Test parameter database example

TELEFÓNICA I+D 18 Possible improvements to TTCN-3 specifications To add the concepts of subtests and subtest verdicts Support for parameter databases: — It may be implemented within TM (Test Management system). — However, allowing database from ATSs could improve power and flexibility of ATSs. Improvements in PTC management: — PTC pools Improvements in log management: — Log filtering at TE (TTCN-3 Executable) for better performance — Several detail levels Support for statistic generation: — Timestamp mechanism correlated to subtests 04