Top Banner
Presented by: For: © ETSI 2020 TTCN-3 General Concepts and Applications Axel Rennoch, Jens Grabowski, György Réthy, Kristóf Szabados, Tomas Urban, Jacob Wieland, Philip Makedonski TTCN-3 Webinar 06.10.2020
33

TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

Jan 02, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

Presented by: For:

© ETSI 2020

TTCN-3 General Concepts and Applications

Axel Rennoch, Jens Grabowski, György Réthy, Kristóf Szabados, Tomas Urban, Jacob Wieland, Philip Makedonski

TTCN-3 Webinar

06.10.2020

Page 2: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 2

Agenda

• Introduction

• Language concepts, standards and tools

• Application domains

• Summary and outlook

Page 3: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

Introduction

Page 4: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 4

Why Using TTCN-3

TCL

Speed to Market

HighIntegration

HighReliability

LawChanges

Optimal Cost

Complexity

WLANLTE/5G

IP

MISMATCH

Re

qu

ire

me

nts

Te

st M

eth

od

s

Java

C

Page 5: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 5

Why Using TTCN-3

Speed to Market

HighIntegration

HighReliability

LawChanges

Optimal Cost

Complexity

WLANLTE/5G

IP

JavaTCL

C

Page 6: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 6

Why Using TTCN-3

Speed to Market

HighIntegration

HighReliability

LawChanges

Optimal Cost

Complexity

WLANLTE/5G

IP

TTCN-3

MATCH

Re

qu

ire

me

nts

Te

st M

eth

od

s

High Quality

Page 7: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

The International Test language

Page 8: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 8

Challenge Test Automation

• TTCN-3 is the Testing and Test Control Notation

• Internationally standardized testing language for formally defining test scenarios.

• Designed purely for testing

Page 9: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 9

How do

you do?

Testing of communication scenarios

Fine!

testcase Hello_Bob () {

p.send(“How do you do?“);

alt {

[]p.receive(“Fine!“);

{setverdict( pass )};

[else]

{setverdict( inconc )} //Bob asleep!

}}

Page 10: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 10

Testing and Test Control Notation (TTCN-3)

• Distributed testing

• Automatic execution (TTCN-3 -> Java/C++) and logging

• Import and use of external data types(ASN.1, IDL, XML, JSON)

testcase Hello_Bob () {p.send(“How do you do?“);alt {

[]p.receive(“Fine!“);{setverdict( pass )};

[else]{setverdict( inconc )} //Bob asleep!

}}

SUT

System

Tester

TTCN-3

API / Network

API / Communication

Page 11: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 11

Design Principles of TTCN-3

• One test technology for different testsDistributed, platform-independent testing

Integrated graphical test development, documentation and analysis

Adaptable, open test environment

• Areas of TestingConformance and functional testing

Interoperability and integration testing

Real-time, performance, load and stress testing

Security testing

Regression testing

• Used for system and product qualification and certification

Page 12: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 12

TTCN-3 History

TTCN (1992)

• published as ISO standard

• Tree and Tabular Combined Notation

• used for protocol tests:GSM, N-ISDN, B-ISDN

TTCN-2/2++ (1997)

• enhancements by ETSI MTS

• module concept, concurrency

• used for conformance tests

Page 13: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 13

TTCN-3 History (Cont.)

TTCN-3 (2000)

• Further development by ETSI MTS

• Testing and Test Control Notation

• Standardized test specifications:

SIP, SCTP, M3UA, IPv6

HiperLan, HiperAccess, WiMAX

3GPP UMTS, LTE, NB-IoT, 5G

OMA

TETRA

MOST, AUTOSAR, ITS

EUROCONTROL

oneM2M

2020

Page 14: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

Language concepts

Page 15: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 15

TTCN-3 Test Case

TTCN-3 is designed for Dynamic Testing

Port.send(Stimulus) Port.receive(Response)

System Under Test

Port

•Assignment of aTest Verdict

Page 16: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 16

Major language elements of TTCN-3 notation

module definitions

Data TypesUser defined data types (messages, PDUs,

information elements, …)

Test DataTest data transmitted/expected during test

execution (templates, values)

Test ConfigurationDefinition of the test components and

communication ports

Test BehaviorSpecification of the dynamic test behavior

ImportsImporting definitions from other modules defined in

TTCN-3 or other languages

Page 17: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 17

Major language elements of TTCN-3 notation

module definitions

Data Types

Test Data

Test Configuration

Test BehaviorSpecification of the dynamic test behavior

Imports

Test data transmitted/expected during test

execution (templates, values)

Page 18: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 18

Major language elements of TTCN-3 notation

module definitions

Data Types

Test Data

Test Configuration

Test Behavior

Imports

Test data transmitted/expected during test execution

• single values (constants or variables)• templates (including wildcards like: ?, * )

Page 19: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 19

Major language elements of TTCN-3 notation

module definitions

Data Types

Test Data

Test Configuration

Test Behavior

Imports

Specification of the dynamic test behavior• message: send/receive• procedure: call/getcall, reply/getreply, raise/catch• if-then-else, alternatives, functions• loops: for, while, do-while • control: component/port/timer

Page 20: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

Standards and Tools

Page 21: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 21

TTCN-3 Standards Overview

C C++TRI/TCI

mappingJava XML C#

IDL XSDLanguage

mappingsASN.1 JSON

TTCN-3 Structuring:

Imports, Groups, AttributesCore

languageTTCN-3 Behaviour TTCN-3 Data

Extensions

Advanced

parameterization

Behaviour

types

Static

configuration

Documentation

t3doc

Real-time

support

Continuous

signal support

Advanced

TRI

Advanced

Matching

Object-oriented

features

Page 22: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 22

A TTCN-3 Test System

ETSI ES 201 873-1TTCN-3 Core Language

ETSI ES 201 873-5

TTCN-3 Runtime Interface (TRI)

ETSI ES 201 873-6

TTCN-3 Control Interfaces (TCI)

Test Management Test Logging

TTCN-3Executable C

od

ec

Co

mp

on

en

tH

and

ling

System Adapter Platform Adapter

TRI

TCI

Test System User

System Under Test (SUT)

Page 23: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 23

Implementation

Test Specification

TE

SystemsUnderTest

+TTCN-3

Executable

Test System

SystemsUnderTest

SystemsUnderTest

SystemsUnderTest

Communication /Invocation

TCI Adaptors

TRI Adaptors

Automated Test Execution and Reporting

Page 24: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 24

TTCN-3 tools (source: www.ttcn-3.org)

TTCN-3 Compilers and Interpreters

TTCN-3 Generators and Support

Page 25: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

ApplicationDomains

Page 26: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 26

TTCN-3 for multiple purposes

• Test technology addresses various protocols and interfaces

• Control of real and/or virtual devices(special hardware-interfaces, simulators)

Test cases:loudness, playCDTitle

MOST Bus (SUT)

Head Unit

Tester

Speaker

Amplifier/ Tuner

CD Changer

(SUT)

(SUT)PLC (SUT)

Elevator

Gateway (SUT)

MQTT

Tester

TTCN-3

Earlier days Today

Test cases: remote control

Tester

TTCN-3

Page 27: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 27

• Develop an efficient test platform fulfilling industrial testing requirements

• Execute high-level test models, e.g. TDL and UTP

Medicine

IoT

Railway, Avionics, …

MobileCommunication

Automotive

TTCN-3 Test Implementation

An efficient test platformMethods, Tools, Guidelines

Test Results

TDL / UTP

System/Test Model

Approach

TTCN-3 in industry

TDL: Test Description Language

UTP: UML Testing Profile

Industrial Testing Requirements

Page 28: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 28

TTCN-3 domain: Medicine

• SiemensMED (image processing)

• HL7 eHealth protocols (interoperability)

Upcoming E-Health infrastructure for Germany

• High security requirements (e.g. certificates, cryptography)

• Multiple heterogenous interfaces:

− Card Terminals & simulations,

− Webservices, OCSP server etc.

Page 29: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 29

TTCN-3 domain: Internet of Things (IoT)

ETS

Reporting

Logging

TSS: Test Suite Structure

TP: Test Purposes

ATS: Abstract Test Suite

ETS: Executable TS

TSS TP ATSIoT-Testware:

✓ MQTT

✓ CoAP

Page 30: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020

Summary and outlook

Page 31: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 31

Good Reasons for standardized test languages

• They significantly increases your system quality.

• You can focus on what to test, not on how.

• They reduce costs and efforts in test system maintenance.

• They are independent of access technology, operating system and implementation domain.

• They support communication between system development and test department.

• You can count on available and certified experts

Page 32: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 32

TTCN-3 Sources

Online Information→ www.ttcn-3.org

TTCN-3 Conference/Webinar→ ETSI, UCAAT, STV, …

TTCN-3 Standards, Papers, Book → https://www.ttcn.de/en/

Quick Reference→ http://www.blukaktus.com/

Exercises and Tooling→ Research licenses

Page 33: TTCN-3 General Concepts and Applications · 2020. 10. 6. · TTCN-3 Structuring: Imports, Groups, Attributes Core language TTCN-3 Behaviour TTCN-3 Data Extensions Advanced parameterization

© ETSI 2020 33

Q&A

For further information please visit www.ttcn-3.organd/or contact ETSI TC MTS via www.etsi.org/MTS

Next:

9th October 2020, 10 AM