SlideShare a Scribd company logo
1 of 24
Download to read offline
An Approach for Model Based Testing of
Augmented Reality Applications
Porfirio Tramontana, Marco De Luca
Anna Rita Fasolino
University of Naples “Federico II”
3rd International Workshop on Quality and Measurement of
Software Model-Driven Development - QUAMES 2022
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Motivations
◼ Augmented Reality applications mixes :
◼ A layer provided by a camera
◼ With callbacks related to image recognition
◼ Other layers consisting of interactive widgets
➢ Substantially, they are interactive applications
? How their behaviour can be modelled?
? May Model-based testing be suitable on
them?
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Extended Reality Taxonomy
◼ Virtual reality (immersive or non-immersive VR)
◼ where the application simulates a completely different
environment around the user;
◼ Augmented reality (AR)
◼ where the application combines its own digital
environment with the user’s real-world environment
and allows them to interact with each other.
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Unity 3D / Vuforia Ecosystem
◼ Unity 3D is one of the most popular
alternative for the development of AR and
VR applications
◼ They can be deployed on mobile devices as
native applications
◼ Vuforia provides off-the-shelf services for
continuous image recognition, based on
ML algorithms
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Unity 3D application model
◼ Scene: GUI with a designed layout
(and transparency)
◼ GameObjects: interactive objects
◼ Components: associated to scenes or
game objects, may implement
listeners
◼ Event Listeners: callbacks related to
components
◼ Includes Vuforia callbacks activated by
the recognizing of graphic markers
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Research questions
? How the behaviour of an Augmented
Reality application can be modelled?
? May the model be used to realize Model
Based Testing approaches?
QUAMES @ RCIS 2022 Workshops, Barcelona, May 17, 2022
Model Based Testing of AR applications
◼ Modeling → Finite State Machines
◼ Test Selection Criteria → All States
Coverage / All Transitions Coverage / All
Prime Paths Coverage
◼ Test Case Implementation and Execution
→ AirTest
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
FSM Model of AR Behaviour
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Test Selection Criteria
◼ All States Coverage
◼ each state of the FSM model is reached by at
least a test case
◼ All Transitions Coverage
◼ each transition of the FSM model is reached
by at least a test case
◼ All Prime Paths Coverage
◼ each prime path on the FSM is covered by at
least a test case.
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
AR Test Framework
◼ AirTest
◼ Supports the writing of automatically
executable test scripts
◼ The poco object acts as a starting point to query
the object model of the application during its
execution
◼ Can be used in isolation, without need of a
client/server infrastructure (as AltUnity)
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Test Case Structure
◼ A global object poco
◼ Setup function starting the app and instantiating
poco
◼ A verify function for each state of the model to
assert the reaching of the state by evaluating
widgets reachable via the poco object
◼ A main function with a sequence of state verify
and user event triggering
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Test Case Structure
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Test Case Structure
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
poco
setup
verify
main
Case Studies
◼ Two small Case
Studies:
◼ A1: PointAR
◼ A2: SafariAnimals
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
◼ Three test suites:
◼ TS1: All States Cov.
◼ TS2: All Transitions Cov.
◼ TS3: All Prime Paths Cov.
Results
◼ Feasibility of the approach
◼ Transition & Prime Path coverage
produced high code coverage, too
◼ Uncovered branches:
◼ An unfeasible branch
◼ A branch that needed a larger path
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Perspective, Limitations, Future Work
◼ Preconditions
◼ AirTest currently does not support setting of
image markers
◼ To have it an interaction with an external image
injector should be considered
◼ Model formalization
◼ Need to generalize the application model
◼ to reverse engineer it from code
◼ To generate test cases from the model
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Perspective, Limitations, Future Work
◼ Need to evaluate on larger applications
and with real defects
◼ There are very few examples of open source
AR projects with test cases and documented
faults
◼ Mutants could be considered
QUAMES @ RCIS 2022, Barcelona, May 17, 2022
Thank you for your attention!
QUAMES @ RCIS 2022, Barcelona, May 17, 2022

More Related Content

Similar to An Approach for Model Based Testing of Augmented Reality Applications.pdf

On the Soundness of Android Static Analysis
On the Soundness of Android Static AnalysisOn the Soundness of Android Static Analysis
On the Soundness of Android Static AnalysisJordanSamhi
 
Innovative trends in robotics
Innovative trends in roboticsInnovative trends in robotics
Innovative trends in roboticsDesign World
 
Bhuvanesh resume (updated__nov_2015)
Bhuvanesh resume (updated__nov_2015)Bhuvanesh resume (updated__nov_2015)
Bhuvanesh resume (updated__nov_2015)Bhuvanesh Srivastava
 
DAmbrosio - INTELLIMECH - v2.pptx
DAmbrosio - INTELLIMECH - v2.pptxDAmbrosio - INTELLIMECH - v2.pptx
DAmbrosio - INTELLIMECH - v2.pptxFIWARE
 
The Top 11 Most Important JavaScript Statistics for 2022.pdf
The Top 11 Most Important JavaScript Statistics for 2022.pdfThe Top 11 Most Important JavaScript Statistics for 2022.pdf
The Top 11 Most Important JavaScript Statistics for 2022.pdfAnalyt Solutions
 
the hybrid cloud[1] World Pipeline Magazine
the hybrid cloud[1]  World Pipeline Magazinethe hybrid cloud[1]  World Pipeline Magazine
the hybrid cloud[1] World Pipeline MagazineLayne Tucker
 
A REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASA REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASIRJET Journal
 
Building earth observation applications with NextGEOSS - webinar
Building earth observation applications with NextGEOSS - webinarBuilding earth observation applications with NextGEOSS - webinar
Building earth observation applications with NextGEOSS - webinarterradue
 
Long padot presentation
Long padot presentationLong padot presentation
Long padot presentationRPO America
 
M2M evolution - KonnexSIM report
M2M evolution - KonnexSIM reportM2M evolution - KonnexSIM report
M2M evolution - KonnexSIM reportYiannis Hatzopoulos
 
Object Detection for Autonomous Cars using AI/ML
Object Detection for Autonomous Cars using AI/MLObject Detection for Autonomous Cars using AI/ML
Object Detection for Autonomous Cars using AI/MLIRJET Journal
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
 
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris.
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris. Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris.
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris. OW2
 

Similar to An Approach for Model Based Testing of Augmented Reality Applications.pdf (20)

On the Soundness of Android Static Analysis
On the Soundness of Android Static AnalysisOn the Soundness of Android Static Analysis
On the Soundness of Android Static Analysis
 
Innovative trends in robotics
Innovative trends in roboticsInnovative trends in robotics
Innovative trends in robotics
 
"Cloud Computing for HPC"
"Cloud Computing for HPC""Cloud Computing for HPC"
"Cloud Computing for HPC"
 
Kaustav_Chakraborty_resume
Kaustav_Chakraborty_resumeKaustav_Chakraborty_resume
Kaustav_Chakraborty_resume
 
Resume_10_2019
Resume_10_2019Resume_10_2019
Resume_10_2019
 
PROSPECT - PROactive Safety for PEdestrians and CyclisTs
PROSPECT - PROactive Safety for PEdestrians and CyclisTsPROSPECT - PROactive Safety for PEdestrians and CyclisTs
PROSPECT - PROactive Safety for PEdestrians and CyclisTs
 
Bhuvanesh resume (updated__nov_2015)
Bhuvanesh resume (updated__nov_2015)Bhuvanesh resume (updated__nov_2015)
Bhuvanesh resume (updated__nov_2015)
 
ONlysome.docx
ONlysome.docxONlysome.docx
ONlysome.docx
 
DAmbrosio - INTELLIMECH - v2.pptx
DAmbrosio - INTELLIMECH - v2.pptxDAmbrosio - INTELLIMECH - v2.pptx
DAmbrosio - INTELLIMECH - v2.pptx
 
The Top 11 Most Important JavaScript Statistics for 2022.pdf
The Top 11 Most Important JavaScript Statistics for 2022.pdfThe Top 11 Most Important JavaScript Statistics for 2022.pdf
The Top 11 Most Important JavaScript Statistics for 2022.pdf
 
Isncc2020
Isncc2020Isncc2020
Isncc2020
 
the hybrid cloud[1] World Pipeline Magazine
the hybrid cloud[1]  World Pipeline Magazinethe hybrid cloud[1]  World Pipeline Magazine
the hybrid cloud[1] World Pipeline Magazine
 
EUBraBIGSEA Project
EUBraBIGSEA Project EUBraBIGSEA Project
EUBraBIGSEA Project
 
A REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADASA REVIEW ON MACHINE LEARNING IN ADAS
A REVIEW ON MACHINE LEARNING IN ADAS
 
Building earth observation applications with NextGEOSS - webinar
Building earth observation applications with NextGEOSS - webinarBuilding earth observation applications with NextGEOSS - webinar
Building earth observation applications with NextGEOSS - webinar
 
Long padot presentation
Long padot presentationLong padot presentation
Long padot presentation
 
M2M evolution - KonnexSIM report
M2M evolution - KonnexSIM reportM2M evolution - KonnexSIM report
M2M evolution - KonnexSIM report
 
Object Detection for Autonomous Cars using AI/ML
Object Detection for Autonomous Cars using AI/MLObject Detection for Autonomous Cars using AI/ML
Object Detection for Autonomous Cars using AI/ML
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
 
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris.
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris. Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris.
Presentation of the CROSSMINER H2020 at OW2con'19, June 12-13 in Paris.
 

More from Porfirio Tramontana

Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationPorfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEPorfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web ApplicationsPorfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindPorfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolPorfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Porfirio Tramontana
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsPorfirio Tramontana
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsPorfirio Tramontana
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionPorfirio Tramontana
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data Porfirio Tramontana
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationPorfirio Tramontana
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Porfirio Tramontana
 

More from Porfirio Tramontana (20)

Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android Applications
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application Comprehension
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security Evaluation
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
 

Recently uploaded

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

An Approach for Model Based Testing of Augmented Reality Applications.pdf

  • 1. An Approach for Model Based Testing of Augmented Reality Applications Porfirio Tramontana, Marco De Luca Anna Rita Fasolino University of Naples “Federico II” 3rd International Workshop on Quality and Measurement of Software Model-Driven Development - QUAMES 2022 QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 2. Motivations ◼ Augmented Reality applications mixes : ◼ A layer provided by a camera ◼ With callbacks related to image recognition ◼ Other layers consisting of interactive widgets ➢ Substantially, they are interactive applications ? How their behaviour can be modelled? ? May Model-based testing be suitable on them? QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 3. Extended Reality Taxonomy ◼ Virtual reality (immersive or non-immersive VR) ◼ where the application simulates a completely different environment around the user; ◼ Augmented reality (AR) ◼ where the application combines its own digital environment with the user’s real-world environment and allows them to interact with each other. QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 4. Unity 3D / Vuforia Ecosystem ◼ Unity 3D is one of the most popular alternative for the development of AR and VR applications ◼ They can be deployed on mobile devices as native applications ◼ Vuforia provides off-the-shelf services for continuous image recognition, based on ML algorithms QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 5. Unity 3D application model ◼ Scene: GUI with a designed layout (and transparency) ◼ GameObjects: interactive objects ◼ Components: associated to scenes or game objects, may implement listeners ◼ Event Listeners: callbacks related to components ◼ Includes Vuforia callbacks activated by the recognizing of graphic markers QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 6. Research questions ? How the behaviour of an Augmented Reality application can be modelled? ? May the model be used to realize Model Based Testing approaches? QUAMES @ RCIS 2022 Workshops, Barcelona, May 17, 2022
  • 7. Model Based Testing of AR applications ◼ Modeling → Finite State Machines ◼ Test Selection Criteria → All States Coverage / All Transitions Coverage / All Prime Paths Coverage ◼ Test Case Implementation and Execution → AirTest QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 8. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 9. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 10. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 11. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 12. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 13. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 14. FSM Model of AR Behaviour QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 15. Test Selection Criteria ◼ All States Coverage ◼ each state of the FSM model is reached by at least a test case ◼ All Transitions Coverage ◼ each transition of the FSM model is reached by at least a test case ◼ All Prime Paths Coverage ◼ each prime path on the FSM is covered by at least a test case. QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 16. AR Test Framework ◼ AirTest ◼ Supports the writing of automatically executable test scripts ◼ The poco object acts as a starting point to query the object model of the application during its execution ◼ Can be used in isolation, without need of a client/server infrastructure (as AltUnity) QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 17. Test Case Structure ◼ A global object poco ◼ Setup function starting the app and instantiating poco ◼ A verify function for each state of the model to assert the reaching of the state by evaluating widgets reachable via the poco object ◼ A main function with a sequence of state verify and user event triggering QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 18. Test Case Structure QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 19. Test Case Structure QUAMES @ RCIS 2022, Barcelona, May 17, 2022 poco setup verify main
  • 20. Case Studies ◼ Two small Case Studies: ◼ A1: PointAR ◼ A2: SafariAnimals QUAMES @ RCIS 2022, Barcelona, May 17, 2022 ◼ Three test suites: ◼ TS1: All States Cov. ◼ TS2: All Transitions Cov. ◼ TS3: All Prime Paths Cov.
  • 21. Results ◼ Feasibility of the approach ◼ Transition & Prime Path coverage produced high code coverage, too ◼ Uncovered branches: ◼ An unfeasible branch ◼ A branch that needed a larger path QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 22. Perspective, Limitations, Future Work ◼ Preconditions ◼ AirTest currently does not support setting of image markers ◼ To have it an interaction with an external image injector should be considered ◼ Model formalization ◼ Need to generalize the application model ◼ to reverse engineer it from code ◼ To generate test cases from the model QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 23. Perspective, Limitations, Future Work ◼ Need to evaluate on larger applications and with real defects ◼ There are very few examples of open source AR projects with test cases and documented faults ◼ Mutants could be considered QUAMES @ RCIS 2022, Barcelona, May 17, 2022
  • 24. Thank you for your attention! QUAMES @ RCIS 2022, Barcelona, May 17, 2022