SlideShare a Scribd company logo
1
State Machine Based Testing
Florian Lier, Norman Köster, Ingo Lütkebohle, and Sven Wachsmuth
2
3 talks mentioned CI already ;)
3
(my) Motivation
Besides working in other research projects as a PhD student...
4
(my) Motivation
...my motivation is deeply grounded in the...
5
ROBOCUP
6
Source: http://www.youtube.com/watch?v=YpjeNa8BAYg
7
(my) Motivation
Robots operating in domestic environments
... rich interaction with humans
... object detection and recognition
... cluttered “real world” environment
... speech recognition and synthesis
... autonomous navigation and localization
... competitive event, which is “thrilling”
8
(my) Motivation
Source: http://www.cit-ec.de/sites/www.cit-ec.de/files/TDP_ToBI_2011_0.pdf
X
(my) Motivation
The team “ToBI” consists of
... 6-10 BA/MA students, they earn CPs!
... 1-3 PhDs, Postdocs supervision
... new students, every year...
... constantly improving/evolving system
... hackathons, during regular term
... “agile” on-site all around the world
9
Coding at actual event
10
Which is quite stressful, sometimes
11
Agile methods are applied
X
Problem I
Approximately 10 developers but
... only 1 Robot to test with
... > 10 source code repos to “watch”
... frequent changes everywhere
... local file system vs. robot file system
12
Problem I
“The task starts in 5 minutes”
13
Problem I
“Oh wait, I didn’t commit yet...”
14
Problem I
“Ok, it’s checked-in send the robot to the arena!”
15
Problem I
“Waaaait, I just realized I broke the task!!!”
(RoboCup classic)
16
Solution I
17
Solution I
Yes! A Continuous Integration Server
... monitors all build statuses (red, green)
... checks robot vs. local file system sync
... delivers instant feedback
... automated build process, static checks
... de-stresses situation, best-practice, etc
18
Problem II
“I tested the task in the area everything ..., but the robot doesn’t move!”
19
Solution II
Yes! Simulation for everyone!
... but,
... > 15 components to start, manually
... operate the simulator, manually
... based on subjective measurements
... first test prob. != second test
... timing, sequence, operator, machine
... you name it
20
“Simulation?”
21
Proposal
Yes! Combine CI and simulation testing
... serialize building an testing automatically
... start the simulation and all required components
... deliver feedback and results
... frequent checks (per check-in)
... works also outside RoboCup ;)
22
Approach
Create a state-machine for simulation tests!
23
Goals of SM based testing
No “tailored” solution for a specific system
Minimize the effort, let the machine do the work
Enable developers to design a well-structured test
Explicit environment setup and configuration
Transparent orchestration, repeatable and comparable
Verify system start-up and tear-down
24
25
26
27
Benefits
Well-structured, explicit definition of env. and comp.
Fully automatable (CI enabled and CLOUD enabled)
Repeatable, exchangeable, composable and comparable
Execution checks, early exit (error states)
Timing and sequence is taken into account
Language, tool, and framework independent (!= roslaunch)
(OS independent, not tested on windows yet)
Distribution (STRANDS?)
28
Benefits // MORSE
Morse setup and execution
Fully automatable (CI enabled and CLOUD enabled)
Repeatable, exchangeable, composable and comparable
Execution checks, early exit (error states)
Timing and sequence is taken into account
Language, tool, and framework independent (!= roslaunch)
(OS independent, not tested on windows yet)
X
Morse Demo: ATRV + ROS, rosbag, rostopic, rxplot
29
30Source: https://vimeo.com/67803733
Thank you!
31
Discussion Topics
Useful?
Problems: SCXML is pain!
MORSE integration
Metrics
UnitT integration
32
33

More Related Content

Similar to State Machine Based Testing

MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014Leon Rosenberg
 
Klaxit - How to keep it clean, for years - Paris.RB 2020
Klaxit - How to keep it clean, for years - Paris.RB 2020Klaxit - How to keep it clean, for years - Paris.RB 2020
Klaxit - How to keep it clean, for years - Paris.RB 2020Cyrille Courtiere
 
A.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsA.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsAnatoly Levenchuk
 
MORSE & HRI -- SIMPAR 2014 (Florian Lier)
MORSE & HRI -- SIMPAR 2014 (Florian Lier)MORSE & HRI -- SIMPAR 2014 (Florian Lier)
MORSE & HRI -- SIMPAR 2014 (Florian Lier)Florian Lier
 
20130221 ucd leuven_leuven
20130221 ucd leuven_leuven20130221 ucd leuven_leuven
20130221 ucd leuven_leuvenErik Duval
 
بینایی ماشین
بینایی ماشینبینایی ماشین
بینایی ماشینShiraz LUG
 
Crowds and Clouds
Crowds and CloudsCrowds and Clouds
Crowds and CloudskingsBSD
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiIvo Andreev
 
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent Machines
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent MachinesEuroSTAR 2018 tutorial Rik Marselis Testing Intelligent Machines
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent MachinesRik Marselis
 
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...Priyanka Aash
 
C++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyC++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyDror Helper
 
User Experience & Extreme Programming: An Experience Report
User Experience & Extreme Programming: An Experience Report User Experience & Extreme Programming: An Experience Report
User Experience & Extreme Programming: An Experience Report Michael Rawling
 
inleiding tot chi
inleiding tot chiinleiding tot chi
inleiding tot chiErik Duval
 

Similar to State Machine Based Testing (20)

MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014MoSKito at Silpion Solutionscamp 2014
MoSKito at Silpion Solutionscamp 2014
 
Klaxit - How to keep it clean, for years - Paris.RB 2020
Klaxit - How to keep it clean, for years - Paris.RB 2020Klaxit - How to keep it clean, for years - Paris.RB 2020
Klaxit - How to keep it clean, for years - Paris.RB 2020
 
A.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systemsA.Levenchuk -- visuomotor learning in cyber-phisical systems
A.Levenchuk -- visuomotor learning in cyber-phisical systems
 
MORSE & HRI -- SIMPAR 2014 (Florian Lier)
MORSE & HRI -- SIMPAR 2014 (Florian Lier)MORSE & HRI -- SIMPAR 2014 (Florian Lier)
MORSE & HRI -- SIMPAR 2014 (Florian Lier)
 
20130221 ucd leuven_leuven
20130221 ucd leuven_leuven20130221 ucd leuven_leuven
20130221 ucd leuven_leuven
 
Developer disciplines
Developer disciplinesDeveloper disciplines
Developer disciplines
 
OpenCV
OpenCVOpenCV
OpenCV
 
بینایی ماشین
بینایی ماشینبینایی ماشین
بینایی ماشین
 
Crowds and Clouds
Crowds and CloudsCrowds and Clouds
Crowds and Clouds
 
Autonomous Machines with Project Bonsai
Autonomous Machines with Project BonsaiAutonomous Machines with Project Bonsai
Autonomous Machines with Project Bonsai
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent Machines
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent MachinesEuroSTAR 2018 tutorial Rik Marselis Testing Intelligent Machines
EuroSTAR 2018 tutorial Rik Marselis Testing Intelligent Machines
 
Robot simulation for_control_design
Robot simulation for_control_designRobot simulation for_control_design
Robot simulation for_control_design
 
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...
From Thousands of Hours to a Couple of Minutes: Automating Exploit Generation...
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
 
Tuyendung.8.2010
Tuyendung.8.2010Tuyendung.8.2010
Tuyendung.8.2010
 
C++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the uglyC++ Unit testing - the good, the bad & the ugly
C++ Unit testing - the good, the bad & the ugly
 
Nt1320 Unit 6
Nt1320 Unit 6Nt1320 Unit 6
Nt1320 Unit 6
 
User Experience & Extreme Programming: An Experience Report
User Experience & Extreme Programming: An Experience Report User Experience & Extreme Programming: An Experience Report
User Experience & Extreme Programming: An Experience Report
 
inleiding tot chi
inleiding tot chiinleiding tot chi
inleiding tot chi
 

Recently uploaded

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
 

Recently uploaded (20)

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

State Machine Based Testing