Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools

Marco Torchiano
Marco TorchianoAssociate Professor
Espresso vs. EyeAutomate:
comparing two generations of
Android GUI testing
Luca Ardito, Riccardo Coppola, Maurizio Morisio, and Marco Torchiano
EASE 2019- Evaluation and Assessment in Software Engineering
is hard!
Diversity
Evolution
Minor Changes
Testing mobile apps is hard
• Wide variety of devices
• Versions of OS
• Screen aspect ratio
• Display Hw vs. Sw buttons
• Quick evolution of UIs
• Test script fragility
• Even minor UI changes can break tests
End-2-End Testing Techniques
• Manual
• Scripted
«E2E testing is used to test whether
the flow of an application right from
start to finish is behaving as expected»
End-2-End Testing Techniques
• Manual
• Coordinate-based
• Layout-based
• Visual / Image Recognition
Scripted
End-2-End Testing Techniques
• Manual
• Coordinate-based : 1st generation
• Layout-based : 2nd generation
• Visual / Image Recognition : 3rd generation
Layout-based testing
Test scripts leverage the UI structure to
• Identify and detect UI components
• Interact with them
Layout-based testing tools
Visual testing
• Image recognition techniques are used to identify elements of the
user interface to interact with.
• Ease of definition of test cases with no tech knowledge required
• only screen captures are needed
• Can be applied seamlessly to any kind of software provided with an
(emulated) user interface
• Very high fragility to even minor changes in the GUI
• Difficult in-depth testing of application functionalities.
Visual testing tools
Eye Automate
Experiment Goal
• Analyze the E2E testing process
• to understand what technique
• Layout-based
• Visual
• yields
• higher productivity
• high quality of tests
Experiment Goal
• Analyze the E2E testing process
• to understand what technique
• Layout-based
• Visual
• yields
• higher productivity
• high quality of tests
Omni-Notes
Context
Android native app:
MSc Students in
Software Engineering course
Research Questions
RQ1 Productivity: What is the productivity in test script production of
graduate students with Visual and Layout-based testing tools for
Android App testing?
RQ2 Quality: What is the quality of the test suites produced by
graduate students using Visual and Layout-based testing tools for
Android App testing?
RQ3 Obstacles: What are the perceived difficulties in applying Visual
and Layout-based testing tools for Android App testing?
Experiment Design
Session 1 Session 2
Scenarios
Eye Automate
Test
scripts
Test
scripts
Feedback
Test
results
Test
results
Feedback
RQ3
RQ1
RQ2
Scenarios
Open Info Screen
Open AboutActivity and verify that App icon and copyright notice
are shown;
Add a note
Insert a note with custom title and content, and verify that it is
shown in the note list;
Search a note Input a note’s text in search bar, and verify that such note is shown;
Check available
languages
Open Language option in SettingsActivity and verify that English,
Italian and French language are available;
Delete a note
Delete and then restore a note from the TrashAc- tivity, then check
that it is shown again in the MainActivity;
Restore a note
Add and then delete a note, and check that it is no longer shown in
the MainActivity;
Add note category
Add a note category with custom name and color, and check that it
is shown among available ones in the DrawerMenu.
Feedback Questionnaire
• Implementing the test suite with EyeAutomate / Espresso was easy
and intuitive
• The EyeStudio / Android Studio IDE was helpful in the creation of test
scripts
• It was easy to identify elements with the EyeAutomate / Espresso
technique
• What were the main issues in identifying elements of the screen
using the EyeAutomate / Espresso testing approach? (Open)
• Which tool would you choose if you had to perform E2E testing in the
future? And why? (Open)
?(Open)
Espresso frame-
plementation of
using the layout-
elements of the
rform UI testing
omment)
average number
was 0.6.
21.5%) reported
Layout−based Visual
−0.25 0.00 0.25 −0.25 0.00 0.25
0
2
4
6
Productivity[testcases]
Results: productivity
⚖️
No significant difference
( p = 0.625 )
?(Open)
Espresso frame-
plementation of
using the layout-
elements of the
rform UI testing
omment)
average number
was 0.6.
21.5%) reported
Layout−based Visual
−0.25 0.00 0.25 −0.25 0.00 0.25
0
2
4
6
Productivity[testcases]
Layout−based
No Yes
0
2
4
6
Productivity[testcases]
Results: productivity
Within Espresso student
using Test Recorder
(average 6.7) and those
who didn’t (average 4.13)
show a significant
difference (p<0.001)
Layout Visual
−0.25 0.00 0.25 −0.25 0.00 0.25
0.00
0.25
0.50
0.75
1.00
TestCaseQuality
Results: quality
👍
Significant difference
( p = 0.025
Cliff’s δ = 0.18 )
Layout Visual
−0.25 0.00 0.25 −0.25 0.00 0.25
0.00
0.25
0.50
0.75
1.00
TestCaseQuality
Results: quality
👍
Layout−based
No Yes
0.00
0.25
0.50
0.75
1.00
TestCaseQuality
Within Espresso, student
using Test Recorder
(average 0.57) and those
who didn’t (average 0.71)
show a significant
difference (p=0.021)
Results: perception
by
ed
g
e
st
ge
st
ar,
he
g
ns
s,
h
g
n
h
ad
ot
es
be
ft
Hs30
participants’ perceived easiness in
nding properties to discriminate GUI
components, using theVisual or the
Layout-based approach
0.0181 Reject
Layout−based
Visual
1 2 3 4 5
(a) 2.2 - 2.6: Implementing the test suite was easy and in-
tuitive
Layout−based
Visual
1 2 3 4 5
(b) 2.3 - 2.7: The IDE was helpful in the creation of test
scripts
Visual
g
re
st
ge
st
ar,
he
ng
ns
s,
h
ng
n
h
ad
ot
es
be
ft
as
components, using theVisual or the
Layout-based approach
Layout−based
Visual
1 2 3 4 5
(a) 2.2 - 2.6: Implementing the test suite was easy and in-
tuitive
Layout−based
Visual
1 2 3 4 5
(b) 2.3 - 2.7: The IDE was helpful in the creation of test
scripts
Layout−based
Visual
ere
est
ge
est
Bar,
he
ng
ns
ns,
th
ng
in
th
ad
pot
es
be
eft
as
ms
der
Layout−based
Visual
1 2 3 4 5
(a) 2.2 - 2.6: Implementing the test suite was easy and in-
tuitive
Layout−based
Visual
1 2 3 4 5
(b) 2.3 - 2.7: The IDE was helpful in the creation of test
scripts
Layout−based
Visual
1 2 3 4 5
Ease of use
IDE support
Element identification
👍
🏻
👍
🏻
👍
🏻
Results: visual obstacles
• Issues with image recognition
• Capture size
• Click position
• Other issues (e.g. small images)
• Resolution / Portability
Results: layout-based obstacles
• Identifying widgets
• Missing / ambiguous properties
• Layout hierarchy
• Recording tool
Results
• RQ1: the learnability of the two tools is similar, for non-professional
developers approaching them.
• RQ2: the test suites developed with EyeAutomate possess a higher
quality than those developed with Espresso.
• Better quality has been achieved by the participants when manually writing
test scripts, as opposed to leveraging the Capture & Replay approach
implemented by Espresso Test Recorder.
Results
• RQ3: developing a test suite with EyeAutomate (w/EyeStudio IDE) is
slightly easier than with Espresso (w/Android Studio IDE)
• The main obstacles are:
• imprecision of the image recognition library
(especially with small elements and very simple patterns)
• difficulty of finding unambiguous layout properties
• Preference towards the visual approach
• higher intuitiveness and ease of use in building test scripts through screen
captures.
Summary
• Visual testing tools enable testers to deliver similar amount of tests
but with higher quality when compared to layout-based tools
• Visual testing tools exhibit problems in image capture and recognition
• Especially with small items
• Layout-based test scripts is difficult due to the incomplete or
ambiguous definition of GUI components or layouts
Take away
• If you are an app developer, then
• consider adopting “testability” guidelines
• If you are a tester, then
• think about visual tools
• If you are a visual tool developer, then
• improve image recognition
• If you are a layout-based tool developer, then
• improve script capturing
1 of 30

Recommended

Automated Generation, Evolution and Maintenance: a perspective for mobile GUI... by
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Riccardo Coppola
29 views75 slides
Resume by
ResumeResume
ResumePiyush Jain
248 views4 slides
Pragati_CV by
Pragati_CVPragati_CV
Pragati_CVPragati Maheshwari
238 views8 slides
NUPUR_BHATIA(2) by
NUPUR_BHATIA(2)NUPUR_BHATIA(2)
NUPUR_BHATIA(2)Ankur Bhatia
269 views3 slides
SynapseIndia mobile apps by
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile appsSynapseindiappsdevelopment
295 views12 slides
Test Automation Interview Questions and Answers | Edureka by
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaEdureka!
1.1K views53 slides

More Related Content

What's hot

MeghaKulkarni(2) by
MeghaKulkarni(2)MeghaKulkarni(2)
MeghaKulkarni(2)Megha k
129 views4 slides
Rahul chauhan resume by
Rahul chauhan resumeRahul chauhan resume
Rahul chauhan resumeRahul Chauhan
143 views3 slides
Test Automation for Mobile Applications: A Practical Guide by
Test Automation for Mobile Applications: A Practical GuideTest Automation for Mobile Applications: A Practical Guide
Test Automation for Mobile Applications: A Practical GuideTechWell
1.1K views23 slides
Top 50 Performance Testing Interview Questions | Edureka by
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | EdurekaEdureka!
301 views62 slides
Top ten software testing tools by
Top ten software testing toolsTop ten software testing tools
Top ten software testing toolsJanBask Training
4.3K views16 slides
GUI, Performance, Load and API testing with Test Studio by
GUI, Performance, Load and API testing with Test StudioGUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test StudioThessaloniki Software Testing and QA meetup
125 views19 slides

What's hot(20)

MeghaKulkarni(2) by Megha k
MeghaKulkarni(2)MeghaKulkarni(2)
MeghaKulkarni(2)
Megha k129 views
Test Automation for Mobile Applications: A Practical Guide by TechWell
Test Automation for Mobile Applications: A Practical GuideTest Automation for Mobile Applications: A Practical Guide
Test Automation for Mobile Applications: A Practical Guide
TechWell1.1K views
Top 50 Performance Testing Interview Questions | Edureka by Edureka!
Top 50 Performance Testing Interview Questions | EdurekaTop 50 Performance Testing Interview Questions | Edureka
Top 50 Performance Testing Interview Questions | Edureka
Edureka!301 views
Software Testing Basic Concepts by wesovi
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
wesovi870 views
Top 50 Software Testing Interview Questions & Answers | Edureka by Edureka!
Top 50 Software Testing Interview Questions & Answers | EdurekaTop 50 Software Testing Interview Questions & Answers | Edureka
Top 50 Software Testing Interview Questions & Answers | Edureka
Edureka!1.2K views
Career in Software Testing | Skills Required for Software Test Engineer | Edu... by Edureka!
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Edureka!449 views
Why Test Automation Fails by Ranorex
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
Ranorex4K views
PMBOK® Guide Edition 5 vs 6 | Edureka by Edureka!
PMBOK® Guide Edition 5 vs 6 | EdurekaPMBOK® Guide Edition 5 vs 6 | Edureka
PMBOK® Guide Edition 5 vs 6 | Edureka
Edureka!360 views
CV_Erfan Khan by Erfan khan
CV_Erfan KhanCV_Erfan Khan
CV_Erfan Khan
Erfan khan219 views
John Fodeh Adventures in Test Automation - EuroSTAR 2013 by TEST Huddle
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
TEST Huddle229 views
Open source software testing by imad8842
Open source  software testingOpen source  software testing
Open source software testing
imad884237 views
Vipin qa engineer-3.5+years_exp by Vipin Gupta
Vipin qa engineer-3.5+years_expVipin qa engineer-3.5+years_exp
Vipin qa engineer-3.5+years_exp
Vipin Gupta58 views

Similar to Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools

Fragility of Layout-based and Visual GUI test scripts: an assessment study on... by
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...Fragility of Layout-based and Visual GUI test scripts: an assessment study on...
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...Riccardo Coppola
206 views30 slides
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality by
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
52 views17 slides
Ooad by
OoadOoad
OoadGayathriRajalakshmi
3.9K views56 slides
Unit testing, UI testing and Test Driven Development in Visual Studio 2012 by
Unit testing, UI testing and Test Driven Development in Visual Studio 2012Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Unit testing, UI testing and Test Driven Development in Visual Studio 2012Jacinto Limjap
4.6K views28 slides
Visual regression with applitools eyes by
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyesShama Ugale
169 views21 slides
Testing Android Application, Droidcon Torino by
Testing Android Application, Droidcon TorinoTesting Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoPietro Alberto Rossi
575 views14 slides

Similar to Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools(20)

Fragility of Layout-based and Visual GUI test scripts: an assessment study on... by Riccardo Coppola
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...Fragility of Layout-based and Visual GUI test scripts: an assessment study on...
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...
Riccardo Coppola206 views
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality by Applitools
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Applitools52 views
Unit testing, UI testing and Test Driven Development in Visual Studio 2012 by Jacinto Limjap
Unit testing, UI testing and Test Driven Development in Visual Studio 2012Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Jacinto Limjap4.6K views
Visual regression with applitools eyes by Shama Ugale
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyes
Shama Ugale169 views
Automation Proposal_V1.0 by Dao Nhỏ
Automation Proposal_V1.0Automation Proposal_V1.0
Automation Proposal_V1.0
Dao Nhỏ106 views
Test automation in agile ecosystem by JohnRizer
Test automation in agile ecosystemTest automation in agile ecosystem
Test automation in agile ecosystem
JohnRizer547 views
Testing the UI of Mobile Applications by Marco Torchiano
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile Applications
Marco Torchiano337 views
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress... by TEST Huddle
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
TEST Huddle725 views
Software Testing - Online Guide by bigspire
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
bigspire659 views
Yamuna Chari(Experience -3years(Automation & Manual)) by Yamuna Chari
Yamuna Chari(Experience -3years(Automation & Manual))Yamuna Chari(Experience -3years(Automation & Manual))
Yamuna Chari(Experience -3years(Automation & Manual))
Yamuna Chari195 views
Yamuna chari(experience 3years(automation &amp; manual)) by Yamuna Chari
Yamuna chari(experience  3years(automation &amp; manual))Yamuna chari(experience  3years(automation &amp; manual))
Yamuna chari(experience 3years(automation &amp; manual))
Yamuna Chari145 views
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT by adamcarmi
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFTAdvanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
Advanced Cross-Browser Visual Testing with Applitools Eyes and HP LeanFT
adamcarmi2.7K views
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру... by RIF-Technology
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
RIF-Technology1.3K views
Creating a successful continuous testing environment by Eran Kinsbruner by QA or the Highway
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
QA or the Highway184 views
Manual testing1 by Raghu Sirka
Manual testing1Manual testing1
Manual testing1
Raghu Sirka1.5K views
Visual Studio 2015 / Visual Studio Team Services Overview by Himanshu Desai
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services Overview
Himanshu Desai1.1K views

More from Marco Torchiano

Software Engineering II Course at Politecnico di Torino by
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoMarco Torchiano
187 views14 slides
Research Activities: past, present, and future. by
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
185 views21 slides
Data Quality - Standards e Applicazioni by
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniMarco Torchiano
626 views32 slides
Data Quality - Standards and Application to Open Data by
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataMarco Torchiano
845 views62 slides
Data Visualization by
Data VisualizationData Visualization
Data VisualizationMarco Torchiano
908 views107 slides
Riflessioni su Riforma Costituzionale "Renzi-Boschi" by
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Marco Torchiano
205 views14 slides

More from Marco Torchiano(13)

Software Engineering II Course at Politecnico di Torino by Marco Torchiano
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di Torino
Marco Torchiano187 views
Research Activities: past, present, and future. by Marco Torchiano
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
Marco Torchiano185 views
Data Quality - Standards e Applicazioni by Marco Torchiano
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e Applicazioni
Marco Torchiano626 views
Data Quality - Standards and Application to Open Data by Marco Torchiano
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open Data
Marco Torchiano845 views
Riflessioni su Riforma Costituzionale "Renzi-Boschi" by Marco Torchiano
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Marco Torchiano205 views
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech... by Marco Torchiano
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Marco Torchiano392 views
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms by Marco Torchiano
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsEnergy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Marco Torchiano475 views
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech... by Marco Torchiano
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Marco Torchiano611 views
A Model-Based Approach to Language Integration by Marco Torchiano
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration
Marco Torchiano532 views
On the computation of Truck Factor by Marco Torchiano
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck Factor
Marco Torchiano444 views
Language Interaction and Quality Issues: An Exploratory Study by Marco Torchiano
Language Interaction and Quality Issues: An Exploratory StudyLanguage Interaction and Quality Issues: An Exploratory Study
Language Interaction and Quality Issues: An Exploratory Study
Marco Torchiano928 views
The impact of process maturity on defect density by Marco Torchiano
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect density
Marco Torchiano1.3K views

Recently uploaded

Electronic AWB - Electronic Air Waybill by
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill Freightoscope
7 views1 slide
Playwright Retries by
Playwright RetriesPlaywright Retries
Playwright Retriesartembondar5
7 views1 slide
nintendo_64.pptx by
nintendo_64.pptxnintendo_64.pptx
nintendo_64.pptxpaiga02016
7 views7 slides
Techstack Ltd at Slush 2023, Ukrainian delegation by
Techstack Ltd at Slush 2023, Ukrainian delegationTechstack Ltd at Slush 2023, Ukrainian delegation
Techstack Ltd at Slush 2023, Ukrainian delegationViktoriiaOpanasenko
8 views4 slides
Supercharging your Python Development Environment with VS Code and Dev Contai... by
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...Dawn Wages
9 views51 slides
Winter Projects GDSC IITK by
Winter Projects GDSC IITKWinter Projects GDSC IITK
Winter Projects GDSC IITKSahilSingh368445
511 views60 slides

Recently uploaded(20)

Electronic AWB - Electronic Air Waybill by Freightoscope
Electronic AWB - Electronic Air Waybill Electronic AWB - Electronic Air Waybill
Electronic AWB - Electronic Air Waybill
Freightoscope 7 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages9 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert37 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic17 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem447 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS13 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254559 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers49 views
Top-5-production-devconMunich-2023-v2.pptx by Tier1 app
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app9 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino9 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1225 views

Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools

  • 1. Espresso vs. EyeAutomate: comparing two generations of Android GUI testing Luca Ardito, Riccardo Coppola, Maurizio Morisio, and Marco Torchiano EASE 2019- Evaluation and Assessment in Software Engineering
  • 6. Testing mobile apps is hard • Wide variety of devices • Versions of OS • Screen aspect ratio • Display Hw vs. Sw buttons • Quick evolution of UIs • Test script fragility • Even minor UI changes can break tests
  • 7. End-2-End Testing Techniques • Manual • Scripted «E2E testing is used to test whether the flow of an application right from start to finish is behaving as expected»
  • 8. End-2-End Testing Techniques • Manual • Coordinate-based • Layout-based • Visual / Image Recognition Scripted
  • 9. End-2-End Testing Techniques • Manual • Coordinate-based : 1st generation • Layout-based : 2nd generation • Visual / Image Recognition : 3rd generation
  • 10. Layout-based testing Test scripts leverage the UI structure to • Identify and detect UI components • Interact with them
  • 12. Visual testing • Image recognition techniques are used to identify elements of the user interface to interact with. • Ease of definition of test cases with no tech knowledge required • only screen captures are needed • Can be applied seamlessly to any kind of software provided with an (emulated) user interface • Very high fragility to even minor changes in the GUI • Difficult in-depth testing of application functionalities.
  • 14. Experiment Goal • Analyze the E2E testing process • to understand what technique • Layout-based • Visual • yields • higher productivity • high quality of tests
  • 15. Experiment Goal • Analyze the E2E testing process • to understand what technique • Layout-based • Visual • yields • higher productivity • high quality of tests Omni-Notes Context Android native app: MSc Students in Software Engineering course
  • 16. Research Questions RQ1 Productivity: What is the productivity in test script production of graduate students with Visual and Layout-based testing tools for Android App testing? RQ2 Quality: What is the quality of the test suites produced by graduate students using Visual and Layout-based testing tools for Android App testing? RQ3 Obstacles: What are the perceived difficulties in applying Visual and Layout-based testing tools for Android App testing?
  • 17. Experiment Design Session 1 Session 2 Scenarios Eye Automate Test scripts Test scripts Feedback Test results Test results Feedback RQ3 RQ1 RQ2
  • 18. Scenarios Open Info Screen Open AboutActivity and verify that App icon and copyright notice are shown; Add a note Insert a note with custom title and content, and verify that it is shown in the note list; Search a note Input a note’s text in search bar, and verify that such note is shown; Check available languages Open Language option in SettingsActivity and verify that English, Italian and French language are available; Delete a note Delete and then restore a note from the TrashAc- tivity, then check that it is shown again in the MainActivity; Restore a note Add and then delete a note, and check that it is no longer shown in the MainActivity; Add note category Add a note category with custom name and color, and check that it is shown among available ones in the DrawerMenu.
  • 19. Feedback Questionnaire • Implementing the test suite with EyeAutomate / Espresso was easy and intuitive • The EyeStudio / Android Studio IDE was helpful in the creation of test scripts • It was easy to identify elements with the EyeAutomate / Espresso technique • What were the main issues in identifying elements of the screen using the EyeAutomate / Espresso testing approach? (Open) • Which tool would you choose if you had to perform E2E testing in the future? And why? (Open)
  • 20. ?(Open) Espresso frame- plementation of using the layout- elements of the rform UI testing omment) average number was 0.6. 21.5%) reported Layout−based Visual −0.25 0.00 0.25 −0.25 0.00 0.25 0 2 4 6 Productivity[testcases] Results: productivity ⚖️ No significant difference ( p = 0.625 )
  • 21. ?(Open) Espresso frame- plementation of using the layout- elements of the rform UI testing omment) average number was 0.6. 21.5%) reported Layout−based Visual −0.25 0.00 0.25 −0.25 0.00 0.25 0 2 4 6 Productivity[testcases] Layout−based No Yes 0 2 4 6 Productivity[testcases] Results: productivity Within Espresso student using Test Recorder (average 6.7) and those who didn’t (average 4.13) show a significant difference (p<0.001)
  • 22. Layout Visual −0.25 0.00 0.25 −0.25 0.00 0.25 0.00 0.25 0.50 0.75 1.00 TestCaseQuality Results: quality 👍 Significant difference ( p = 0.025 Cliff’s δ = 0.18 )
  • 23. Layout Visual −0.25 0.00 0.25 −0.25 0.00 0.25 0.00 0.25 0.50 0.75 1.00 TestCaseQuality Results: quality 👍 Layout−based No Yes 0.00 0.25 0.50 0.75 1.00 TestCaseQuality Within Espresso, student using Test Recorder (average 0.57) and those who didn’t (average 0.71) show a significant difference (p=0.021)
  • 24. Results: perception by ed g e st ge st ar, he g ns s, h g n h ad ot es be ft Hs30 participants’ perceived easiness in nding properties to discriminate GUI components, using theVisual or the Layout-based approach 0.0181 Reject Layout−based Visual 1 2 3 4 5 (a) 2.2 - 2.6: Implementing the test suite was easy and in- tuitive Layout−based Visual 1 2 3 4 5 (b) 2.3 - 2.7: The IDE was helpful in the creation of test scripts Visual g re st ge st ar, he ng ns s, h ng n h ad ot es be ft as components, using theVisual or the Layout-based approach Layout−based Visual 1 2 3 4 5 (a) 2.2 - 2.6: Implementing the test suite was easy and in- tuitive Layout−based Visual 1 2 3 4 5 (b) 2.3 - 2.7: The IDE was helpful in the creation of test scripts Layout−based Visual ere est ge est Bar, he ng ns ns, th ng in th ad pot es be eft as ms der Layout−based Visual 1 2 3 4 5 (a) 2.2 - 2.6: Implementing the test suite was easy and in- tuitive Layout−based Visual 1 2 3 4 5 (b) 2.3 - 2.7: The IDE was helpful in the creation of test scripts Layout−based Visual 1 2 3 4 5 Ease of use IDE support Element identification 👍 🏻 👍 🏻 👍 🏻
  • 25. Results: visual obstacles • Issues with image recognition • Capture size • Click position • Other issues (e.g. small images) • Resolution / Portability
  • 26. Results: layout-based obstacles • Identifying widgets • Missing / ambiguous properties • Layout hierarchy • Recording tool
  • 27. Results • RQ1: the learnability of the two tools is similar, for non-professional developers approaching them. • RQ2: the test suites developed with EyeAutomate possess a higher quality than those developed with Espresso. • Better quality has been achieved by the participants when manually writing test scripts, as opposed to leveraging the Capture & Replay approach implemented by Espresso Test Recorder.
  • 28. Results • RQ3: developing a test suite with EyeAutomate (w/EyeStudio IDE) is slightly easier than with Espresso (w/Android Studio IDE) • The main obstacles are: • imprecision of the image recognition library (especially with small elements and very simple patterns) • difficulty of finding unambiguous layout properties • Preference towards the visual approach • higher intuitiveness and ease of use in building test scripts through screen captures.
  • 29. Summary • Visual testing tools enable testers to deliver similar amount of tests but with higher quality when compared to layout-based tools • Visual testing tools exhibit problems in image capture and recognition • Especially with small items • Layout-based test scripts is difficult due to the incomplete or ambiguous definition of GUI components or layouts
  • 30. Take away • If you are an app developer, then • consider adopting “testability” guidelines • If you are a tester, then • think about visual tools • If you are a visual tool developer, then • improve image recognition • If you are a layout-based tool developer, then • improve script capturing

Editor's Notes

  1. The officially recommended tool for testing android apps