SlideShare a Scribd company logo
1 of 82
Download to read offline
ICSME’17
Shanghai, China
Wednesday, September 20th, 2017
Mario Linares-Vásquez,
Kevin Moran,
& Denys Poshyvanyk
Continuous, Evolutionary and
Large-Scale: A New Perspective for
Automated Mobile AppTesting
AUTOMATED MOBILE TESTING
Study FindingsStudies on Mobile
Testing Practices
Automated Input Generation for
Android Apps:Are We ThereYet?
Shauvik Roy Choudhary,Alessandra Gorla,
Alessandro Orso
Understanding the Test
Automation Culture of App
Developers
Pavneet Singh Kochhar, FerdianThung,
Nachiappan Nagappan,Thomas Zimmermann,
and David Lo
How Do Developers Test
Android Applications?
Mario Linares-Vasquez, Carlos Bernal-Cárdenas,
Kevin Moran, and Denys Poshyvanyk
AUTOMATED MOBILE TESTING
Study Findings
• Lack of Debugging Support
• Lack of Reproducible Test Cases
Studies on Mobile
Testing Practices
Automated Input Generation for
Android Apps:Are We ThereYet?
Shauvik Roy Choudhary,Alessandra Gorla,
Alessandro Orso
Understanding the Test
Automation Culture of App
Developers
Pavneet Singh Kochhar, FerdianThung,
Nachiappan Nagappan,Thomas Zimmermann,
and David Lo
How Do Developers Test
Android Applications?
Mario Linares-Vasquez, Carlos Bernal-Cárdenas,
Kevin Moran, and Denys Poshyvanyk
AUTOMATED MOBILE TESTING
Study Findings
• Lack of Debugging Support
• Lack of Reproducible Test Cases
Studies on Mobile
Testing Practices
Automated Input Generation for
Android Apps:Are We ThereYet?
Shauvik Roy Choudhary,Alessandra Gorla,
Alessandro Orso
Understanding the Test
Automation Culture of App
Developers
Pavneet Singh Kochhar, FerdianThung,
Nachiappan Nagappan,Thomas Zimmermann,
and David Lo
How Do Developers Test
Android Applications?
Mario Linares-Vasquez, Carlos Bernal-Cárdenas,
Kevin Moran, and Denys Poshyvanyk
• Mobile Apps Tend to be Poorly
Tested
• Testing is Done Mostly Manually
AUTOMATED MOBILE TESTING
Study Findings
• Lack of Debugging Support
• Lack of Reproducible Test Cases
Studies on Mobile
Testing Practices
Automated Input Generation for
Android Apps:Are We ThereYet?
Shauvik Roy Choudhary,Alessandra Gorla,
Alessandro Orso
Understanding the Test
Automation Culture of App
Developers
Pavneet Singh Kochhar, FerdianThung,
Nachiappan Nagappan,Thomas Zimmermann,
and David Lo
How Do Developers Test
Android Applications?
Mario Linares-Vasquez, Carlos Bernal-Cárdenas,
Kevin Moran, and Denys Poshyvanyk
• Mobile Apps Tend to be Poorly
Tested
• Testing is Done Mostly Manually
• Developers Prefer Use-Case
based Testing
• Test Quality Metrics need to be
rethought
AUTOMATED MOBILE TESTING
Study Findings
• Lack of Debugging Support
• Lack of Reproducible Test Cases
Studies on Mobile
Testing Practices
Automated Input Generation for
Android Apps:Are We ThereYet?
Shauvik Roy Choudhary,Alessandra Gorla,
Alessandro Orso
Understanding the Test
Automation Culture of App
Developers
Pavneet Singh Kochhar, FerdianThung,
Nachiappan Nagappan,Thomas Zimmermann,
and David Lo
How Do Developers Test
Android Applications?
Mario Linares-Vasquez, Carlos Bernal-Cárdenas,
Kevin Moran, and Denys Poshyvanyk
• Mobile Apps Tend to be Poorly
Tested
• Testing is Done Mostly Manually
• Developers Prefer Use-Case
based Testing
• Test Quality Metrics need to be
rethought
OUR VISION:
OUR VISION:
EASY TO USE & EFFECTIVE MOBILE TESTING BASED
ON THREE CORE PRINCIPLES:
CONTINUOUS, EVOLUTIONARY, & LARGE SCALE (CEL)
HOW DO WE GET THERE?
• Part 0: State of the Art & Practice
• Part 1: Existing Problems in Mobile App Testing
• Part2: Continuous, Evolutionary, & Large Scale
Mobile Testing
STATE OF THE ART & PRACTICE
OVERVIEW OF TOOLS & SERVICES
OVERVIEW OF TOOLS & SERVICES
• Automation Frameworks & APIs
• Record & Replay Tools
• Automated Input Generation
Tools
• Bug & Error Reporting
• Crowdsourced Testing
• Cloud Testing Services
• Device Streaming Tools
}
}
Traditional Android Test
Case Generation
Bug Reporting,
Crowdsourcing and Services
ANDROID TEST CASE GENERATION
AUTOMATION FRAMEWORKS & APIS
TESTS
JUnit, Espresso, UI Automator, Robotium
Monkey
AUTOMATION FRAMEWORKS & APIS
UI Automator
RECORD & REPLAY (R&R)
AUT/SUT
UI Events
Recorder Script
Scripts
UI Events
Monkey AUT/SUT
UI Events
AUTOMATED INPUT GENERATION TECHNIQUES (AIG)
AUTOMATED INPUT GENERATION TECHNIQUES (AIG)
• Differing Goals:
• Code Coverage
• Crashes
• Test Sequence Length
AUTOMATED INPUT GENERATION TECHNIQUES (AIG)
• Differing Goals:
• Code Coverage
• Crashes
• Test Sequence Length
• Three Main Types:
• Random-Based
• Systematic
• Model-Based
RANDOM/FUZZ TESTING
Monkey
X or Y ?
AUT/SUT
RANDOM/FUZZ TESTING
Monkey
X or Y ?
AUT/SUT
Event x
Invalid
EventY
Valid
GUI-RIPPING
Ripper/Extractor ModelAUT/SUT Monkey
GUI-RIPPING
Ripper/Extractor ModelAUT/SUT Monkey
A or B ?
GUI-RIPPING
Ripper/Extractor ModelAUT/SUT Monkey
Snapshot 1
Snapshot 1
GUI State 1
A or B ?
GUI-RIPPING
Ripper/Extractor ModelAUT/SUT Monkey
Snapshot 1
Snapshot 1
GUI State 1
Event 1
A or B ?
GUI-RIPPING
Ripper/Extractor ModelAUT/SUT Monkey
Snapshot 1
Snapshot 1
GUI State 1
Event 1
Snapshot 2
Snapshot 2
GUI State 2
A or B ?
SYSTEMATIC EXPLORATION
Monkey
A or B ?
Breadth-First (BF)Depth-First (DF)
Random (Uniform) Random (A-priori distr.)
Other options (online decision)
MODEL-BASED TESTING
UI Events
Model Monkey AUT/SUT
- Manually generated
- Automatically generated (source code)
- Ripped at runtime (upfront)
- Ripped at runtime (interactive)
EMERGING AIG APPROACHES
• Recently Introduced Approaches for AIG:
• Search-Based Approaches1
• Symbolic/Concolic Execution2
1Ke Mao, Mark Harman, andYue Jia. 2016. Sapienz: multi-objective automated testing for Android applications.
In Proceedings of the 25th International Symposium on SoftwareTesting and Analysis (ISSTA 2016)
2Nariman Mirzaei, Joshua Garcia, Hamid Bagheri,Alireza Sadeghi, and Sam Malek. 2016. Reducing
combinatorics in GUI testing of android applications. In Proceedings of the 38th International Conference on
Software Engineering (ICSE '16)
EMERGING AIG APPROACHES
Automation
Frameworks
✓ Easy reproduction
✓ High level syntax
✓ Black box testing
- Learning curve
- User-defined oracles
- Expensive maintenance
Record &
Replay
✓ Easy reproduction
- Expensive collection and
maintenance
- Coupled to locations
AIG: Random
Based
✓ Fast execution
✓ Good at finding crashes
- Invalid events
- Lack of expressiveness
AIG:
Systematic
✓ Achieves Reasonable Coverage
✓ May miss crashes
- Can be time consuming
- Typically cannot
exercise complex
features
AIG: Model
Based
✓ Event sequences
✓ Automatic exploration
- Some Invalid sequences
- State Explosion
- Incomplete models
BUG REPORTING AND CROWDSOURCED TESTING
BUG REPORTING SERVICES
AUT/SUTThird Party Library
Web Service
BUG REPORTING SERVICES
BUG REPORTING SERVICES
• Features of Bug
Reporting Services:
• Video Recording
• App Analytics
• Automated Crash
Reporting
BUG REPORTING SERVICES
• Features of Bug
Reporting Services:
• Video Recording
• App Analytics
• Automated Crash
Reporting
CROWDSOURCED TESTING SERVICES
AUT/SUTThird Party Service
CROWDSOURCED TESTING SERVICES
CROWDSOURCED TESTING SERVICES
• Types of Crowdsourced Testing Services:
• Expert Testing
• Functional Testing
• UX Testing
• Security Testing
• Localization Testing
DEVICE STREAMING SERVICES
Third Party Service
Third Party Service
TESTING SERVICES PROS & CONS
Bug Reporting
Services
✓ Allows for more details
about field failures
✓ App Analytics can help
with UI/UX design
- Can be expensive
- Requires integrating
library
- Typically do report GUI-
traces
TESTING SERVICES PROS & CONS
Crowdsourcing
Services
✓ Low effort required from
developers
✓ Expert tester might
uncover unexpected bugs
- Can be expensive
- May not fit within Agile
workflows
- Quality of Reports can
vary
Bug Reporting
Services
✓ Allows for more details
about field failures
✓ App Analytics can help
with UI/UX design
- Can be expensive
- Requires integrating
library
- Typically do report GUI-
traces
TESTING SERVICES PROS & CONS
Crowdsourcing
Services
✓ Low effort required from
developers
✓ Expert tester might
uncover unexpected bugs
- Can be expensive
- May not fit within Agile
workflows
- Quality of Reports can
vary
Bug Reporting
Services
✓ Allows for more details
about field failures
✓ App Analytics can help
with UI/UX design
- Can be expensive
- Requires integrating
library
- Typically do report GUI-
traces
Device
Streaming
✓ Allows remote users
access to controlled
devices
✓ Allows for collection of
detailed user
information
- Can be difficult to
configure
- Relies on strong network
connection
- Cannot simulate mobile
specific contexts like
sensors
CHALLENGES IN MOBILE APP TESTING
OVERVIEW OF CHALLENGES
• Fragmentation
• Test Flakiness
• Lack Mobile-Specific Fault Model
• Lack of Intelligent Test Case Generation
• Absence of Mobile Testing Oracles
• Lack of Support for Multiple Testing Goals
FRAGMENTATION
Credit: https://thenextweb.com/
TEST-FLAKINESS
GUITest Suite #1
TEST-FLAKINESS
GUITest Suite #1
TEST-FLAKINESS
GUITest Suite #1
TEST-FLAKINESS
GUITest Suite #1
GUITest Suite #1
TEST-FLAKINESS
GUITest Suite #1
GUITest Suite #1
TEST-FLAKINESS
GUITest Suite #1
GUITest Suite #1
MOBILE SPECIFIC FAULT MODEL
Issues
Documentation
User Reviews
Coding and
Categorization
Mobile Specific
Fault Taxonomy
& Model
Repository Mining
MOBILE SPECIFIC FAULT MODEL
Issues
Documentation
User Reviews
Coding and
Categorization
Mobile Specific
Fault Taxonomy
& Model
Repository Mining
Linares-Vásquez, M., Bavota, G.,Tufano, M., Moran, K.,
Di Penta, M.,Vendome, C., M., Bernal-Cárdenas,
C. and Poshyvanyk, D.,
“Enabling Mutation Testing for Android Apps”, 
in FSE’17
INTELLIGENT TEST CASE GENERATION
AIG Tool
INTELLIGENT TEST CASE GENERATION
AIG Tool
1)Tap on the
“CreateTask” Button
INTELLIGENT TEST CASE GENERATION
AIG Tool
1)Tap on the
“CreateTask” Button
2)Type “Get Milk” into
the “Task” EditText
INTELLIGENT TEST CASE GENERATION
AIG Tool
1)Tap on the
“CreateTask” Button
2)Type “Get Milk” into
the “Task” EditText
3)Tap on the “Done”
Button
INTELLIGENT TEST CASE GENERATION
AIG Tool
1)Tap on the
“CreateTask” Button
2)Type “Get Milk” into
the “Task” EditText
3)Tap on the “Done”
Button
3) ????
ABSENCE OF MOBILE TESTING ORACLES
AIG Tool
ABSENCE OF MOBILE TESTING ORACLES
AIG Tool
????
ABSENCE OF MOBILE TESTING ORACLES
AIG Tool
????
????
ABSENCE OF MOBILE TESTING ORACLES
AIG Tool
????
????
Reyhaneh Jabbarvand and Sam Malek,
“μDroid: An Energy-Aware Mutation Testing
Framework for Android”, 
in FSE’17
MULTIPLE TESTING GOALS
MULTIPLE TESTING GOALS
Test Specific Use Cases
SecurityTesting
Fuzz/StressTesting
EnergyTesting
PerformanceTesting
PlayTesting
MULTIPLE TESTING GOALS
Test Specific Use Cases
SecurityTesting
Fuzz/StressTesting
EnergyTesting
PerformanceTesting
PlayTesting
AutomatedTesting Approaches have mainly been
concerned with Destructive Testing
Developers need automated support for diverse
testing Goals!
OUR VISION: CONTINUOUS, EVOLUTIONARY
& LARGE SCALE MOBILE TESTING
CEL MOBILE TESTING PRINCIPLES
• Continuous
• Following the trends of CI/CD, Mobile testing for different
goals should happen in a continuous manner
• Evolutionary
• Testing should automatically adapt as an app evolves,
according to code, usage, or hardware/platform changes
• Large-Scale
• Parallelization of tests across different device
configurations
CEL ARCHITECTURE
APIs evolution
monitor
Changes Monitoring Subsystem
Developers
User reviews
APIs
Users
On-device
usages monitor
Source code
changes
monitor
Markets monitor
Source code
Impact analyzer
Execution
traces+ logs
analyzer
API
changes
analyzer
User reviews +
ratings analyzer
Models
repository
Models
generator
Test cases
generator
Large Execution Engine
Containers
Manager
Reports
repository
Reports
generator
Test cases
runner
Testing Artifacts Generation
Artifacts
repository
Multi-model
generator
Multi-model
repository
Test cases + oracles
Domain, GUI,
Usage, Contextual,
Faults models
Multi-model
CEL ARCHITECTURE
APIs evolution
monitor
Changes Monitoring Subsystem
Developers
User reviews
APIs
Users
On-device
usages monitor
Source code
changes
monitor
Markets monitor
Source code
Impact analyzer
Execution
traces+ logs
analyzer
API
changes
analyzer
User reviews +
ratings analyzer
Models
repository
Models
generator
Test cases
generator
Large Execution Engine
Containers
Manager
Reports
repository
Reports
generator
Test cases
runner
Testing Artifacts Generation
Artifacts
repository
Multi-model
generator
Multi-model
repository
Test cases + oracles
Domain, GUI,
Usage, Contextual,
Faults models
Multi-model
CEL ARCHITECTURE
APIs evolution
monitor
Changes Monitoring Subsystem
Developers
User reviews
APIs
Users
On-device
usages monitor
Source code
changes
monitor
Markets monitor
Source code
Impact analyzer
Execution
traces+ logs
analyzer
API
changes
analyzer
User reviews +
ratings analyzer
Models
repository
Models
generator
Test cases
generator
Large Execution Engine
Containers
Manager
Reports
repository
Reports
generator
Test cases
runner
Testing Artifacts Generation
Artifacts
repository
Multi-model
generator
Multi-model
repository
Test cases + oracles
Domain, GUI,
Usage, Contextual,
Faults models
Multi-model
CEL ARCHITECTURE
APIs evolution
monitor
Changes Monitoring Subsystem
Developers
User reviews
APIs
Users
On-device
usages monitor
Source code
changes
monitor
Markets monitor
Source code
Impact analyzer
Execution
traces+ logs
analyzer
API
changes
analyzer
User reviews +
ratings analyzer
Models
repository
Models
generator
Test cases
generator
Large Execution Engine
Containers
Manager
Reports
repository
Reports
generator
Test cases
runner
Testing Artifacts Generation
Artifacts
repository
Multi-model
generator
Multi-model
repository
Test cases + oracles
Domain, GUI,
Usage, Contextual,
Faults models
Multi-model
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
• Goal-Oriented Automated Test Case Generation
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
• Goal-Oriented Automated Test Case Generation
• Flexible Open Source Solutions for Large Scale/
Crowdsourced Testing
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
• Goal-Oriented Automated Test Case Generation
• Flexible Open Source Solutions for Large Scale/
Crowdsourced Testing
• Derivation of Oracles
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
• Goal-Oriented Automated Test Case Generation
• Flexible Open Source Solutions for Large Scale/
Crowdsourced Testing
• Derivation of Oracles
• MSR Support for Mobile Testing
DIRECTIONS FOR THE SE RESEARCH COMMUNITY
• Improved Model-Based Representations of Mobile Apps
• Goal-Oriented Automated Test Case Generation
• Flexible Open Source Solutions for Large Scale/
Crowdsourced Testing
• Derivation of Oracles
• MSR Support for Mobile Testing
• Developer Feedback Mechanisms
Any Questions?
Thank you!
Kevin Moran
Ph.D. candidate
kpmoran@cs.wm.edu
www.kpmoran.com
Denys Poshyvanyk
Associate Professor
denys@cs.wm.edu
cs.wm.edu/~denys
Mario LinaresVasquez
Assistant Professor
m.linaresv@uniandes.edu.co
sistemas.uniandes.edu.co/~mlinaresv

More Related Content

What's hot

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...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Riccardo Coppola
 
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsMachine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsKevin Moran
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingPerfecto by Perforce
 
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...SQALab
 
Adam carmi
Adam carmiAdam carmi
Adam carmiCodeFest
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsTechnologyAssociationOregon
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationFred Beringer
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation toolsSSGMCE SHEGAON
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile TestingApple Chow
 
Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testingRomania Testing
 
Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & ReleaseDhaval Patel
 
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...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Edureka!
 
Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Alaina Carter
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentationBitbar
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Perfecto Mobile
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsDominik Dary
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBitbar
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
 
Continuous code quality_in_java
Continuous code quality_in_javaContinuous code quality_in_java
Continuous code quality_in_javaManimekalai48
 

What's hot (20)

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...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
 
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile AppsMachine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...
Эвристики, мнемоники и другие греческие слова в исследовательском тестировани...
 
Adam carmi
Adam carmiAdam carmi
Adam carmi
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Android automation tools
Android automation toolsAndroid automation tools
Android automation tools
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 
Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testing
 
Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & Release
 
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...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
 
Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
Continuous code quality_in_java
Continuous code quality_in_javaContinuous code quality_in_java
Continuous code quality_in_java
 

Similar to Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing

HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2Hien Vo
 
Agile Mobile Testing Workshop
Agile Mobile Testing WorkshopAgile Mobile Testing Workshop
Agile Mobile Testing WorkshopNaresh Jain
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramQA or the Highway
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
 
Crowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application TestingCrowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application Testingmomoahmedabad
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practicesRakesh Jha
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101TechWell
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariJaved Ansari
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringMobilePundits
 
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...
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...Riccardo Coppola
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerJAXLondon_Conference
 
Step by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesStep by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesAlisha Henderson
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinkingIvano Malavolta
 
Saravanan B_Testing
Saravanan B_TestingSaravanan B_Testing
Saravanan B_TestingSaravanan B
 
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameWhy Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameAustin Marie Gay
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiacharan Teja
 

Similar to Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing (20)

HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2
 
Agile Mobile Testing Workshop
Agile Mobile Testing WorkshopAgile Mobile Testing Workshop
Agile Mobile Testing Workshop
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita Puram
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
Crowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application TestingCrowd Testing Framework : Mobile Application Testing
Crowd Testing Framework : Mobile Application Testing
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed Ansari
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
 
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...
Fragility of Layout-based and Visual GUI test scripts: an assessment study on...
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
 
Step by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategiesStep by-step mobile testing approaches and strategies
Step by-step mobile testing approaches and strategies
 
[2015/2016] Mobile thinking
[2015/2016] Mobile thinking[2015/2016] Mobile thinking
[2015/2016] Mobile thinking
 
Mobile Testing in the Cloud
Mobile Testing in the CloudMobile Testing in the Cloud
Mobile Testing in the Cloud
 
Kalyani_Kavade(1)
Kalyani_Kavade(1)Kalyani_Kavade(1)
Kalyani_Kavade(1)
 
Saravanan B_Testing
Saravanan B_TestingSaravanan B_Testing
Saravanan B_Testing
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
 
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameWhy Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
 
Thorsignia - Custom software development services in india
Thorsignia - Custom software development services in indiaThorsignia - Custom software development services in india
Thorsignia - Custom software development services in india
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing

  • 1. ICSME’17 Shanghai, China Wednesday, September 20th, 2017 Mario Linares-Vásquez, Kevin Moran, & Denys Poshyvanyk Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile AppTesting
  • 2.
  • 3.
  • 4.
  • 5. AUTOMATED MOBILE TESTING Study FindingsStudies on Mobile Testing Practices Automated Input Generation for Android Apps:Are We ThereYet? Shauvik Roy Choudhary,Alessandra Gorla, Alessandro Orso Understanding the Test Automation Culture of App Developers Pavneet Singh Kochhar, FerdianThung, Nachiappan Nagappan,Thomas Zimmermann, and David Lo How Do Developers Test Android Applications? Mario Linares-Vasquez, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk
  • 6. AUTOMATED MOBILE TESTING Study Findings • Lack of Debugging Support • Lack of Reproducible Test Cases Studies on Mobile Testing Practices Automated Input Generation for Android Apps:Are We ThereYet? Shauvik Roy Choudhary,Alessandra Gorla, Alessandro Orso Understanding the Test Automation Culture of App Developers Pavneet Singh Kochhar, FerdianThung, Nachiappan Nagappan,Thomas Zimmermann, and David Lo How Do Developers Test Android Applications? Mario Linares-Vasquez, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk
  • 7. AUTOMATED MOBILE TESTING Study Findings • Lack of Debugging Support • Lack of Reproducible Test Cases Studies on Mobile Testing Practices Automated Input Generation for Android Apps:Are We ThereYet? Shauvik Roy Choudhary,Alessandra Gorla, Alessandro Orso Understanding the Test Automation Culture of App Developers Pavneet Singh Kochhar, FerdianThung, Nachiappan Nagappan,Thomas Zimmermann, and David Lo How Do Developers Test Android Applications? Mario Linares-Vasquez, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk • Mobile Apps Tend to be Poorly Tested • Testing is Done Mostly Manually
  • 8. AUTOMATED MOBILE TESTING Study Findings • Lack of Debugging Support • Lack of Reproducible Test Cases Studies on Mobile Testing Practices Automated Input Generation for Android Apps:Are We ThereYet? Shauvik Roy Choudhary,Alessandra Gorla, Alessandro Orso Understanding the Test Automation Culture of App Developers Pavneet Singh Kochhar, FerdianThung, Nachiappan Nagappan,Thomas Zimmermann, and David Lo How Do Developers Test Android Applications? Mario Linares-Vasquez, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk • Mobile Apps Tend to be Poorly Tested • Testing is Done Mostly Manually • Developers Prefer Use-Case based Testing • Test Quality Metrics need to be rethought
  • 9. AUTOMATED MOBILE TESTING Study Findings • Lack of Debugging Support • Lack of Reproducible Test Cases Studies on Mobile Testing Practices Automated Input Generation for Android Apps:Are We ThereYet? Shauvik Roy Choudhary,Alessandra Gorla, Alessandro Orso Understanding the Test Automation Culture of App Developers Pavneet Singh Kochhar, FerdianThung, Nachiappan Nagappan,Thomas Zimmermann, and David Lo How Do Developers Test Android Applications? Mario Linares-Vasquez, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk • Mobile Apps Tend to be Poorly Tested • Testing is Done Mostly Manually • Developers Prefer Use-Case based Testing • Test Quality Metrics need to be rethought
  • 11. OUR VISION: EASY TO USE & EFFECTIVE MOBILE TESTING BASED ON THREE CORE PRINCIPLES: CONTINUOUS, EVOLUTIONARY, & LARGE SCALE (CEL)
  • 12. HOW DO WE GET THERE? • Part 0: State of the Art & Practice • Part 1: Existing Problems in Mobile App Testing • Part2: Continuous, Evolutionary, & Large Scale Mobile Testing
  • 13. STATE OF THE ART & PRACTICE
  • 14. OVERVIEW OF TOOLS & SERVICES
  • 15. OVERVIEW OF TOOLS & SERVICES • Automation Frameworks & APIs • Record & Replay Tools • Automated Input Generation Tools • Bug & Error Reporting • Crowdsourced Testing • Cloud Testing Services • Device Streaming Tools } } Traditional Android Test Case Generation Bug Reporting, Crowdsourcing and Services
  • 16. ANDROID TEST CASE GENERATION
  • 17. AUTOMATION FRAMEWORKS & APIS TESTS JUnit, Espresso, UI Automator, Robotium Monkey
  • 18. AUTOMATION FRAMEWORKS & APIS UI Automator
  • 19. RECORD & REPLAY (R&R) AUT/SUT UI Events Recorder Script Scripts UI Events Monkey AUT/SUT UI Events
  • 20. AUTOMATED INPUT GENERATION TECHNIQUES (AIG)
  • 21. AUTOMATED INPUT GENERATION TECHNIQUES (AIG) • Differing Goals: • Code Coverage • Crashes • Test Sequence Length
  • 22. AUTOMATED INPUT GENERATION TECHNIQUES (AIG) • Differing Goals: • Code Coverage • Crashes • Test Sequence Length • Three Main Types: • Random-Based • Systematic • Model-Based
  • 24. RANDOM/FUZZ TESTING Monkey X or Y ? AUT/SUT Event x Invalid EventY Valid
  • 28. GUI-RIPPING Ripper/Extractor ModelAUT/SUT Monkey Snapshot 1 Snapshot 1 GUI State 1 Event 1 A or B ?
  • 29. GUI-RIPPING Ripper/Extractor ModelAUT/SUT Monkey Snapshot 1 Snapshot 1 GUI State 1 Event 1 Snapshot 2 Snapshot 2 GUI State 2 A or B ?
  • 30. SYSTEMATIC EXPLORATION Monkey A or B ? Breadth-First (BF)Depth-First (DF) Random (Uniform) Random (A-priori distr.) Other options (online decision)
  • 31. MODEL-BASED TESTING UI Events Model Monkey AUT/SUT - Manually generated - Automatically generated (source code) - Ripped at runtime (upfront) - Ripped at runtime (interactive)
  • 32. EMERGING AIG APPROACHES • Recently Introduced Approaches for AIG: • Search-Based Approaches1 • Symbolic/Concolic Execution2 1Ke Mao, Mark Harman, andYue Jia. 2016. Sapienz: multi-objective automated testing for Android applications. In Proceedings of the 25th International Symposium on SoftwareTesting and Analysis (ISSTA 2016) 2Nariman Mirzaei, Joshua Garcia, Hamid Bagheri,Alireza Sadeghi, and Sam Malek. 2016. Reducing combinatorics in GUI testing of android applications. In Proceedings of the 38th International Conference on Software Engineering (ICSE '16)
  • 33. EMERGING AIG APPROACHES Automation Frameworks ✓ Easy reproduction ✓ High level syntax ✓ Black box testing - Learning curve - User-defined oracles - Expensive maintenance Record & Replay ✓ Easy reproduction - Expensive collection and maintenance - Coupled to locations AIG: Random Based ✓ Fast execution ✓ Good at finding crashes - Invalid events - Lack of expressiveness AIG: Systematic ✓ Achieves Reasonable Coverage ✓ May miss crashes - Can be time consuming - Typically cannot exercise complex features AIG: Model Based ✓ Event sequences ✓ Automatic exploration - Some Invalid sequences - State Explosion - Incomplete models
  • 34. BUG REPORTING AND CROWDSOURCED TESTING
  • 35. BUG REPORTING SERVICES AUT/SUTThird Party Library Web Service
  • 37. BUG REPORTING SERVICES • Features of Bug Reporting Services: • Video Recording • App Analytics • Automated Crash Reporting
  • 38. BUG REPORTING SERVICES • Features of Bug Reporting Services: • Video Recording • App Analytics • Automated Crash Reporting
  • 41. CROWDSOURCED TESTING SERVICES • Types of Crowdsourced Testing Services: • Expert Testing • Functional Testing • UX Testing • Security Testing • Localization Testing
  • 42. DEVICE STREAMING SERVICES Third Party Service Third Party Service
  • 43. TESTING SERVICES PROS & CONS Bug Reporting Services ✓ Allows for more details about field failures ✓ App Analytics can help with UI/UX design - Can be expensive - Requires integrating library - Typically do report GUI- traces
  • 44. TESTING SERVICES PROS & CONS Crowdsourcing Services ✓ Low effort required from developers ✓ Expert tester might uncover unexpected bugs - Can be expensive - May not fit within Agile workflows - Quality of Reports can vary Bug Reporting Services ✓ Allows for more details about field failures ✓ App Analytics can help with UI/UX design - Can be expensive - Requires integrating library - Typically do report GUI- traces
  • 45. TESTING SERVICES PROS & CONS Crowdsourcing Services ✓ Low effort required from developers ✓ Expert tester might uncover unexpected bugs - Can be expensive - May not fit within Agile workflows - Quality of Reports can vary Bug Reporting Services ✓ Allows for more details about field failures ✓ App Analytics can help with UI/UX design - Can be expensive - Requires integrating library - Typically do report GUI- traces Device Streaming ✓ Allows remote users access to controlled devices ✓ Allows for collection of detailed user information - Can be difficult to configure - Relies on strong network connection - Cannot simulate mobile specific contexts like sensors
  • 46. CHALLENGES IN MOBILE APP TESTING
  • 47. OVERVIEW OF CHALLENGES • Fragmentation • Test Flakiness • Lack Mobile-Specific Fault Model • Lack of Intelligent Test Case Generation • Absence of Mobile Testing Oracles • Lack of Support for Multiple Testing Goals
  • 55. MOBILE SPECIFIC FAULT MODEL Issues Documentation User Reviews Coding and Categorization Mobile Specific Fault Taxonomy & Model Repository Mining
  • 56. MOBILE SPECIFIC FAULT MODEL Issues Documentation User Reviews Coding and Categorization Mobile Specific Fault Taxonomy & Model Repository Mining Linares-Vásquez, M., Bavota, G.,Tufano, M., Moran, K., Di Penta, M.,Vendome, C., M., Bernal-Cárdenas, C. and Poshyvanyk, D., “Enabling Mutation Testing for Android Apps”,  in FSE’17
  • 57. INTELLIGENT TEST CASE GENERATION AIG Tool
  • 58. INTELLIGENT TEST CASE GENERATION AIG Tool 1)Tap on the “CreateTask” Button
  • 59. INTELLIGENT TEST CASE GENERATION AIG Tool 1)Tap on the “CreateTask” Button 2)Type “Get Milk” into the “Task” EditText
  • 60. INTELLIGENT TEST CASE GENERATION AIG Tool 1)Tap on the “CreateTask” Button 2)Type “Get Milk” into the “Task” EditText 3)Tap on the “Done” Button
  • 61. INTELLIGENT TEST CASE GENERATION AIG Tool 1)Tap on the “CreateTask” Button 2)Type “Get Milk” into the “Task” EditText 3)Tap on the “Done” Button 3) ????
  • 62. ABSENCE OF MOBILE TESTING ORACLES AIG Tool
  • 63. ABSENCE OF MOBILE TESTING ORACLES AIG Tool ????
  • 64. ABSENCE OF MOBILE TESTING ORACLES AIG Tool ???? ????
  • 65. ABSENCE OF MOBILE TESTING ORACLES AIG Tool ???? ???? Reyhaneh Jabbarvand and Sam Malek, “μDroid: An Energy-Aware Mutation Testing Framework for Android”,  in FSE’17
  • 67. MULTIPLE TESTING GOALS Test Specific Use Cases SecurityTesting Fuzz/StressTesting EnergyTesting PerformanceTesting PlayTesting
  • 68. MULTIPLE TESTING GOALS Test Specific Use Cases SecurityTesting Fuzz/StressTesting EnergyTesting PerformanceTesting PlayTesting AutomatedTesting Approaches have mainly been concerned with Destructive Testing Developers need automated support for diverse testing Goals!
  • 69. OUR VISION: CONTINUOUS, EVOLUTIONARY & LARGE SCALE MOBILE TESTING
  • 70. CEL MOBILE TESTING PRINCIPLES • Continuous • Following the trends of CI/CD, Mobile testing for different goals should happen in a continuous manner • Evolutionary • Testing should automatically adapt as an app evolves, according to code, usage, or hardware/platform changes • Large-Scale • Parallelization of tests across different device configurations
  • 71. CEL ARCHITECTURE APIs evolution monitor Changes Monitoring Subsystem Developers User reviews APIs Users On-device usages monitor Source code changes monitor Markets monitor Source code Impact analyzer Execution traces+ logs analyzer API changes analyzer User reviews + ratings analyzer Models repository Models generator Test cases generator Large Execution Engine Containers Manager Reports repository Reports generator Test cases runner Testing Artifacts Generation Artifacts repository Multi-model generator Multi-model repository Test cases + oracles Domain, GUI, Usage, Contextual, Faults models Multi-model
  • 72. CEL ARCHITECTURE APIs evolution monitor Changes Monitoring Subsystem Developers User reviews APIs Users On-device usages monitor Source code changes monitor Markets monitor Source code Impact analyzer Execution traces+ logs analyzer API changes analyzer User reviews + ratings analyzer Models repository Models generator Test cases generator Large Execution Engine Containers Manager Reports repository Reports generator Test cases runner Testing Artifacts Generation Artifacts repository Multi-model generator Multi-model repository Test cases + oracles Domain, GUI, Usage, Contextual, Faults models Multi-model
  • 73. CEL ARCHITECTURE APIs evolution monitor Changes Monitoring Subsystem Developers User reviews APIs Users On-device usages monitor Source code changes monitor Markets monitor Source code Impact analyzer Execution traces+ logs analyzer API changes analyzer User reviews + ratings analyzer Models repository Models generator Test cases generator Large Execution Engine Containers Manager Reports repository Reports generator Test cases runner Testing Artifacts Generation Artifacts repository Multi-model generator Multi-model repository Test cases + oracles Domain, GUI, Usage, Contextual, Faults models Multi-model
  • 74. CEL ARCHITECTURE APIs evolution monitor Changes Monitoring Subsystem Developers User reviews APIs Users On-device usages monitor Source code changes monitor Markets monitor Source code Impact analyzer Execution traces+ logs analyzer API changes analyzer User reviews + ratings analyzer Models repository Models generator Test cases generator Large Execution Engine Containers Manager Reports repository Reports generator Test cases runner Testing Artifacts Generation Artifacts repository Multi-model generator Multi-model repository Test cases + oracles Domain, GUI, Usage, Contextual, Faults models Multi-model
  • 75. DIRECTIONS FOR THE SE RESEARCH COMMUNITY
  • 76. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps
  • 77. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps • Goal-Oriented Automated Test Case Generation
  • 78. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps • Goal-Oriented Automated Test Case Generation • Flexible Open Source Solutions for Large Scale/ Crowdsourced Testing
  • 79. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps • Goal-Oriented Automated Test Case Generation • Flexible Open Source Solutions for Large Scale/ Crowdsourced Testing • Derivation of Oracles
  • 80. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps • Goal-Oriented Automated Test Case Generation • Flexible Open Source Solutions for Large Scale/ Crowdsourced Testing • Derivation of Oracles • MSR Support for Mobile Testing
  • 81. DIRECTIONS FOR THE SE RESEARCH COMMUNITY • Improved Model-Based Representations of Mobile Apps • Goal-Oriented Automated Test Case Generation • Flexible Open Source Solutions for Large Scale/ Crowdsourced Testing • Derivation of Oracles • MSR Support for Mobile Testing • Developer Feedback Mechanisms
  • 82. Any Questions? Thank you! Kevin Moran Ph.D. candidate kpmoran@cs.wm.edu www.kpmoran.com Denys Poshyvanyk Associate Professor denys@cs.wm.edu cs.wm.edu/~denys Mario LinaresVasquez Assistant Professor m.linaresv@uniandes.edu.co sistemas.uniandes.edu.co/~mlinaresv