Model based conformance testing of communication protocols in common programming language Nikolay Pakulin Senior Researcher, ISP RAS, Moscow

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

HL7 V2 Implementation Guide Authoring Tool Proposal
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.
© SMARTESTING 2011 – This document is the property of Smartesting. It may not be reproduced in whole or in part Cliquez pour modifier le style du titre.
Welcome to. Who am I? A better way to code Design Patterns ???  What are design patterns?  How many are there?  How do I use them?  When do I use.
Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
Using TTCN-3 in Interoperability Testing for Real-time Communication Systems Zhiliang Wang, Jianping Wu, Xia Yin, Xingang Shi and Beihang Tian Department.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
How Can Simple Model Test Complex System Model Based Testing of Large-Scale Software Victor Kuliamin ISP RAS, Moscow.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Department of CIS University of Pennsylvania 1/31/2001 Specification-based Protocol Testing Hyoung Seok Hong Oleg Sokolsky CSE 642.
Programming Languages Structure
1 CmpE 195A Project Character Animation Tool (The C.A.T. Project) By: Huáscar A. Sánchez, Dr. Mohamed E. Fayad.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Xactium xDSLs Run Models Not Code Tony Clark
TEST SUITE DEVELOPMENT FOR CONFORMANCE TESTING OF PROTOCOLS Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD Institute for System Programming.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Texas A&M University Department of Computer Science Sameh S. Sharkawi
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
Web Services An introduction for eWiSACWIS May 2008.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Automated Generation of Test Suites from Formal Specifications Alexander K.Petrenko Institute for System Programming of Russian Academy of Sciences (ISP.
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.
Object-Oriented Analysis and Design An Introduction.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
A language to describe software texture in abstract design models and implementation.
©2002 B&R Software Technology - Automation Studio.
Applying Model Based Testing in Different Contexts Alexander Petrenko Victor Kuliamin ISP RAS, Moscow.
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.
Copyright SOLINET GmbH SDL & Requirements of Signalling Systems William H. Skelton SOLINET, Stuttgart.
Automatic Testing of Neighbor Discovery Protocol Based on FSM and TTCN Zhiliang Wang, Xia Yin, Haibin Wang, Jianping Wu Department of Computer Science.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Chapter 6.  Internet and characteristics of Internet.  Various Internet protocols  Static IP addressing and Dynamic IP addressing Prepared by Saher.
Separating Test Execution from Test Analysis StarEast 2011 Jacques Durand (Fujitsu America, Inc.) 1.
TTCN-3 Testing and Test Control Notation Version 3.
Apache Avro CMSC 491 Hadoop-Based Distributed Computing Spring 2016 Adam Shook.
CSC 222: Object-Oriented Programming
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Methodological Issues in Model-Based Testing (MBT)
SIMPL-T: SDL Intended for Management and Planning of Tests By
TDL: The ETSI Test Description Language
TDL: The ETSI Test Description Language
Overview of the ETSI Test Description Language
Overview of the ETSI Test Description Language
TDL: The ETSI Test Description Language
Introduction to TDL and TOP
Presentation transcript:

Model based conformance testing of communication protocols in common programming language Nikolay Pakulin Senior Researcher, ISP RAS, Moscow

Conformance testing of Telecom Protocols Protocol: a set of data representations, message formats, message exchange and processing rules ensuring information exchange between computing systems –Internet (Ethernet, IP, TCP, UDP, HTTP, …) –Telephony (GSM, UMTC, WiMAX, …) –Control (Modbus, Profibus, …), Avionics (AFDX, …), Automotive (CAN, IAS, …) –… Information Technologies and Management, Almaty

Conformance testing of Telecom Protocols Conformance testing: complex of active studies of protocol implementations to evaluate the degree of compliance with protocol specifications –Hypothesis of well-designed protocols: any conformant implementations under normal conditions always communicate. No deadlocks, livelocks, format ambiguities, etc Information Technologies and Management, Almaty

Industrial Methodology Test Suite is comprised of separate test cases Test purposes informally define situations to be tested. A test purpose corresponds to one or more test cases Implementation is considered conformant when all tests pass – all test purposes are ‘covered’ Test Suite Tests TP Information Technologies and Management, Almaty

Industrial Approach to Conformance Testing Manual test cases –Little level of code reuse, lots of duplicated code ISO 9646, TTCN –Further development: TTCN2, TTCN3, UML Testing Profile –TAHI (Perl + C++), ETSI (TTCN3 + Java) Verdicts are not based on a formal protocol specification Test coverage is informal Automation is not intended Thousands of test cases for real- life protocols Test SystemSUT input alt reaction1 pass reaction2 inconc fail Test case preambule postambule Information Technologies and Management, Almaty

Model-Based Testing Formal Specification (Model) Protocol Specification Test Suite Requirements modeling Test Construction Information Technologies and Management, Almaty

Model-Based Testing Tests are constructed from a model of the protocol in automated fashion Models capture requirements from the protocol specification –Machine readable, unambiguous –= Formal Specification Test construction is –Nearly exhaustive –With well-defined coverage –Trackable to the initial specification through model –Less amount of manual code compared to manual test case development Testing effort and quality –up to 5 times less than manual test case development –Better test coverage Information Technologies and Management, Almaty

Practitioners’ Requirements to MBT Models –Comprehensible, easy to read –Straightforward, easy to write Test generation –Modular: produce tests for separate features –Comprehensive: easy to read –Reproducible: tests for same SUT should behave in the same way –Trackable: detailed logs for post-mortem analysis Ease of use –Accessible tools –Reasonable labor cost Information Technologies and Management, Almaty

Approaches to MBT Using special-purpose languages for models (SDL, LOTOS, VDM …) –Not easy to read, not easy to write, expensive and rare tools Using graphical notations (UML + constraints) –Difficult to develop complete models for real-life protocols –Limited tool support Using programming languages –Java Markup Language –NModel – pure C# –SpecSharp – extension of C# Integrated with MS Visual Studio! Information Technologies and Management, Almaty

Approaches to MBT Fully automated test construction –Solvers require linear constraints, no maps, sets, lists, etc. –State explosion problem: small (impractical) protocols only Or tricky manual adjustments Model exploration –Long test sequences –Random walk – irreproducible results On-the-fly test generation –No need for solvers –Test sequence implementation dependent Information Technologies and Management, Almaty

PyTESK: MBT in Python PyTESK is a Python library –Behavior modeling: contracts, EFSM, message sequencing –Model composition: processes, channels, message exchange –Test construction: traversal of a state machine on-the-fly Why Python –Clean language with simple grammar, well documented –Powerful extension mechanism, rich library –Widespread: tools, books, tutorials Alternatives: –Perl (write-only language), –Ruby (poorly documented, less tools) –Java, C# - complex languages Information Technologies and Management, Almaty

PyTESK Models # State machine @On(Ack, number = def last_block_confirmed(self, msg): self.timer.reset() # File transmission finished # Inform upper layer self.application_channel.put(ServerFinished()) Information Technologies and Management, Almaty

PyTESK Models Contract specification: obligations between caller and > - Args.sum < -Self.limit).Then(Result == - Args.sum >= -Self.limit).Then(Result == - Result == = Self.balance) def withdraw(self, sum): … Information Technologies and Management, Almaty

Test Construction Test sequence is constructed on the fly –As traversal of a state machine Manual definition of test state and test actions FSM Traversal Test State Machine Test State Test Actions Iterator Apply Test Action Information Technologies and Management, Almaty

Test Specification = ( 1, 2, 3, Self.account.limit, Arguments.sum > 0, Self.account.balance def deposit(self, sum): … Information Technologies and Management, Almaty

Discussion PRO –Easy to use language for behavior models and test generator –Compact test definition –Integrated into Eclipse (editor, debugger) CONS –Dynamic language – model checking? –Dynamic language – offline test generation? –Extra effort for model and test development –How to debug models and tests? PENDING –Reporting, test results analysis Information Technologies and Management, Almaty

Conclusion Model-based testing for thorough testing –Conformance testing –Certification Reduce costs of such testing Lightweight formal methods Information Technologies and Management, Almaty