1 / 22

Contact: r.toenjes@hs-osnabrueck.de 1 2

Test-controlled Development of Communication Services Ralf Tönjes 1 , Marten Fischer 1 , Patrick Wacht 2. Contact: r.toenjes@hs-osnabrueck.de 1 2. University of Applied Science Osnabrück, Germany. University of Applied Science Frankfurt, Germany. TTCN-3 User Conference 2011

aya
Download Presentation

Contact: r.toenjes@hs-osnabrueck.de 1 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Test-controlled Developmentof Communication Services Ralf Tönjes1, Marten Fischer1, Patrick Wacht2 Contact: r.toenjes@hs-osnabrueck.de 1 2 University of Applied Science Osnabrück, Germany University of Applied ScienceFrankfurt, Germany TTCN-3 User Conference 2011 7 – 9 June 2011 - Bled, Slovenia

  2. Agenda • Motivation • Architecture • Service Description • Service Behaviour Model • Test Code Generation • Test Execution

  3. Motivation • Testing of communication services is becoming increasingly important • growing complexity of logic • short time to market desired • manual testing is time and cost consuming test automation required • current service creation environments (SCE) do not support test automation Error

  4. How can Test Automation be Realised? • Model-Based Testing • Model describes how a system should behave in response to an action (behaviour model) • Supply the action and see if the system responds as expected is a partial description of Model System are derived from can be run against Abstract tests Executable tests are abstract versions of

  5. Architecture Step 4 Step 2 Step 3 Step 1

  6. Step1: Formal Recording of Service Description 5 Stages Procedure • Adopted from telecom software development process OTES (Objects Through Essential Services) • Short textual description of use cases • Identification of roles of communication participants(e.g. browser, SIP-phone, Database) • Requirement specification (including pre- and post-conditions, i.e. states, andtarget action, i.e. messages sequence, for users) • Enhanced requirements specification(including technical details, such as value ranges, names of databases, tables and fields) • Identification of the communication interfaces(5-tuple of source and destination IP-address, port and protocol)

  7. Example: Click-to-Instant-Message (Click2IM)

  8. TTCN-3 requirements: message flow description  derived from FSM (test cases) test environment/SUT description  using connectivity concept (ports, component, Test Adapter, …) test data (type definitions, templates) Behaviour Model Editor with 3 specialised perspectives Step2: Creation of Service Behaviour Model Editors FSM Editor Connectivity Editor Test Data Editor

  9. Composition of FSM (Finite State Machine) • sFSM (sub Finite State Machine) • Reusable templates, which represent predefined message flows from standards • internal transitions are fixed, external transitions used to realise composition • usually protocol specific (e.g., SIP, TCP, HTTP) • Composition of sFSM with Transaction User sFSM-M2 sFSM-M1

  10. The FSM Connector: Transaction User (TU) • interfaces of the sub finite state machines have the TU as sender or receiver • acts as mediator between possible client and server roles • does not contain information about the service implementation

  11. Connectivity Concept: Composition of SUT/Test Environment Description

  12. Connectivity Concept: Mapping to TTCN-3

  13. Test Data Editor • create and edit message templates • message structure reflected in tree view • specific for one port and its protocol Example

  14. ConnectivityEditor (TTCN-3 ports, timer, …) Abstract Test Case Generator Behaviour Model Editors TTCN-3 Test DataEditor Step 3: Abstract Test Case Generation FSM Editor FSM & Connectivity Parser FSM Path- finder TTCN-3 Code Generator Behaviour Model Analyser

  15. Test Case Generation: FSM Pathfinder Path • set of states and transitions between start- and end-state of FSM Pathfinder • finds all possible paths in FSM between start and end state • FSM considered as deterministic • branching = new test case • employs depth-first-search

  16. Test Case Generation: FSM Parser Each path converted into test case by FSM Parser • state converted into a TTCN-3 function body • content of function specified by outgoing transition • FSM written from the service’s point of view  message based actions must be inverted s1 s2 p1.msg/p1.msg2 • function s1_1() runs on c1 { • p1.send(msg); • alt { • p1.receive(msg2) -> …. { s2_1(); } • } • }

  17. Test Case Generation: Connectivity Parser • generates component using parameter from Connectivity Editor ComponentDefinition Name ofComponent Parameter Ports Type of Port Name of Port own block in editor; connectedwithcomp. Timer Primitive Variables automatically generated for each message template Message Variables + system component (only ports and static name)

  18. Test Case Generation: Connectivity Parser • generates port using parameter from Connectivity Editor • generates configuration file for Test Adapter (parameter provided in Ports) Test Adapter configurationfile Name of Port Protocol (TCP/UDP) Remote IP / Port Role (Server/Client) Local IP / Port Parameter/Port Port Definition Parameter Name Type reference in model send/receivable Message Types

  19. Test Case Generation: TTCN-3 Code Generator • Writes the acquired / generated data as TTCN-3 code using Velocity* • * Java basedTemplate Engine (http://velocity.apache.org)

  20. Step 4: Test Execution • TTCN-3 code will be executed after the code generation has been completed by the Test Case Generator • Execution realised within a Test Environment (e.g. TTWorkbench) • Test results are stored in a database to measure the development progress • Iterative delta testing: only new or modified test cases executed • Test Framework for synchronisation of test developer and service developer

  21. Conclusion • Novelty: New approach eases the generation of test cases by • composing predefined finite state machines (FSM) for protocol sequences to a behaviour model (BM) of a service. • From the BM a TTCN-3 test suite is automatically derived. • The new concept of Transaction User (TU) enables testing of value added services • Benefits: Integration of Service Creation and Testing • Development of functional tests in parallel to service development  ensuring automated TTCN-3 based testing of services • Testing is integrated in a service creation environment allowing for regression tests • Re-Use by Others: General Applicability • test generation can be used for any SCE • generic configurable test adapter based on Java for TTCN-3 (e.g. for TCP, UDP ,…) • universal codec for generation of test patterns has been implemented

  22. References • P. Wacht et al.: A New Approach to Design Graphically Functional Tests for Communication Services, IEEE NTMS, Paris, 7-10 February 2011. • P. Wacht et. al.: ComGeneration: die Dienstebeschreibung als Basis für automatisiertes Testen, VDE/ITG Fachtagung Mobilkommunikation, Osnabrück, 18-19 May 2011. • A. Lehmann et al.: “TeamCom: A Service Creation Platform for Next Generation Networks”, IEEE ICIW 2009, Venice/Mestre, Italy, 24-28 May 2009.

More Related