Test-controlled Development
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Contact: [email protected] 1 2 PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on
  • Presentation posted in: General

Test-controlled Development of Communication Services Ralf Tönjes 1 , Marten Fischer 1 , Patrick Wacht 2. Contact: [email protected] 1 2. University of Applied Science Osnabrück, Germany. University of Applied Science Frankfurt, Germany. TTCN-3 User Conference 2011

Download Presentation

Contact: [email protected] 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Contact r toenjes hs osnabrueck de 1 2

Test-controlled Developmentof Communication Services

Ralf Tönjes1, Marten Fischer1, Patrick Wacht2

Contact:

[email protected]

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


Agenda

Agenda

  • Motivation

  • Architecture

  • Service Description

  • Service Behaviour Model

  • Test Code Generation

  • Test Execution


Motivation

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


How can test automation be realised

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


Contact r toenjes hs osnabrueck de 1 2

Architecture

Step 4

Step 2

Step 3

Step 1


Step1 formal recording of service description

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)


Contact r toenjes hs osnabrueck de 1 2

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


Contact r toenjes hs osnabrueck de 1 2

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


Composition of fsm finite state machine

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


The fsm connector transaction user tu

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


Contact r toenjes hs osnabrueck de 1 2

Connectivity Concept: Composition of SUT/Test Environment Description


Contact r toenjes hs osnabrueck de 1 2

Connectivity Concept:

Mapping to TTCN-3


Test data editor

Test Data Editor

  • create and edit message templates

  • message structure reflected in tree view

  • specific for one port and its protocol

    Example


Contact r toenjes hs osnabrueck de 1 2

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


Test case generation fsm pathfinder

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


Contact r toenjes hs osnabrueck de 1 2

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(); }

  • }

  • }


Contact r toenjes hs osnabrueck de 1 2

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)


Contact r toenjes hs osnabrueck de 1 2

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


Test case generation ttcn 3 code generator

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)


Step 4 test execution

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


Conclusion

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


References

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.


  • Login