Online & remote interoperability testing for IoT · 2018-10-22 · { F-Interop project is...

Preview:

Citation preview

Online & remote interoperability testing for IoT

Presented by Federico SISMONDI and César VIHO

© All rights reserved 1

Agenda

• Why the F-Interop project?

• Online remote interoperability testing requirements

• F-Interop platform architecture and components

• Current status of F-Interop platform

• Remote interoperability testing in practice with F-Interop

• F-Interop achievements and next steps

© All rights reserved

User Conference on

Advanced Automated Testing 2

F-Interop: the context, the needs from SDOs and SMEs

© All rights reserved 3

Interoperability testing

“The purpose of interoperability testing is to prove that end-to-end functionality between (at least) two communicating systems is as required by the standard(s) on which those systems are based.”

https://portal.etsi.org/Services/CentreforTestingInteroperability/ETSIApproach/InteroperabilityTesting.aspx

© All rights reserved

User Conference on

Advanced Automated Testing 4

© All rights reserved

User Conference on

Advanced Automated Testing

Goals of these events:

• Make better standards

• Reduced time-to-market

• Increase adoption

product development

standardization

Face-to-Face interop events

Example: ETSI plugtests

• 6TiSCH: Jul’15, Feb’16, Jul’16

• oneM2M: Sep’15, May’16, Nov’16

• CoAP: Mar’12, Nov’12, Nov’13, Mar’14

Similar requirements

from all SDOs: …

State of the Art: Face-to-Face Events

5

6

© All rights reserved

User Conference on

Advanced Automated Testing

product development

standardization

Face-to-Face events

Few and far apart • Once or twice a year

Short • 2-5 days typical

Face-to-face • Cost of traveling

In practice, attended by large companies working on standardization

Online/remote events F-Interop

com

ple

me

nta

ry

Online Remote

Inclusive of SMEs, more standards-based products on the market, faster

7

© All rights reserved

User Conference on

Advanced Automated Testing

IoT standards and technologies evolve fast

8

© All rights reserved

User Conference on

Advanced Automated Testing

Leveraging from European testbeds

• Fed4FIRE

(www.fed4fire.eu/testbeds)

• 24 testbeds

• ~1000 nodes

• OneLab

(onelab.eu)

• Includes 6 IoT-lab deployments

(including 2728 IoT nodes)

• IoT lab

(www.iotlab.eu)

32 testbeds, 4755 nodes

9

F-Interop: remote interop testing requirements

© All rights reserved 10

F-Interop actors and components

F-Interop-Platform

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools Testing

Tools F-Interop-Contributor

F-Interop-User

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools Test

Descriptions

Testing Tools Testing

Tools Testing

Tools

Testing Tools Test

Implementations

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools IUTs

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools Testbeds Testing Tools Testing

Tools Testing

Tools

Testing Tools IoT devices

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools …

Testing

Tools Testing

Tools Testing

Tools

Testing

Tools … Testing Tools Testing

Tools Testing

Tools

Testing Tools …

11

Gathering requirements

Internet

IUT 2 -

CoAP

client

F-Interop User 1

IUT 1 -

CoAP

server

F-Interop User 2

b) Remote interop over the internet.

ETSI

Plugtests

tests

specification

Testing tools

used

during

plugtests

Interoperability

tests

best practices

documents

12

Final F-Interop Platform Requirements

FI-User and FI-Contributor needs for CoAP/OneM2M tests FI-User and FI-Contributor

needs for 6TiSCH remote tests

Priority

F-Interop

Platform

Requirement

ORDERING, CONSISTENCY CHECK

References to

FI-UN and FI-

CN

Scope

CoAP/OneM2M interop/conformance testing

online

conformance

test PoC

CoAP plugtests tests

specification

remote interop

test PoC

CoAP testing tools used

for plugtests

6TiSCH interop/conformance testing

6TiSCHplugtests tests

specification

6TiSCHtesting tools used for plugtests.

F-Interop User/Contributor needs by test types

1st

stage

2nd

stage

3rd

stage

4th

stage

Passive Analyzer

Active Protocol

Emulator

Performance & Scalability testing

Energy efficiency testing

Consumption

Estimator

COLLECTING

FI-User and FI-Contributor needs

for perf & scalability testing

FI-User and FI-

Contributor needs

for energy

efficiency testing

Description

Network

emulation

IUT

GUI

Test

System

IUT : Implementation Under Test

IUT

GUI

IUT : Implementation Under Test

IUT GUI

Interop

Test

System

F-Interop Platform Requirements

DERIVING

Methodology for deriving F-Interop-Platform requirements

13

For complete list see https://www.f-interop.eu/index.php/documents/public-deliverables

Platform requirements

14

F-Interop: Location Models and Architecture

© All rights reserved 15

© All rights reserved

User Conference on

Advanced Automated Testing

IUT

GUI

Automated

IUT

Interoperability

Test System

3

IUT

GUI

IUT

GUI

Interoperability

Test System

Remote user-to-user Both IUT and users in

same location

Control plane Data plane

Remote single-user testing

against

automated IUT

(hosted by F-Interop)

Unspecified interface

Location models

IUT

GUI

IUT

GUI

Interoperability

Test System

16

© All rights reserved

User Conference on

Advanced Automated Testing

Platform architecture overview

core API

F-

Inte

rop

ce

ntr

al

serv

er

Agent

IUT 1

Session

Orchestrator

Resource

Repository

Graphical

User

Interface

Result

Repository

User’s component

Protocol specific component

F-Interop core component

Test

Suite

Use

r 1

en

vir

on

me

nt

Use

r 2

en

vir

on

me

nt

Event Bus (RabbitMQ Broker)

Test

Suite Testing

Tool

Testing

tool API

Agent

IUT 2

Testing

tool API

core API core API core API

17

© All rights reserved

User Conference on

Advanced Automated Testing

Testing Tool architecture overview

GUI

Agent

IUT 2

IP tun

User B

Remote location

PC

GUI

Agent

IUT 1

IP tun

User A

Remote location

PC

User’s component

Testing Tool specific

F-Interop core Testing Tool

Traces

Dissector Packet

Router

& Sniffer

Traces

Analyser

Test

Coordinator

Control plane

Data plane

Not-specified

interface

GUI adaptor

.pcap

DB

18

A F-Interop session

© All rights reserved 19

© All rights reserved

User Conference on

Advanced Automated Testing

F-Interop session: Only 8 steps to get your IoT device tested

step 0 User registration, authentication and authorization & IUT registration / identification

step1 Test suites discovery and selection

step2 Session resources description

step3 Resource reservation

step4 Resource provisioning, configuration and session setup

step5 Test execution

step6 Results analysis and reporting

step7 Results and session configuration storage

20

The F-Interop platform go.f-interop.eu – go! check it out!

21

The F-Interop session – step 0 User registration, authentication and authorization

22

The F-Interop session – step 1

Test suites discovery and selection

23

The F-Interop session – step 2

Test Suite Setup

24

The F-Interop session – step 3 and step4 Resource reservation and resource provisioning

25

F-Interop session - Step 5 Test execution (1/3)

26

F-Interop session - Step 5 Test execution (2/3)

27

F-Interop session - Step 5 Test execution (3/3)

28

F-Interop session - Step 6 Analysis of traces, verdicts and reporting (1/2)

29

F-Interop session - Step 6 Analysis of traces, verdicts and reporting (2/2)

30

F-Interop session - Step 7 Session results and configuration storage

31

F-Interop: interoperability testing in practice

© All rights reserved 32

CoAP protocol use case • What’s CoAP?

• IETF standard for the IoT, with a web approach

• client-server communications

• ~ HTTP for IoT but enabling asynchronous transactions

• Testing CoAP interoperability, what do we need?

• Two implementations, a client and a server

• Test specification

• Test Setup

• Demo using F-Interop (video)

© All rights reserved

User Conference on

Advanced Automated Testing 33

© All rights reserved

User Conference on

Advanced Automated Testing

Sources:

https://tools.ietf.org/html/rfc7252#page-104

https://tools.ietf.org/html/rfc7641#page-24

CoAP defines request-response exchange pattern Also enables SUSBCRIPTION to states

34

Remote location

F-Interop platform

F-Interop Server

Remote location

CoAP remote interop test. What do we need?

User’s component

Testing Tool specific

F-Interop core

Control plane

Data plane

Not-specified

interface

IUT 2

User B

PC

IUT 1

User A

PC

Remote location

F-Interop platform

F-Interop Server

Remote location

CoAP remote interop test. Tunneling Packet sniffing

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Packet

Router

& Sniffer Control plane

Data plane

Not-specified

interface

Agent

IUT 2

IP tun

User B

PC

Agent

IUT 1

IP tun

User A

PC

Remote location

F-Interop platform

F-Interop Server

Remote location

CoAP remote interop test. Tunneling Packet sniffing Network traces logging

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Packet

Router

& Sniffer Control plane

Data plane

Not-specified

interface

Agent

IUT 2

IP tun

User B

PC

Agent

IUT 1

IP tun

User A

PC

.pcap

DB

Remote location

F-Interop platform

F-Interop Server

Remote location

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Test

Coordinator

Control plane

Data plane

Not-specified

interface

.pcap

DB

GUI

Agent

IUT 2

IP tun

User B

PC

GUI

Agent

IUT 1

IP tun

User A

PC

GUI adaptor

Packet

Router

& Sniffer

CoAP remote interop test. Tunneling Packet sniffing Network traces logging Test coordination

Remote location

F-Interop platform

F-Interop Server

Remote location

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Traces

Dissector Packet

Router

& Sniffer

Test

Coordinator

Control plane

Data plane

Not-specified

interface

GUI adaptor

.pcap

DB

GUI

Agent

IUT 2

IP tun

User B

PC

GUI

Agent

IUT 1

IP tun

User A

PC

CoAP remote interop test. Tunneling Packet sniffing Network traces logging Test coordination Network traces dissection

Remote location

F-Interop platform

F-Interop Server

Remote location

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Traces

Dissector Packet

Router

& Sniffer

Test

Coordinator

Control plane

Data plane

Not-specified

interface

GUI adaptor

.pcap

DB

GUI

Agent

IUT 2

IP tun

User B

PC

GUI

Agent

IUT 1

IP tun

User A

PC

CoAP remote interop test. Tunneling Packet sniffing Network traces logging Test coordination Network traces dissection Network traces analysis

Traces

Analyser

Remote location

F-Interop platform

F-Interop Server

Remote location

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Traces

Dissector Packet

Router

& Sniffer

Test

Coordinator

Control plane

Data plane

Not-specified

interface

GUI adaptor

.pcap

DB

GUI

Agent

IUT 2

IP tun

User B

PC

GUI

Agent

IUT 1

IP tun

User A

PC

How do we add new tests?

Traces

Analyser

Test case

description

(YAML format)

Test case

description

(YAML format)

Test case

script for .pcap

analysis

(python API)

Test case

description

(YAML format)

Test case

description

(YAML format)

Test case

description

(YAML format)

Under the Hood: What’s a test? 1. Test description in human and machine language

STIMULI either executed manually by USER

Or by a automated IUT

CHECK executed automatically by Analyzer on the exchanged traces

(automatically issue verdicts!)

VERIFY executed manually by user! (User sends verify response using GUI)

42

Under the Hood: What’s a test? 2. Test analysis scripts for CHECK for conformance and interoperability errors

43

Demo: Single-user interop session use case

44

( 10 mins approx.) 45

F-Interop: current status

© All rights reserved 46

© All rights reserved

User Conference on

Advanced Automated Testing

F-Interop-Platform

CoAP interop

testing tool

F-Interop-Contributor

F-Interop-User

6TiSCH

conformance

testing tool

LoRaWAN

conformance

testing tool

OMA

Lightweight

M2M interop

testing tool

oneM2M

interop

testing tool

6LoWPAN

interop

testing tool

CoMI interop

testing tool

Privacy

testing tool

CoAP server

performance

testing tool

Semantic data

validator

testing tool

WoT interop

testing tool

OSCORE

conformance

testing tool

Developed by F-Interop

Developed by F-Interop contributor

47

© All rights reserved

User Conference on

Advanced Automated Testing

F-Interop’s face-to-face and remote interoperability test events: - 14-15 July 2017: ETSI #1 F-Interop 6TiSCH Interoperability Event, Prague (CZ), Inria-UR1 - 26-27 June 2018: ETSI #2 F-Interop 6TiSCH Interoperability Event, Paris : Inria –UR1 - October 2018: F-Interop CoAP Interoperability Event, Full remote, To be organized by Kereval & Inria-UR1

48

F-Interop: Achievements and next steps

© All rights reserved 49

Achievements and next step

• F-Interop project is officially ending in November 2018

• F-Interop platform answers to the predefined needs • Platform enables full remote & online interop test execution • Tests IoT implementations from companies’ premises • Feedbacks to standardization process • Shortens time-to-market for IoT implementations

• Future of the F-Interop platform • Remote online ETSI’s plugtests events? • labelling/certification for IoT protocols? • Continuous interoperability testing! Already in the pipes!

© All rights reserved

User Conference on

Advanced Automated Testing 50

Continuous interoperability testing

• Not a just idea, we have running code!!

• Check out https://fedmon.fed4fire.eu/ -> F-Interop IoT tests

© All rights reserved

User Conference on

Advanced Automated Testing 51

Continuous interoperability testing

© All rights reserved

User Conference on

Advanced Automated Testing 52

Continuous interoperability testing

© All rights reserved

User Conference on

Advanced Automated Testing 53

Thank you

Contacts: federico.sismondi@irisa.fr ; cesar.viho@irisa.fr

54

F-Interop’s interoperability testing tools

• “The purpose of interoperability testing is to prove that end-to-end functionality between (at least) two communicating systems is as required by the standard(s) on which those systems are based.” (ETSI)

• testing tools create an environment which will help the user(s) executing online and remote standard-based interoperability tests

• communication “tunneling” between IUTs (a VPN-like setup)

• controlled environment

• bypass UDP-blocking firewalls and other middle boxes

• coordinating the interop test

• dispatches commands to users (through GUI) based on test descriptions

• e.g. 'user1: CoAP Client is requested to send a GET request with...'

• sniffing the traffic

• generate PCAP files records

• Users can download PCAP files at the end of test session.

• dissecting the messages

• include wireshark-like view of the exchanges between implementations

• help users find problems in the messages exchanged by the implementations

• analyzing the traffic exchanged

• automatically issue PASS/FAIL/INCONCLUSIVE verdicts based on the test description

55

© All rights reserved

User Conference on

Advanced Automated Testing

Testing Tool architecture overview:

GUI

Agent

IUT 2

IP tun

User B

Remote location

PC

GUI

Agent

IUT 1

IP tun

User A

Remote location

PC

User’s component

Testing Tool specific

F-Interop core

Testing Tool

Traces

Dissector Packet

Router

& Sniffer

Traces

Analyser

Test

Coordinator

Control plane

Data plane

Not-specified

interface

GUI adaptor

.pcap

DB

57

DEMAND: Survey Results – Remote vs. Face-2-face

Do you think your organization will participate more

in testing services when provided remotely?

Recommended