SlideShare a Scribd company logo
1 of 43
Download to read offline
Axel Rennoch, Alexander Kaiser, Sascha Hackel
Software Quality Days 2019
16. January 2019, Vienna, Austria
FUNCTIONAL AND NON-FUNCTIONAL TESTING WITH
IOT-TESTWARE
2
• IoT Testing
− Challenges and scope
− IoT test language: TTCN-3
• Project IoT-T
− Eclipse IoT-Testware
− Standardization & Certification
• Summary and outlook
AGENDA
3
• Mirai botnet, October 2016:
− botnet using insecure configured IoT-devices (~100.000)
− attack causes blackout and disruption
(e.g. Amazon, Netflix, Twitter, Github)
• Wannacry, May 2017
− ransomeware affecting the whole world (e.g. hospitals in the U.K.)
• KRACK: Key Reinstallation Attack, October 2017
− Replay attack on Wi-Fi Protected Access protocol
• Spectre and Meltdown, January 2018
− Spectre: vulnerability that allows observable side effects from mispredicted
speculative executions
− Meltdown: hardware vulnerability that allows to read all memory
MOTIVATION FOR QUALITY
4
TRENDS IN IOT
5
IOT ARCHITECTURE
The Three Software Stacks Required for IoT Architectures, Eclipse IoT Working Group, September 2016
telemetry
commands
telemetry
commands
6
 Connectivity
options
 Throughput
 Latency
 Power efficiency
 Packet size
 Wide portfolio of competences required
 Devices (sensors, HW, embedded SW)
 Platforms (Cloud, platform domain knowledge)
 Applications (SW, dashboard, business logic)
TECHNICAL SCOPE
 IoT platforms
 360+ worldwide
 IoT protocols
 Rich selection
 IP-based
 non-IP based
Cellular
netw.
Cellular: 4G, NB-IoT, Cat-M1,EC-GSM…[5G];
non-cellular: Wifi, LoRa, Sigfox ,Zigbee, BLE, … connectivity
MQTT MQTT-SN CoAPAMQP3OPC
UA
XMPPHTTP1 Web
Socket21|2|3
applicationIoT application logic
TCP UDP
SMS
DTLSDTLS
IPv4/IPv6(6loWPAN)
transport
TLS/SSL
IoT services layer services…
7
• IoT devices,
 Mikrocontroller (MCU),
 Gateways (Bosch XDK, IoT starterkits)
• IoT platforms
 RIOT, relayr, Thread, mbed…
 service layer (oneM2M, FiWare)
• IoT protocols
 Constrained Application Protocol (CoAP)
 MQ Telemetry Transport (MQTT)
IoT challenges: complexity, asynchronism, resource constraints, long operation phase
STARTING: TEST OBJECTS
LPWAN
LoRa
oneM2M
8
After the acceptance and system tests there will be
a long operation phase => new test phase „operation“
LONG OPERATION LIFETIME
9
INTEGRATION OF SEVERAL TESTING APPROACHES
IoT
Testing
Software
Testing
System
Testing
Security
Testing
Test
Automation
Protocol
Testing
10
• Less resources needed (time and money)
• Avoid human mistakes due to manually testing
• During test development and execution
• Speed-up of regression tests and product time-to-market
TEST AUTOMATION
11
MULTIPLE TEST CONFIGURATION (SAMPLES)
12
• Toolset (selection of available means)
Protocol tester/monitor (Eclipse Titan, Wireshark)
Test devices (RFID kit, Bluetooth test device)
GUI tester (Selenium, SikuliX, Chrome headless)
Web services tester (soapUI)
…
• Public Testsuites (in development)
 Application of a standardized notation
 Abstract and platform-independent
TESTWARE
13
IOT TEST LANGUAGE
14
• 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!
}
}
15
• One test technology for different tests
 Distributed, platform-independent testing
 Integrated graphical test development, documentation and analysis
 Adaptable, open test environment
• Areas of Testing
 Conformance 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
DESIGN PRINCIPLES OF TTCN-3
Eclipse IoT-Testware
THE IOT-T PROJECT
17
© Fraunhofer FOKUS
IOT QUALITY
1.
Conformance
2.
Robustness /
Security
3.
Performance
Protocol conformance
Test Suites
18
Take available software and tools …
… and adding public testuites as a result of insights from IoT testing:
IOT-TESTWARE
…
https://projects.eclipse.org/projects/technology.iottestware
19
• Supplement to running and active Eclipse projects
 Paho, OM2M, Titan
• New project at Eclipse Foundation:
https://projects.eclipse.org/projects/technology.iottestware
 TTCN-3 test suites for CoAP, MQTT, OPC-UA, LoRa?
• Assured licenses for users
• Currently in cooperation with
relayr GmbH, Ericsson, LAAS/CNRS, itemis AG, Spirent Communications,
Easy Global Market, Iskratel/Sintesio, …
THE ECLIPSE PROJECT
20
SAMPLE TESTSUITE STRUCTURE: MQTT
 Broker as SUT
 All mandatory message data fields
 Regular and illegal data
(Fixed/variable header, payload)
 Protocol features
 General
 Connect/disconnect (session)
 Subscribe/unsubscribe
 Immediate publish
 Last will and Testament (LWT)
 Heartbeats keepAlive values
 Topic
 Error handling
 Client as SUT
 …
21
TEST DEVELOPMENT SAMPLE: MQTT
TESTZIEL-KATALOG
 Test configurations
 Test Suite Structure
 Test purpose (catalogue)
 Test implementation (TTCN-3)
22
MQTT BROKER EVALUATION (CONFORMANCE, APRIL 2018)
Broker PASS FAIL INCONCLUSIVE
# % # % # %
HiveMQ ? 39 86,67% 4 8,89% 2 4,44%
Mosquitto 1.4.15 38 84,44% 5 11,11% 2 4,44%
VerneMQ 1.3.1 37 82,22% 5 11,11% 3 6,67%
EMQ 2.2 35 77,78% 8 17,78% 2 4,44%
lannister ? 31 68,89% 12 26,67% 2 4,44%
ActiveMQ 5.15.3 29 64,44% 14 31,11% 2 4,44%
aedes v0.33.0 26 57,78% 17 37,78% 2 4,44%
RSMB ? 26 57,78% 17 37,78% 2 4,44%
RabbitMQ 3.7.4 19 42,22% 26 57,78% 0 0,00%
Mosca 2.8.1 19 42,22% 24 53,33% 2 4,44%
HBMQTT 0.9 17 37,78% 28 62,22% 0 0,00%
Moquette 0.10 16 35,56% 29 64,44% 0 0,00%
23
© Fraunhofer FOKUS
BROKER CONFORMANCE OVER TIME
40 38 39 37 36 35
19 19
3 5 3 5 7 8
24 24
2 2 3 3 2 2 2 2
0
5
10
15
20
25
30
35
40
45
50
Mosquitto
1.4.14
Mosquitto
1.4.15
VerneMQ
1.1.0
VerneMQ
1.3.1
EMQ 2.0 EMQ 2.2 Mosca 2.5.1Mosca 2.8.1
Pass Fail Inconclusive
Testcases
-2 -2 -1 0
24
• Vulnerability scanner:
 in particular for web applications, zero-day/fuzzing, consideration of data
bases, traffic/network analyser, program code scanner
• Penetration tester, e.g. “SQL injection”
• Intrusion detection tools
• Load test/Scalability
• Further utilities: Model-based testing (UML testing profile) and risk modelling
TESTWARE: SECURITY
25
FUZZING APPROACH
CoAP
ATS
CoAP
ETS
Fuzzed
Data
SUT
ATS: Abstract Test Suite
ETS: Executable TS
26
Results for CoAP:
- Initially, 4421 fuzzed test data for CoAP were generated
- After sending the data to a (local) CoAP server, it crashed after date “1107”
https://www.fokus.fraunhofer.de/de/sqc/security_testing
https://github.com/fraunhoferfokus/Fuzzino/blob/master/doc/Fuzzino_XML_Description.pdf
FUZZINO RESULTS AND RESOURCES
27
PERFORMANCE TESTING: HIGH-LEVEL VIEW
Eclipse Titan
RIoT
SUTLoad
htop
28
© Fraunhofer FOKUS
PERFORMANCE TESTING: WORKFLOW
(1)
(1) Create/choose State Machine
(2) Configure scenario
(3) Start Performance Test Suite
a. Observe RIoT verdicts
b. Observe IUT process with htop
(CPU / Mem. Usage)
(2)
Titan /
RIoT
SUT
htop
(3)
Load
29
1. Control Logic
1. State Machine
2. Configuration Files
2. Applib
1. CoAP / MQTT / LwM2M / HTTP
2. Model-base Testing
3. CLL
1. Loadtest Framework
2. Functiontest Framework
3. Etc.
© Fraunhofer FOKUS
RIOT UNDER THE HOOD
TTCN-3
&
Titan
User
space
30
COAP STATE MACHINE: EXAMPLE
S0 S1
Start Traffic Case
CoAP rsp: 2.05: verdict = pass
CoAP rsp: not 2.05: verdict = fail
Timeout : verdict = fail
© Fraunhofer FOKUS
S0: idle state
S1: initiated, test case execution of => CoAP GET /some/resource/123
31
COAP STATE MACHINE: EXAMPLE CONT.
S0 S1
init
© Fraunhofer FOKUS
S2: CoAP GET /some/resource/123 S4: CoAP DELETE /some/resource/123
S3: CoAP PUT /some/resource/123
S2
set verdict
!2.05
S3
!2.01
S4
2.02
2.05
2.01
rnd*
rnd*
Scenario:
„randomly GET / PUT or DELETE
a single resource from multiple/
parallel CoAP Clients“4.04
32
Source: Eclipse Titan user guide
© Fraunhofer FOKUS
EXCURSUS: TTCN-3 PARALLEL EXECUTION
33
TS
COAP PERFORMANCE: EXAMPLE
© Fraunhofer FOKUS
SUT
PTC
PTC
…
MTC
CoAP: Req / Resp
GET | PUT | DELETE
34
(ALMOST) COMPLETE IOT-TESTWARE
…
SUT
Standardization & Certification
THE IOT-T PROJECT
36
• New Working Group (TST) will develop
IoT test catalogues and specifications (not covered elsewhere)
• The types of testing include
conformance, interoperability, security and performance testing
• The initial technical focus will be:
− IoT network layer
(communication protocols, node connectivity, edge computing etc.),
− Basic security of IoT devices
ETSI TC MTS
37
MTS TST WORK PROGRAMME
IEC 62443-4-2
CoAP
MQTT
LoRaWAN
Vul. database
https://portal.etsi.org/tb.aspx?tbid=860&SubTB=860
38
BASE SECURITY CERTIFICATION SCOPE
The Three Software Stacks Required for IoT Architectures, Eclipse IoT Working Group, September 2016
IoT-Testlab Scope
(basic security level
certification)
telemetry
commands
telemetry
commands
Putting everything together
SUMMARY AND OUTLOOK
40
IOT-TESTWARE
BIG PICTURE
…
ETS
Reporting
Logging
TP: Test Purpose
TSS: Test Suite Structure
ATS: Abstract Test Suite
ETS: Executable TS
SUT: System Under Test
TSS TP ATS
41
Advanced testing technology:
 Open source IoT-Testware (code):
 External (open source) SW
Standardized IoT test purposes:
SUMMARY
42
• Adding more protocols to IoT-Testware
AMQP, LWM2M, 6LoWPAN, LPWAN
• Increased security level for certification
• Cooperation/liaisons (in preparation) with
ETSI TC Cyber/SmartM2M, oneM2M, OPC Foundation ...
OUTLOOK
43
CONTACTS
Thank you for your attention!
https://www.fokus.fraunhofer.de/en/sqc
https://relayr.io/

More Related Content

Similar to IoT Testing with Eclipse IoT-Testware

Design and development of automated tests for the IoT
Design and development of automated tests for the IoTDesign and development of automated tests for the IoT
Design and development of automated tests for the IoTAxel Rennoch
 
Advanced Testing with TTCN-3 and UML Testing Profile
Advanced Testing with TTCN-3 and UML Testing ProfileAdvanced Testing with TTCN-3 and UML Testing Profile
Advanced Testing with TTCN-3 and UML Testing ProfileAxel Rennoch
 
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...TelecomValley
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
 
project introduction
project introductionproject introduction
project introductionstinmon
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingC4Media
 
 Test system architectures using advanced standardized test languages
 Test system architectures using advanced standardized test languages Test system architectures using advanced standardized test languages
 Test system architectures using advanced standardized test languagesMiguel Conde-Ferreira
 
AtifBhatti resume
AtifBhatti resumeAtifBhatti resume
AtifBhatti resumeAtif Bhatti
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...GetInData
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStormDmitri Zimine
 
IRJET- A Testbed for Real Time Water Level Control System
IRJET- 	  A Testbed for Real Time Water Level Control SystemIRJET- 	  A Testbed for Real Time Water Level Control System
IRJET- A Testbed for Real Time Water Level Control SystemIRJET Journal
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
Virtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadVirtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadBrain IoT Project
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...RealTime-at-Work (RTaW)
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataGetInData
 
MingLiuResume2016
MingLiuResume2016MingLiuResume2016
MingLiuResume2016Ming Liu
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux Neotys
 

Similar to IoT Testing with Eclipse IoT-Testware (20)

Design and development of automated tests for the IoT
Design and development of automated tests for the IoTDesign and development of automated tests for the IoT
Design and development of automated tests for the IoT
 
Advanced Testing with TTCN-3 and UML Testing Profile
Advanced Testing with TTCN-3 and UML Testing ProfileAdvanced Testing with TTCN-3 and UML Testing Profile
Advanced Testing with TTCN-3 and UML Testing Profile
 
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
project introduction
project introductionproject introduction
project introduction
 
Sqa Automation
Sqa AutomationSqa Automation
Sqa Automation
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
 Test system architectures using advanced standardized test languages
 Test system architectures using advanced standardized test languages Test system architectures using advanced standardized test languages
 Test system architectures using advanced standardized test languages
 
AtifBhatti resume
AtifBhatti resumeAtifBhatti resume
AtifBhatti resume
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStorm
 
my_resume(eng)
my_resume(eng)my_resume(eng)
my_resume(eng)
 
IRJET- A Testbed for Real Time Water Level Control System
IRJET- 	  A Testbed for Real Time Water Level Control SystemIRJET- 	  A Testbed for Real Time Water Level Control System
IRJET- A Testbed for Real Time Water Level Control System
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
Virtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges AheadVirtual Twins: Modeling Trends and Challenges Ahead
Virtual Twins: Modeling Trends and Challenges Ahead
 
Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...Timing verification of real-time automotive Ethernet networks: what can we ex...
Timing verification of real-time automotive Ethernet networks: what can we ex...
 
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInDataMonitoring in Big Data Platform - Albert Lewandowski, GetInData
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
 
MingLiuResume2016
MingLiuResume2016MingLiuResume2016
MingLiuResume2016
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
Docker Monitoring Webinar
Docker Monitoring  WebinarDocker Monitoring  Webinar
Docker Monitoring Webinar
 

Recently uploaded

Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

IoT Testing with Eclipse IoT-Testware

  • 1. Axel Rennoch, Alexander Kaiser, Sascha Hackel Software Quality Days 2019 16. January 2019, Vienna, Austria FUNCTIONAL AND NON-FUNCTIONAL TESTING WITH IOT-TESTWARE
  • 2. 2 • IoT Testing − Challenges and scope − IoT test language: TTCN-3 • Project IoT-T − Eclipse IoT-Testware − Standardization & Certification • Summary and outlook AGENDA
  • 3. 3 • Mirai botnet, October 2016: − botnet using insecure configured IoT-devices (~100.000) − attack causes blackout and disruption (e.g. Amazon, Netflix, Twitter, Github) • Wannacry, May 2017 − ransomeware affecting the whole world (e.g. hospitals in the U.K.) • KRACK: Key Reinstallation Attack, October 2017 − Replay attack on Wi-Fi Protected Access protocol • Spectre and Meltdown, January 2018 − Spectre: vulnerability that allows observable side effects from mispredicted speculative executions − Meltdown: hardware vulnerability that allows to read all memory MOTIVATION FOR QUALITY
  • 5. 5 IOT ARCHITECTURE The Three Software Stacks Required for IoT Architectures, Eclipse IoT Working Group, September 2016 telemetry commands telemetry commands
  • 6. 6  Connectivity options  Throughput  Latency  Power efficiency  Packet size  Wide portfolio of competences required  Devices (sensors, HW, embedded SW)  Platforms (Cloud, platform domain knowledge)  Applications (SW, dashboard, business logic) TECHNICAL SCOPE  IoT platforms  360+ worldwide  IoT protocols  Rich selection  IP-based  non-IP based Cellular netw. Cellular: 4G, NB-IoT, Cat-M1,EC-GSM…[5G]; non-cellular: Wifi, LoRa, Sigfox ,Zigbee, BLE, … connectivity MQTT MQTT-SN CoAPAMQP3OPC UA XMPPHTTP1 Web Socket21|2|3 applicationIoT application logic TCP UDP SMS DTLSDTLS IPv4/IPv6(6loWPAN) transport TLS/SSL IoT services layer services…
  • 7. 7 • IoT devices,  Mikrocontroller (MCU),  Gateways (Bosch XDK, IoT starterkits) • IoT platforms  RIOT, relayr, Thread, mbed…  service layer (oneM2M, FiWare) • IoT protocols  Constrained Application Protocol (CoAP)  MQ Telemetry Transport (MQTT) IoT challenges: complexity, asynchronism, resource constraints, long operation phase STARTING: TEST OBJECTS LPWAN LoRa oneM2M
  • 8. 8 After the acceptance and system tests there will be a long operation phase => new test phase „operation“ LONG OPERATION LIFETIME
  • 9. 9 INTEGRATION OF SEVERAL TESTING APPROACHES IoT Testing Software Testing System Testing Security Testing Test Automation Protocol Testing
  • 10. 10 • Less resources needed (time and money) • Avoid human mistakes due to manually testing • During test development and execution • Speed-up of regression tests and product time-to-market TEST AUTOMATION
  • 12. 12 • Toolset (selection of available means) Protocol tester/monitor (Eclipse Titan, Wireshark) Test devices (RFID kit, Bluetooth test device) GUI tester (Selenium, SikuliX, Chrome headless) Web services tester (soapUI) … • Public Testsuites (in development)  Application of a standardized notation  Abstract and platform-independent TESTWARE
  • 14. 14 • 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! } }
  • 15. 15 • One test technology for different tests  Distributed, platform-independent testing  Integrated graphical test development, documentation and analysis  Adaptable, open test environment • Areas of Testing  Conformance 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 DESIGN PRINCIPLES OF TTCN-3
  • 17. 17 © Fraunhofer FOKUS IOT QUALITY 1. Conformance 2. Robustness / Security 3. Performance Protocol conformance Test Suites
  • 18. 18 Take available software and tools … … and adding public testuites as a result of insights from IoT testing: IOT-TESTWARE … https://projects.eclipse.org/projects/technology.iottestware
  • 19. 19 • Supplement to running and active Eclipse projects  Paho, OM2M, Titan • New project at Eclipse Foundation: https://projects.eclipse.org/projects/technology.iottestware  TTCN-3 test suites for CoAP, MQTT, OPC-UA, LoRa? • Assured licenses for users • Currently in cooperation with relayr GmbH, Ericsson, LAAS/CNRS, itemis AG, Spirent Communications, Easy Global Market, Iskratel/Sintesio, … THE ECLIPSE PROJECT
  • 20. 20 SAMPLE TESTSUITE STRUCTURE: MQTT  Broker as SUT  All mandatory message data fields  Regular and illegal data (Fixed/variable header, payload)  Protocol features  General  Connect/disconnect (session)  Subscribe/unsubscribe  Immediate publish  Last will and Testament (LWT)  Heartbeats keepAlive values  Topic  Error handling  Client as SUT  …
  • 21. 21 TEST DEVELOPMENT SAMPLE: MQTT TESTZIEL-KATALOG  Test configurations  Test Suite Structure  Test purpose (catalogue)  Test implementation (TTCN-3)
  • 22. 22 MQTT BROKER EVALUATION (CONFORMANCE, APRIL 2018) Broker PASS FAIL INCONCLUSIVE # % # % # % HiveMQ ? 39 86,67% 4 8,89% 2 4,44% Mosquitto 1.4.15 38 84,44% 5 11,11% 2 4,44% VerneMQ 1.3.1 37 82,22% 5 11,11% 3 6,67% EMQ 2.2 35 77,78% 8 17,78% 2 4,44% lannister ? 31 68,89% 12 26,67% 2 4,44% ActiveMQ 5.15.3 29 64,44% 14 31,11% 2 4,44% aedes v0.33.0 26 57,78% 17 37,78% 2 4,44% RSMB ? 26 57,78% 17 37,78% 2 4,44% RabbitMQ 3.7.4 19 42,22% 26 57,78% 0 0,00% Mosca 2.8.1 19 42,22% 24 53,33% 2 4,44% HBMQTT 0.9 17 37,78% 28 62,22% 0 0,00% Moquette 0.10 16 35,56% 29 64,44% 0 0,00%
  • 23. 23 © Fraunhofer FOKUS BROKER CONFORMANCE OVER TIME 40 38 39 37 36 35 19 19 3 5 3 5 7 8 24 24 2 2 3 3 2 2 2 2 0 5 10 15 20 25 30 35 40 45 50 Mosquitto 1.4.14 Mosquitto 1.4.15 VerneMQ 1.1.0 VerneMQ 1.3.1 EMQ 2.0 EMQ 2.2 Mosca 2.5.1Mosca 2.8.1 Pass Fail Inconclusive Testcases -2 -2 -1 0
  • 24. 24 • Vulnerability scanner:  in particular for web applications, zero-day/fuzzing, consideration of data bases, traffic/network analyser, program code scanner • Penetration tester, e.g. “SQL injection” • Intrusion detection tools • Load test/Scalability • Further utilities: Model-based testing (UML testing profile) and risk modelling TESTWARE: SECURITY
  • 26. 26 Results for CoAP: - Initially, 4421 fuzzed test data for CoAP were generated - After sending the data to a (local) CoAP server, it crashed after date “1107” https://www.fokus.fraunhofer.de/de/sqc/security_testing https://github.com/fraunhoferfokus/Fuzzino/blob/master/doc/Fuzzino_XML_Description.pdf FUZZINO RESULTS AND RESOURCES
  • 27. 27 PERFORMANCE TESTING: HIGH-LEVEL VIEW Eclipse Titan RIoT SUTLoad htop
  • 28. 28 © Fraunhofer FOKUS PERFORMANCE TESTING: WORKFLOW (1) (1) Create/choose State Machine (2) Configure scenario (3) Start Performance Test Suite a. Observe RIoT verdicts b. Observe IUT process with htop (CPU / Mem. Usage) (2) Titan / RIoT SUT htop (3) Load
  • 29. 29 1. Control Logic 1. State Machine 2. Configuration Files 2. Applib 1. CoAP / MQTT / LwM2M / HTTP 2. Model-base Testing 3. CLL 1. Loadtest Framework 2. Functiontest Framework 3. Etc. © Fraunhofer FOKUS RIOT UNDER THE HOOD TTCN-3 & Titan User space
  • 30. 30 COAP STATE MACHINE: EXAMPLE S0 S1 Start Traffic Case CoAP rsp: 2.05: verdict = pass CoAP rsp: not 2.05: verdict = fail Timeout : verdict = fail © Fraunhofer FOKUS S0: idle state S1: initiated, test case execution of => CoAP GET /some/resource/123
  • 31. 31 COAP STATE MACHINE: EXAMPLE CONT. S0 S1 init © Fraunhofer FOKUS S2: CoAP GET /some/resource/123 S4: CoAP DELETE /some/resource/123 S3: CoAP PUT /some/resource/123 S2 set verdict !2.05 S3 !2.01 S4 2.02 2.05 2.01 rnd* rnd* Scenario: „randomly GET / PUT or DELETE a single resource from multiple/ parallel CoAP Clients“4.04
  • 32. 32 Source: Eclipse Titan user guide © Fraunhofer FOKUS EXCURSUS: TTCN-3 PARALLEL EXECUTION
  • 33. 33 TS COAP PERFORMANCE: EXAMPLE © Fraunhofer FOKUS SUT PTC PTC … MTC CoAP: Req / Resp GET | PUT | DELETE
  • 36. 36 • New Working Group (TST) will develop IoT test catalogues and specifications (not covered elsewhere) • The types of testing include conformance, interoperability, security and performance testing • The initial technical focus will be: − IoT network layer (communication protocols, node connectivity, edge computing etc.), − Basic security of IoT devices ETSI TC MTS
  • 37. 37 MTS TST WORK PROGRAMME IEC 62443-4-2 CoAP MQTT LoRaWAN Vul. database https://portal.etsi.org/tb.aspx?tbid=860&SubTB=860
  • 38. 38 BASE SECURITY CERTIFICATION SCOPE The Three Software Stacks Required for IoT Architectures, Eclipse IoT Working Group, September 2016 IoT-Testlab Scope (basic security level certification) telemetry commands telemetry commands
  • 40. 40 IOT-TESTWARE BIG PICTURE … ETS Reporting Logging TP: Test Purpose TSS: Test Suite Structure ATS: Abstract Test Suite ETS: Executable TS SUT: System Under Test TSS TP ATS
  • 41. 41 Advanced testing technology:  Open source IoT-Testware (code):  External (open source) SW Standardized IoT test purposes: SUMMARY
  • 42. 42 • Adding more protocols to IoT-Testware AMQP, LWM2M, 6LoWPAN, LPWAN • Increased security level for certification • Cooperation/liaisons (in preparation) with ETSI TC Cyber/SmartM2M, oneM2M, OPC Foundation ... OUTLOOK
  • 43. 43 CONTACTS Thank you for your attention! https://www.fokus.fraunhofer.de/en/sqc https://relayr.io/