Top Banner
30.07.2017 1 Ina Schieferdecker, Sascha Kretzschmann, Michael Wagner, Axel Rennoch QRS, Praha, Czech Republic, July 27, 2017 © Vadim Makhorov IOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT
22

IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

Apr 03, 2018

Download

Documents

nguyennga
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: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

1

Ina Schieferdecker, Sascha Kretzschmann, Michael Wagner, Axel Rennoch

QRS, Praha, Czech Republic, July 27, 2017

© V

ad

im M

akh

oro

v

IOT-TESTWARE – AN ECLIPSE PROJECT

2

THE ECLIPSE PROJECT

Page 2: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

2

3© Fraunhofer FOKUS

THE CONTEXT

4© Fraunhofer FOKUS

1. Introduction

2. IoT test language

3. TTCN-3 in use

4. FOKUS contribution to IoT testing

5. Outlook

OUTLINE

Page 3: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

3

Where are we?

INTRODUCTION

6© Fraunhofer FOKUS

TRENDS IN IOT

Page 4: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

4

7© Fraunhofer FOKUS

REFERENCE MODEL (ONE OF MANY)

8

INTEGRATION OF SEVERAL TESTING APPROACHES

© Fraunhofer FOKUS

IoTTesting

Software Testing

System Testing

Security Testing

Test Automation

Protocol Testing

Page 5: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

5

9

IoT solutions often are …

1. in harsh, unreliable environments

2. in highly dynamic configurations with large number of – typically diverse –sensors and actuators with open interfaces and

3. In resource-constrainedenvironments

FURTHER ASPECTS

IoT test solutions need to …

− Integrate simulators for environmental conditions

− Systematically determine referenceconfigurations

− Adjust and scale test configurationsdynamically

− Be a real-time system by itself

− Support test scenarios for hybrid systems(both events and streams)

© Fraunhofer FOKUS

What do we use?

IOT TEST LANGUAGE

Page 6: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

6

11

− TTCN-3 is the Testing and Test Control Notation

− Internationally standardized testing language for formally defining test

scenarios. Designed purely for testing

CHALLENGE TEST AUTOMATION

testcase Hello_Bob () {

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

alt {

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

{setverdict( pass )};

[else]

{setverdict( inconc )} //Bob asleep!

}}

12© Fraunhofer FOKUS

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

TTCN-2

TTCN-2++

1997

1984

1994

1992

TTCN

Page 7: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

7

13© Fraunhofer FOKUS

TTCN-3 HISTORY (CONT.)

− TTCN-3 (2000)

− further development by ETSI MTS

− Testing and Test Control Notation

− standardised test specifications:

− SIP, SCTP, M3UA, IPv6− HiperLan, HiperAccess, WiMAX− 3GPP LTE, − OMA− TETRA− MOST, AUTOSAR− EUROCONTROL− oneM2M

2000

1998

2017

14

− One test technology for different tests

− Distributed, platform-independent testing

− Integrated graphical test development, documentation and analysis

− Adaptable, open test environment

− Areas of Testing

− Regression testing

− Conformance and functional testing

− Interoperability and integration testing

− Real-time, performance, load and stress testing

− Security testing

− Used for system and product qualification and certification, e.g. for

GCF/PTCRB certification of handsets

DESIGN PRINCIPLES OF TTCN-3

Page 8: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

8

15

TTCN-3 Test Case

TTCN-3 IS DESIGNED FOR DYNAMIC TESTING

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

System Under Test

Port

• Assignment of a

Test Verdict

16

MAJOR LANGUAGE ELEMENTS OF TTCN-3 NOTATION

module definitions

Data Types User defined data types (messages, PDUs, information elements, …)

Test Data Test data transmitted/expected during test execution (templates, values)

Test Configuration Definition of the test components and communication ports

Test Behavior Specification of the dynamic test behavior

Imports Importing definitions from other modules defined in TTCN-3 or other languages

Page 9: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

9

17

A TTCN-3 TEST SYSTEM

TE – TTCN-3 Executable

TM – Test Management

TL – Test Logging

CD – Codec

CH – Component Handling

SA – System Adapter

PA – Platform Adapter

SUT – System Under TestETSI ES 201 873-1 TTCN-3 Core Language (CL)

ETSI ES 201 873-5 TTCN-3 Runtime Interface (TRI)

ETSI ES 201 873-6 TTCN-3 Control Interfaces (TCI)

TM: Management TL: Logging

TE

CD

: C

odec

CH

:C

om

po

ne

nt

Handlin

g

SA: System Adapter PA: Platform AdapterTRI

TCI

Test System User

System Under Test (SUT)

18

IMPLEMENTATION

Test Specification

TE

SystemsUnderTest

+TTCN-3

TestEngine

Test System

SystemsUnderTest

SystemsUnderTest

SystemsUnderTest

Communication /

Invocation

TCI Adaptors

TRI Adaptors

Automated Test Executionand Reporting

Page 10: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

10

19

TTCN-3 TECHNOLOGY 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

parameteri-

zation

Behaviour

types

Static

configuration

Documentation

t3doc

Real-time

support

Continuous

signal

support

Advanced

TRI

Advanced

Matching

How do we use it?

TTCN-3 IN USE

Page 11: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

11

21© Fraunhofer FOKUS

ELEVATOR DEMO CONFIGURATION

Tester

PLC

Elevator

Cloud

Broker

(SUT)

Gateway

MQTT MQTT

Dashboard

Tester

TTCN-3

22© Fraunhofer FOKUS

ELEVATOR DEMO CONFIGURATION (CONT.)

Page 12: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

12

23© Fraunhofer FOKUS

ELEVATOR DEMO CONFIGURATION (CONT.)

24

© Fraunhofer FOKUS

MODEL-BASED FUZZING

Challenge: Finding 0-day vulnerabilities in a highly automated, efficient manner

Solution: Model-based Fuzzing

− Aims at fault input validation

− Stressing the SUT with semi-valid inputs

specified

functionality

negative input space,

target of random fuzzing

target ofmodel-based fuzzing

see also:Takanen, Ari; DeMott, Jared D.; Miller, Charles: Fuzzing for Software Security Testing and Quality Assurance, 2008 ; ISBN 978-1-59693-214-2

Page 13: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

13

25

© Fraunhofer FOKUS

MODEL-BASED FUZZING

26

© Fraunhofer FOKUS

FUZZING TOOL

− Supports generation and mutation based fuzzing

− Platform-independent: is implemented in Java

− Language-independent: provides an XML-based interface

− Automated: automatically selects appropriate fuzzing heuristics

− Efficient & scalable: the user can decide which fuzzing heuristics shall be used

− Amount of fuzz test data specifiable: avoids generating billions of values

https://github.com/fraunhoferfokus/Fuzzino

Page 14: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

14

27

© Fraunhofer FOKUS

EXECUTED TEST PROCESS

1. Provide the devices

2. Identify the used technologies

3. Develop the tests

4. Build the test setup

5. Build multiple test setups

6. Run the tests long-term

7. Deduct conclusions

8. Narrow down tests specific to the device

9. Re-run the tests

28© Fraunhofer FOKUS

EXECUTION (VIDEO)

Page 15: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

15

29

© Fraunhofer FOKUS

EXECUTION

Invalid latitude

What else?

FOKUS CONTRIBUTION TO IOT TESTING

Page 16: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

16

31© Fraunhofer FOKUS

• Focussing on open source tools (Eclipse)

• Creating test suites for IoT protocols (MQTT, CoAP, …)

• Providing several end devices

• Supporting different test configurations

• “Come in and test“

TESTLAB (TESTING AND CERTIFICATION)

• Future certification

• “Light weight“ selection of criteria

• “Self certification“ if tests are successful

32© Fraunhofer FOKUS

• Approved by Eclipse Foundation :

https://projects.eclipse.org/proposals/eclipse-iot-testware

• Creation of TTCN-3 test suites for CoAP and MQTT

• Project partners: relayr GmbH, Ericsson, LAAS/CNRS, itemis AG, Spirent

Communications, Easy Global Market

• Current schedule

• 2017Q2: creation of a catalogue for test objectives (test purposes)

• 2017Q3: initial publication of implemented TTCN-3 tests

ECLIPSE IOT TESTWARE

Page 17: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

17

33© Fraunhofer FOKUS

TEST CONFIGURATIONS

CoAP MQTT

34© Fraunhofer FOKUS

THE TEST EXECUTION TOOL

Page 18: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

18

35© Fraunhofer FOKUS

36© Fraunhofer FOKUS

IOT-T PROJECT

Customers:

Requirements and

Applications

Testing and

Certification Pilots

Tests Resultsand Certificates

IoT Testware

All project partners

Methods and Tools

New Requirements

http://www.iot-t.de/en/

Page 19: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

19

What are further ideas?

OUTLOOK

38© Fraunhofer FOKUS

OUTLOOK

• Two advanced IoT testing approaches:

• Virtualized testing (with TTCN-3)

• TTCN-3 virtualized

• Both could provide advantages for IoT testing:

• flexibility with test configurations

• create test suites faster

• run tests even “on“ constrained devices

• …

Page 20: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

20

39© Fraunhofer FOKUS

TTCN-3 VIRTUALIZED

virtualized

• Easy solution to write your test cases “online“

• Deploy your test suite (Java, C++ or as service)

• Run the executables

+ Hide complexity � everyone can write tests

+ Test implementation is straight forward

- Tests may not running on highly constrained devices

- Still difficult to configure other parts of the test system

40© Fraunhofer FOKUS

VIRTUALIZED TESTING

<<service>>

Adapter or delegator layer

TTCN-3 compiler

MQTT test suite

CoAP test suite

CoAPEndpoint

MQTT Broker

<<call>> <<stimulate>>

Monitor

DB

Security tools

Page 21: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

21

41© Fraunhofer FOKUS

PROS AND CONS OF VIRTUALIZED TESTING

+ Hide complexity � “come in and test“

+ Extensible � add new testing tools, test suites, …

+ Handle different dynamic configurations

+ Simplify testing against highly constrained devices

- Are we sure that we can test “everything“ ?

- Complex technical and architectural challenges

42© Fraunhofer FOKUS

VIRTUALIZED TESTING WITH NODE-RED?

Virtualized test component created in NODE-RED

Page 22: IOT-TESTWARE – AN ECLIPSE PROJECT - UT Dallasparis.utdallas.edu/qrs17/docs/Keynote-Ina-Schieferdecker-slides.pdfIOT-TESTWARE – AN ECLIPSE PROJECT 2 THE ECLIPSE PROJECT. 30.07.2017

30.07.2017

22

43

Thank you for your attention!

www.fokus.fraunhofer.de(System Quality Center)

44

Fraunhofer FOKUS

Kaiserin-Augusta-Allee 31

10589 Berlin, Germany

www.fokus.fraunhofer.de

Ina Schieferdecker, Michael Wagner, Axel Rennoch & Sascha Kretzschmann

{ina.schieferdecker, michael.wagner, axel.rennoch,

sascha.kretzschmann}@fokus.fraunhofer.de

Phone +49 30 3463-7201

CONTACTS