SlideShare a Scribd company logo
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 Functional and non-functional testing with 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 IoT
Axel 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 Profile
Axel 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
 
Sqa Automation
Sqa AutomationSqa Automation
Sqa Automation
Manu Marín
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
C4Media
 
 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
Miguel 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 StackStorm
Dmitri 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 System
IRJET 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 Ahead
Brain 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, GetInData
GetInData
 
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
 
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdfParallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
Slide_N
 

Similar to Functional and non-functional testing with 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
 
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdfParallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
Parallel Vector Tile-Optimized Library (PVTOL) Architecture-v3.pdf
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

Functional and non-functional testing with 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/