SlideShare a Scribd company logo
1 of 30
Speed to Market in Mobile
Development
Finding the right solution with continuous
integration on real devices
Agenda
 Mobile trends & developers’ challenges
 Speed & quality through continuous integration
- Intuit Virtual Device Lab
- Intuit mobile test automation

 Takeaways
Aggressive mobile momentum
Will surpass desktop
by 2014
Proliferation of platforms, OS
versions & device types

It should just work!

“2013 Internet Trends,” KPCB
•

Developer challenges

Immense configuration matrix
–
–
–

•

Application delivery through the markets
–

•

Network, different network bandwidth/latency, no-network
HTML5 offline app

Media challenges
–
–

•

App signing, provision (app & device), submission

Offline experience
–
–

•

OS platforms (Android, iOS, Windows, phone vs. tablet, …)
Inputs (touch/gesture, real buttons, voice, camera, GPS receiver)
Outputs (portrait/landscape, screen resolution, language)

Some codecs don’t work on a device
Streaming, sound

Security & privacy
Intuit mobile app portfolio today
22
Apple

15
Google

11
Amazon

3
SMS

491 mobile apps for financial institutions
0

5

10

15

20

490
Ramping up Intuit’s innovation engine
Pain: Takes days per build to test
combinations of device/OS configurations
physically & manually, one by one …
QA can’t keep up with the changes
Goal: Reduce development iteration cycle
from days to minutes on an ever-growing
number of devices
Strategy: Speed & quality through mobile
continuous integration

Platforms

Devices

X
• Apple
• Google
• Amazon

OS
versions

X
•
•
•
•
•
•

iPhone 4
iPhone 4S
iPhone 5
iPad 2
iPad 3
iPad Mini

Builds

X
•
•
•
•
•

iOS 5.0
iOS 5.1
iOS 6.0
iOS 6.1.x
iOS 7.0

Daily
builds
What is CI?

•
•
•
•

Continuous integration (CI)

Automate build, test & deployment process
Integrate & build early, often, daily, for every check-in
Best practice of Agile development
Jenkins is widely adopted, flexible & extensible
Benefits of CI in a mobile world

• Instant feedback on quality, functionality & system
impact
• Less complex, no integration hell
• Detect and address device configuration issues early
• Involve stakeholders early
• Ultimately achieve shippable release any time
Speed and quality

Developers/
IDE
Check in

Test results

through mobile CI

Process starts here

SCM: source
repository
Submit the app to
app store if passed

Analyze
test results

Key enablers:

Check-in
triggers
automated CI

• Mobile device lab
• Test automation

Automatic
test run

Run tests on real
devices in parallel

Jenkins

Trigger testing in
mobile device lab

Real
devices

Test processor
Install the test app to
real devices in parallel
rd-party
3

vendor solutions didn’t work for us

• Couldn’t handle E2E automation of testing pre-release apps
– Dependency on internal resources & infrastructure

• Vendor lock-in: customized CI & test automation solutions
– No flexibility to use our existing tools & frameworks

• Disadvantages of vendors’ shared devices
– Security concern on testing on shared devices
– No access to corporate network
– Cost-prohibitive to reserve devices

• Private cloud (on-site setup) with local devices not practical
– With sensitive customer data, we need private cloud
– Extensive use of devices for daily testing of hundreds of mobile apps is expensive
Why test on real devices?
Most mobile features can be tested on simulators,
but simulators have limitations:
• Device capabilities (GPS, camera, accelerometer,
gyros), form factors & pixel density
• Real-world experience over the real connection
(3G, 4G, crappy Wi-Fi, etc.)
• True performance, security tests
• Testing on non-default Web browsers (e.g.,
Opera Mini)
• Not all simulator/emulators have good quality
(don’t reflect real rendering/behavior, bugs)
• Testing SMS & app integration
Intuit Virtual Device Lab
Intuit Virtual Device Lab (VDL)
Gives access to real mobile devices using a browser
3-click access

User machine

Always on
Intranet

User machine

User machine
VDL

Manufacturers/
devices:

iPhone
iPad

Galaxy
Captivate

Droid
Milestone
Moto

Optimus

Globally available

Integrated with
dev infrastructure

Nexus

One
Desire
Incredible
VDL architecture – Android
Internet/intr
anet

Device
interaction app

Windows PC
Tomcat

USB connection
Image
transfer

Java image
transferring
application

Browser &
Java applet
Developer’s laptop

VDL
VDL architecture – iOS
Internet/intr
anet

Mac with Xcode
installed

VNC server

Tomcat
USB connection
Port
forwarding

Java VNC
client

Browser &
Java applet
Developer’s laptop

VDL
Open source tools & technologies used in VDL
Key capabilities

Android

Installing mobile applications into the adb install <APK file>
real device

iOS

Fruitstrap
https://github.com/ghughes/fruitstrap

Transferring device screen images,
controlling device

Screencast tool
Veency VNC app
http://code.google.com/p/androidscre
encast

Fetching device local files

adb pull <filename>

sftp command
(jailbroken devices only)
VDL key features & functionality today
Control the device through standard browser/RESTful
APIs
Change orientation to landscape or portrait
Copy local file to the device from your PC
Get file from the device onto your local PC
Execute an ADB command on the device

See current running logs in your browser
Download history logs to your local PC
Continuous integration – how it works
Trigger file launches test

Monito
r for
new
builds

Resource
manager
Test execution
engine

Product builds

Results

Select a device

VDL device
inventory
Mobile continuous integration

Leveraging the Virtual Device Lab for test automation on multiple, real devices simultaneously.

1 Select devices & tests

2 Tests run automatically across selected devices
with each build

Submit, build, test … in minutes vs. hours

3 See the results!
Next step: over-the-air replaces USB connection
VDL

Fast onboarding

App
installation

Scalable
Test
execution

Results
retrieval

Internet/intr
anet

Any device
Mobile Test Automation
Mobile test automation tools
iOS
Instrumentation-based

Android

MonkeyTalk
Frank

Calabash
(LessPainful)

TestDroid (BitBar)

UISpec

Robotium

UIAutomation
iOS SDK

Soasta
iOS Driver

Appium

Non-instrumentation

MOET
Sikuli

Cross-platform solution

Android SDK

MonkeyRunner

DA/PerfectoMob
ile
eggPlant

• Assessed as of 2012
Mobile test automation trends

• Abstraction with domain-specific language (DSL)
–
–

Common test script over different devices (e.g., Cucumber, MonkeyScript, MOET)
Support behavior-driven development (BDD)

• Client/server-based approach (remotely driven tests via HTTP)
• Instrumentation & non-instrumentation solutions complement
each other
• Mobile cloud testing environment
–

From hardware (cradle) to software approach to drive tests on
real devices

• Automated OTA app installation & tests
Intuit automation framework of
choice/recommendation

• Native apps:

– Cucumber + Calabash for BDD on iOS &
Android
• Mobile Web:

– Selenium/WebDriver
What is Cucumber?
It lets stakeholders (customers, QE or developers)
describe how software should behave in plain
text.
•

BDD: Written in business domain-specific language (DSL)

– Good abstraction over different device types
•

One format for multiple purposes

– UI feature specification
– Automated tests
•

Cucumber itself is NOT a test automation tool

– Add-on to any test automation framework
– Examples: Calabash, Sikuli & Frank mobile test
frameworks
What is Calabash?

• Open source cross-platform mobile test framework

– iOS + Android, simulator + real device, native + hybrid
• Supports Cucumber for BDD
• Application needs instrumentation that embeds a Calabash HTTP server

– Tests run from a remote client (in a Jenkins slave)
– Tests can be driven via Wi-Fi (no USB wire)
• Ruby clients in API level (Java clients in experiment)
• Works great in touch simulation & real device testing
Intuit shared test library – rapid test development
Common test library
High-level test domain-specific language
(Cucumber steps)
Mobile
front-end

Product tests
Teams focus on
creating

Native/hybrid test framework

Use shared test lib

Tests
Tests
Tests
Tests

Globalization test framework
(I18N/L10N)
Security test framework
Mobile
back-end

Performance/load test framework

Internal open source repository

Contribute

… and then contribute to
common test library
Stunning results: reduced iteration cycle from hours to minutes
From: manual

10

5

Code
build

Notify
email

Consolidate
report

* 50*5
= 250

Upload
report

30

Get
devices

10

= 6 hours

20

15

30
15

To: automated CI
Code
build

Trigger

Deploy on
devices

Execute tests in
parallel

Consolidated
report in archive

0

5

10

0

Tested on 5 devices

Release quality increased

= 15 mins

TIME SAVED: 95%
VDL cost saving over vendors’ private clouds (today)
Assumptions: 50 native apps &
Annual
cost ($)

daily check-in

3rd-party vendor 1
local device in cradle

3rd-party vendor 2
local device w/o cradle
(Software approach)

Savings
Savings

Intuit Virtual Device Lab

25

150
Private cloud setup behind corp firewall

# of devices

Note: As vendor pricing changes,
so do the savings
Key takeaways
Building custom solution vs.

rd-party
3

vendor solution

 Understand your technical/platform/global spread
 Many vendor solutions provide a larger set of devices/OS versions
in the global market
 Quite a few offer mobile test services – might be tightly coupled with their
device access solution & automation framework
 Connecting to your corporate network is a challenge – some provide private
cloud (on-site setup within your network) but it’s cost-prohibitive

Invest in automation and CI
 Automate tests with robust automation framework
 Enable rapid test development through shared test library
 Adopt CI in mobile development for speed & quality
Thank you!!

More Related Content

What's hot

Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariJaved Ansari
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
Cloud based Testing Mobile Apps
Cloud based Testing Mobile AppsCloud based Testing Mobile Apps
Cloud based Testing Mobile AppsIndicThreads
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_pptsayhi2sudarshan
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBitbar
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1Jyothirmayee Pola
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017Amir Rozenberg
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App TestingSWAAM Tech
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterDevendra Singh
 
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?Sauce Labs
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testingSatyajit Malugu
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaEdureka!
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorialLokesh Agrawal
 

What's hot (18)

Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed Ansari
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Cloud based Testing Mobile Apps
Cloud based Testing Mobile AppsCloud based Testing Mobile Apps
Cloud based Testing Mobile Apps
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_ppt
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
 
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
SauceCon 2017: Are Manual Testers Needed In Automated DevOps World?
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testing
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | Edureka
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
SHESHANK_DASARI
SHESHANK_DASARISHESHANK_DASARI
SHESHANK_DASARI
 

Viewers also liked

Literaturni zhurnali ukrayini
Literaturni zhurnali ukrayiniLiteraturni zhurnali ukrayini
Literaturni zhurnali ukrayinidarkluminor
 
Informativo 01 equipes inscritas
Informativo 01  equipes inscritasInformativo 01  equipes inscritas
Informativo 01 equipes inscritasPaulo Corrêa
 
Tänk om grundsärskolan
Tänk om grundsärskolanTänk om grundsärskolan
Tänk om grundsärskolanlindagullberg
 
Informativo 01 equipes inscritas
Informativo 01  equipes inscritasInformativo 01  equipes inscritas
Informativo 01 equipes inscritasPaulo Corrêa
 
Sejarahsistempemerintahanindonesia 111205195822-phpapp01
Sejarahsistempemerintahanindonesia 111205195822-phpapp01Sejarahsistempemerintahanindonesia 111205195822-phpapp01
Sejarahsistempemerintahanindonesia 111205195822-phpapp01Asep Misdan
 
Literaturni zhurnali ukrayini
Literaturni zhurnali ukrayiniLiteraturni zhurnali ukrayini
Literaturni zhurnali ukrayinidarkluminor
 
Power point rol docente
Power point rol docentePower point rol docente
Power point rol docenteVane Mpv
 
Boletim 16 rodada das finais
Boletim 16  rodada das finaisBoletim 16  rodada das finais
Boletim 16 rodada das finaisPaulo Corrêa
 
Power point rol alumno
Power point rol alumnoPower point rol alumno
Power point rol alumnoVane Mpv
 
Mutasi gen pada penderita leukimia
Mutasi gen pada penderita leukimiaMutasi gen pada penderita leukimia
Mutasi gen pada penderita leukimiaWindi Apsari
 
Power point rol docente
Power point rol docentePower point rol docente
Power point rol docenteVane Mpv
 

Viewers also liked (18)

Venn diagrams
Venn diagramsVenn diagrams
Venn diagrams
 
Bahasa Inggris
Bahasa InggrisBahasa Inggris
Bahasa Inggris
 
INVESTIGACION
INVESTIGACIONINVESTIGACION
INVESTIGACION
 
Literaturni zhurnali ukrayini
Literaturni zhurnali ukrayiniLiteraturni zhurnali ukrayini
Literaturni zhurnali ukrayini
 
Informativo 01 equipes inscritas
Informativo 01  equipes inscritasInformativo 01  equipes inscritas
Informativo 01 equipes inscritas
 
Tänk om grundsärskolan
Tänk om grundsärskolanTänk om grundsärskolan
Tänk om grundsärskolan
 
Informativo 01 equipes inscritas
Informativo 01  equipes inscritasInformativo 01  equipes inscritas
Informativo 01 equipes inscritas
 
Sejarahsistempemerintahanindonesia 111205195822-phpapp01
Sejarahsistempemerintahanindonesia 111205195822-phpapp01Sejarahsistempemerintahanindonesia 111205195822-phpapp01
Sejarahsistempemerintahanindonesia 111205195822-phpapp01
 
Literaturni zhurnali ukrayini
Literaturni zhurnali ukrayiniLiteraturni zhurnali ukrayini
Literaturni zhurnali ukrayini
 
Pinterest 101.ppt
Pinterest 101.pptPinterest 101.ppt
Pinterest 101.ppt
 
Power point rol docente
Power point rol docentePower point rol docente
Power point rol docente
 
YOUR SAFETY
YOUR SAFETYYOUR SAFETY
YOUR SAFETY
 
The lastresort
The lastresortThe lastresort
The lastresort
 
Boletim 16 rodada das finais
Boletim 16  rodada das finaisBoletim 16  rodada das finais
Boletim 16 rodada das finais
 
Power point rol alumno
Power point rol alumnoPower point rol alumno
Power point rol alumno
 
Mutasi gen pada penderita leukimia
Mutasi gen pada penderita leukimiaMutasi gen pada penderita leukimia
Mutasi gen pada penderita leukimia
 
Power point rol docente
Power point rol docentePower point rol docente
Power point rol docente
 
Shakira
ShakiraShakira
Shakira
 

Similar to Droid con slides 2013 mobileci-v1.0

Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile DevelopmentTina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
SeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by ExperitestSeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by ExperitestExperitest
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testingmomobangalore
 
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
 
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation  By Yuval GolanMobile QA Metrics Risks and Automation Presentation  By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation By Yuval GolanYuval Golan
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Skytap Cloud
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareLeaware.com
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star eastPerfecto Mobile
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs
 
Mobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio TeamsMobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio TeamsPerfecto by Perforce
 
ICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISHICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISHMarcel Diepenbroek
 
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...kalichargn70th171
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 

Similar to Droid con slides 2013 mobileci-v1.0 (20)

Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile Development
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
SeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by ExperitestSeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by Experitest
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testing
 
Introducing AWS Device Farm
Introducing AWS Device FarmIntroducing AWS Device Farm
Introducing AWS Device Farm
 
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
 
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation  By Yuval GolanMobile QA Metrics Risks and Automation Presentation  By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
 
Mobile Testing
Mobile TestingMobile Testing
Mobile Testing
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by Leaware
 
Juc oct 2014 final
Juc oct 2014 finalJuc oct 2014 final
Juc oct 2014 final
 
Appium vs Appium with Perfecto
Appium vs Appium with PerfectoAppium vs Appium with Perfecto
Appium vs Appium with Perfecto
 
Appium vs. Appium with Perfecto
Appium vs. Appium with PerfectoAppium vs. Appium with Perfecto
Appium vs. Appium with Perfecto
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
 
Mobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio TeamsMobile and Web App Testing for Visual Studio Teams
Mobile and Web App Testing for Visual Studio Teams
 
ICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISHICTestAutomation TrendIC 2016 ENGLISH
ICTestAutomation TrendIC 2016 ENGLISH
 
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...
A Comprehensive Guide to Leveraging Device Farms for Maximum Testing Efficien...
 
Raji_QA
Raji_QARaji_QA
Raji_QA
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 

Recently uploaded

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Droid con slides 2013 mobileci-v1.0

  • 1. Speed to Market in Mobile Development Finding the right solution with continuous integration on real devices
  • 2. Agenda  Mobile trends & developers’ challenges  Speed & quality through continuous integration - Intuit Virtual Device Lab - Intuit mobile test automation  Takeaways
  • 3. Aggressive mobile momentum Will surpass desktop by 2014 Proliferation of platforms, OS versions & device types It should just work! “2013 Internet Trends,” KPCB
  • 4. • Developer challenges Immense configuration matrix – – – • Application delivery through the markets – • Network, different network bandwidth/latency, no-network HTML5 offline app Media challenges – – • App signing, provision (app & device), submission Offline experience – – • OS platforms (Android, iOS, Windows, phone vs. tablet, …) Inputs (touch/gesture, real buttons, voice, camera, GPS receiver) Outputs (portrait/landscape, screen resolution, language) Some codecs don’t work on a device Streaming, sound Security & privacy
  • 5. Intuit mobile app portfolio today 22 Apple 15 Google 11 Amazon 3 SMS 491 mobile apps for financial institutions 0 5 10 15 20 490
  • 6. Ramping up Intuit’s innovation engine Pain: Takes days per build to test combinations of device/OS configurations physically & manually, one by one … QA can’t keep up with the changes Goal: Reduce development iteration cycle from days to minutes on an ever-growing number of devices Strategy: Speed & quality through mobile continuous integration Platforms Devices X • Apple • Google • Amazon OS versions X • • • • • • iPhone 4 iPhone 4S iPhone 5 iPad 2 iPad 3 iPad Mini Builds X • • • • • iOS 5.0 iOS 5.1 iOS 6.0 iOS 6.1.x iOS 7.0 Daily builds
  • 7. What is CI? • • • • Continuous integration (CI) Automate build, test & deployment process Integrate & build early, often, daily, for every check-in Best practice of Agile development Jenkins is widely adopted, flexible & extensible Benefits of CI in a mobile world • Instant feedback on quality, functionality & system impact • Less complex, no integration hell • Detect and address device configuration issues early • Involve stakeholders early • Ultimately achieve shippable release any time
  • 8. Speed and quality Developers/ IDE Check in Test results through mobile CI Process starts here SCM: source repository Submit the app to app store if passed Analyze test results Key enablers: Check-in triggers automated CI • Mobile device lab • Test automation Automatic test run Run tests on real devices in parallel Jenkins Trigger testing in mobile device lab Real devices Test processor Install the test app to real devices in parallel
  • 9. rd-party 3 vendor solutions didn’t work for us • Couldn’t handle E2E automation of testing pre-release apps – Dependency on internal resources & infrastructure • Vendor lock-in: customized CI & test automation solutions – No flexibility to use our existing tools & frameworks • Disadvantages of vendors’ shared devices – Security concern on testing on shared devices – No access to corporate network – Cost-prohibitive to reserve devices • Private cloud (on-site setup) with local devices not practical – With sensitive customer data, we need private cloud – Extensive use of devices for daily testing of hundreds of mobile apps is expensive
  • 10. Why test on real devices? Most mobile features can be tested on simulators, but simulators have limitations: • Device capabilities (GPS, camera, accelerometer, gyros), form factors & pixel density • Real-world experience over the real connection (3G, 4G, crappy Wi-Fi, etc.) • True performance, security tests • Testing on non-default Web browsers (e.g., Opera Mini) • Not all simulator/emulators have good quality (don’t reflect real rendering/behavior, bugs) • Testing SMS & app integration
  • 12. Intuit Virtual Device Lab (VDL) Gives access to real mobile devices using a browser 3-click access User machine Always on Intranet User machine User machine VDL Manufacturers/ devices: iPhone iPad Galaxy Captivate Droid Milestone Moto Optimus Globally available Integrated with dev infrastructure Nexus One Desire Incredible
  • 13. VDL architecture – Android Internet/intr anet Device interaction app Windows PC Tomcat USB connection Image transfer Java image transferring application Browser & Java applet Developer’s laptop VDL
  • 14. VDL architecture – iOS Internet/intr anet Mac with Xcode installed VNC server Tomcat USB connection Port forwarding Java VNC client Browser & Java applet Developer’s laptop VDL
  • 15. Open source tools & technologies used in VDL Key capabilities Android Installing mobile applications into the adb install <APK file> real device iOS Fruitstrap https://github.com/ghughes/fruitstrap Transferring device screen images, controlling device Screencast tool Veency VNC app http://code.google.com/p/androidscre encast Fetching device local files adb pull <filename> sftp command (jailbroken devices only)
  • 16. VDL key features & functionality today Control the device through standard browser/RESTful APIs Change orientation to landscape or portrait Copy local file to the device from your PC Get file from the device onto your local PC Execute an ADB command on the device See current running logs in your browser Download history logs to your local PC
  • 17. Continuous integration – how it works Trigger file launches test Monito r for new builds Resource manager Test execution engine Product builds Results Select a device VDL device inventory
  • 18. Mobile continuous integration Leveraging the Virtual Device Lab for test automation on multiple, real devices simultaneously. 1 Select devices & tests 2 Tests run automatically across selected devices with each build Submit, build, test … in minutes vs. hours 3 See the results!
  • 19. Next step: over-the-air replaces USB connection VDL Fast onboarding App installation Scalable Test execution Results retrieval Internet/intr anet Any device
  • 21. Mobile test automation tools iOS Instrumentation-based Android MonkeyTalk Frank Calabash (LessPainful) TestDroid (BitBar) UISpec Robotium UIAutomation iOS SDK Soasta iOS Driver Appium Non-instrumentation MOET Sikuli Cross-platform solution Android SDK MonkeyRunner DA/PerfectoMob ile eggPlant • Assessed as of 2012
  • 22. Mobile test automation trends • Abstraction with domain-specific language (DSL) – – Common test script over different devices (e.g., Cucumber, MonkeyScript, MOET) Support behavior-driven development (BDD) • Client/server-based approach (remotely driven tests via HTTP) • Instrumentation & non-instrumentation solutions complement each other • Mobile cloud testing environment – From hardware (cradle) to software approach to drive tests on real devices • Automated OTA app installation & tests
  • 23. Intuit automation framework of choice/recommendation • Native apps: – Cucumber + Calabash for BDD on iOS & Android • Mobile Web: – Selenium/WebDriver
  • 24. What is Cucumber? It lets stakeholders (customers, QE or developers) describe how software should behave in plain text. • BDD: Written in business domain-specific language (DSL) – Good abstraction over different device types • One format for multiple purposes – UI feature specification – Automated tests • Cucumber itself is NOT a test automation tool – Add-on to any test automation framework – Examples: Calabash, Sikuli & Frank mobile test frameworks
  • 25. What is Calabash? • Open source cross-platform mobile test framework – iOS + Android, simulator + real device, native + hybrid • Supports Cucumber for BDD • Application needs instrumentation that embeds a Calabash HTTP server – Tests run from a remote client (in a Jenkins slave) – Tests can be driven via Wi-Fi (no USB wire) • Ruby clients in API level (Java clients in experiment) • Works great in touch simulation & real device testing
  • 26. Intuit shared test library – rapid test development Common test library High-level test domain-specific language (Cucumber steps) Mobile front-end Product tests Teams focus on creating Native/hybrid test framework Use shared test lib Tests Tests Tests Tests Globalization test framework (I18N/L10N) Security test framework Mobile back-end Performance/load test framework Internal open source repository Contribute … and then contribute to common test library
  • 27. Stunning results: reduced iteration cycle from hours to minutes From: manual 10 5 Code build Notify email Consolidate report * 50*5 = 250 Upload report 30 Get devices 10 = 6 hours 20 15 30 15 To: automated CI Code build Trigger Deploy on devices Execute tests in parallel Consolidated report in archive 0 5 10 0 Tested on 5 devices Release quality increased = 15 mins TIME SAVED: 95%
  • 28. VDL cost saving over vendors’ private clouds (today) Assumptions: 50 native apps & Annual cost ($) daily check-in 3rd-party vendor 1 local device in cradle 3rd-party vendor 2 local device w/o cradle (Software approach) Savings Savings Intuit Virtual Device Lab 25 150 Private cloud setup behind corp firewall # of devices Note: As vendor pricing changes, so do the savings
  • 29. Key takeaways Building custom solution vs. rd-party 3 vendor solution  Understand your technical/platform/global spread  Many vendor solutions provide a larger set of devices/OS versions in the global market  Quite a few offer mobile test services – might be tightly coupled with their device access solution & automation framework  Connecting to your corporate network is a challenge – some provide private cloud (on-site setup within your network) but it’s cost-prohibitive Invest in automation and CI  Automate tests with robust automation framework  Enable rapid test development through shared test library  Adopt CI in mobile development for speed & quality

Editor's Notes

  1. Need to scale to large # of mobile apps to support
  2. Device access, app installation, tedious testingacross large configuration matrix – turnaround time isdays to weeks
  3. Talk Points: For all these reasons, we built our own solution, mobile continuous integration with VDL.- Briefly talk about overall mobile CI to show the big picture first.
  4. Talk Points: benefits - Saving in QE effort