SlideShare a Scribd company logo
1 of 21
Mobile Device Test Automation
The trials and tribulations of managing a mobile device test automation lab at scale
Heemeng Foo, Senior Manager, Engineering Services (Mobile Excellence), email: heemeng@yahoo-inc.com
1
Mobile Testing @ Yahoo
2
Why test on real mobile devices?
 Simulators/Emulators cover only functional aspects
and idealized hardware
 What’s missing are h/w related issues eg. screen
size, sensors, SoC, GPU, and how they work
together
 “Bloatware” introduced by OEMs
 Devices with low end hardware eg. iPod Touch, Moto
E reveal issues you don’t see on flagship devices
3
CI / CD @ Yahoo
 Cloud based CI/CD pipeline for building
iOS/Android/Java/Node/Python apps
 Available to any developer, product manager, designer, or team
 Anyone is able to create a build runway with a “simple” config file
 Runs 24/7/365
 Mobile build runway: Git -> Build -> Test -> Dogfood
 http://spectrum.ieee.org/view-from-the-
valley/computing/software/yahoos-engineers-move-to-coding-
without-a-net (bit.ly/yahoo-build)
4
Mobile Device Testing @ Yahoo
 We have ~ 60 iOS/Android apps
 Automation: Mobile Device Lab hooked up to CI/CD pipeline
 Manual: Mobile Device Library open 24/7/365, badge access
 Device Lab in operation since 2013
● 300+ iOS/Android devices, > 1.5mil test runs to date
● ~ 50 MacMini, ~ 40 Linux (bare iron / OpenStack VM)
● Test Frameworks supported:
● Robotium
● Espresso
● UI Automator (Android)
● UI Automation (iOS),
● XCUITest
● Appium5
Why support so many frameworks?
 Different teams have different mix of devs/test engineers
 Dev heavy
● frameworks integrated with dev env eg. Espresso, UI Automation
● frameworks in dev language eg. Espresso (Java), XCUITest (objC, Swift)
● Core principle: any test automation should be runnable locally
 Test engineering covering API/Web/iOS/Android – Appium
6
Some Eye Candy
7
Some Eye Candy
8
Disclaimer
 We didn’t build it all - Initial platform was licensed
 I have a great team and support
 As a company, Yahoo has invested heavily in CI/CD and developer
productivity
 Great developer community in the company
9
“Trials and Tribulations”
Challenges and Lessons running a Mobile
Device Test Automation Lab
10
Challenges / Lessons
 It’s a production system
 Hardware is not software
 Understanding the user
 Operationalize, Operationalize, Operationalize
 Keeping team engaged
1
1
It’s a Production System
 Monitoring, bake-in testing, deployment windows all apply
 Canary in the coal mine
 Operations comms - users should not be surprised
 Regular internal end-to-end tests
 Health checks and redundancy
 Splunk (or ELK) is very useful
 Lots of planning needed for major system updates to maintain
uptime
1
2
Hardware is not software
 Batteries explode
 iOS - once upgrade, can’t downgrade
 iPhone pre-orders
 iOS upgrade popups
 Mobile hardware moves fast - follow blogs
 WiFi AP Density
1
3
Understanding the user
 Every mobile test engineer, Device Lab DevOps engineer knows
how to build a simple iOS/Android app
 End-to-end canary apps: Git -> Build -> Test
 Get involved in a project (and actually use your system)
 Reference implementations speak louder than documentation ie.
point devs to working code
1
4
Operationalize, Operationalize, Operationalize
 Runbooks / SOPs
 Maps
 Tools to test modules in isolation
 Tools to test devices in isolation eg. Remote screencapture
 Automate as much as possible (but just enough)
1
5
Keeping team engaged
 Interesting (Cool) projects eg. IoT, Robots
 Marketable skills eg. Splunk, Chef, Jenkins training
1
6
Conclusion
17
Vendor Options
 SauceLabs – limited to Appium
 MobileLabs
 Experitest
 SOASTA
 Perfecto Mobile
 DevicePass by BeyondSoft
1
8
Worth it?
1
9
Q&A
20
http://bit.ly/heemengSlides2016

More Related Content

What's hot

Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...
Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...
Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...Carl Alston
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingDaniel Knott
 
7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTestingUserTesting
 
Build a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBuild a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBitbar
 
6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!Thomas Peham
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTOri Bendet
 
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.
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, rightRomania Testing
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentationBitbar
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6Romania Testing
 
Selenium training
Selenium trainingSelenium training
Selenium trainingShivaraj R
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilsonphpwgtn
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeTechWell
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automationRomania Testing
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testingSoftweb Solutions
 
Software Quality
Software QualitySoftware Quality
Software QualityJoe Walling
 
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Applitools
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software TestersOri Bendet
 

What's hot (18)

Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...
Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...
Beginner’s Guide to Game Testing | What Skills and Tools You Should Know To T...
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
 
7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting
 
Build a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBuild a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile Apps
 
6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!6 easy bug tracking tips & tricks every developer should know!
6 easy bug tracking tips & tricks every developer should know!
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFT
 
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...
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, right
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6
 
Selenium training
Selenium trainingSelenium training
Selenium training
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to Practice
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automation
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
Software Quality
Software QualitySoftware Quality
Software Quality
 
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software Testers
 

Similar to Mobile Device Test Automation Lab Challenges

Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & ReleaseDhaval Patel
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Lisa Renery Handalian
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
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
 
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
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingPerfecto by Perforce
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automationopkey
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...Perfecto by Perforce
 
Android testing
Android testingAndroid testing
Android testingBitbar
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Sauce Labs
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moetEing Ong
 
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
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0Anjan Dash
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoLizzy Guido (she/her)
 
Debugging in UiPath.pptx
Debugging in UiPath.pptxDebugging in UiPath.pptx
Debugging in UiPath.pptxApurbaSamanta9
 

Similar to Mobile Device Test Automation Lab Challenges (20)

Uber mobility - Build & Release
Uber mobility - Build & ReleaseUber mobility - Build & Release
Uber mobility - Build & Release
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010
 
Kasi Viswanath
Kasi ViswanathKasi Viswanath
Kasi Viswanath
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
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
 
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
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
 
The Journey of Test Automation
The Journey of Test AutomationThe Journey of Test Automation
The Journey of Test Automation
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
 
Android testing
Android testingAndroid testing
Android testing
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)
 
Avc per 201206_en
Avc per 201206_enAvc per 201206_en
Avc per 201206_en
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moet
 
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
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
Debugging in UiPath.pptx
Debugging in UiPath.pptxDebugging in UiPath.pptx
Debugging in UiPath.pptx
 

More from Heemeng Foo

Using ml to accelerate failure analysis
Using ml to accelerate failure analysisUsing ml to accelerate failure analysis
Using ml to accelerate failure analysisHeemeng Foo
 
Cyclomatic and cognitive complexity
Cyclomatic and cognitive complexityCyclomatic and cognitive complexity
Cyclomatic and cognitive complexityHeemeng Foo
 
Machine learning testing survey, landscapes and horizons, the Cliff Notes
Machine learning testing  survey, landscapes and horizons, the Cliff NotesMachine learning testing  survey, landscapes and horizons, the Cliff Notes
Machine learning testing survey, landscapes and horizons, the Cliff NotesHeemeng Foo
 
Testing in digital agriculture
Testing in digital agricultureTesting in digital agriculture
Testing in digital agricultureHeemeng Foo
 
The application of Genetic Algorithms to the Berth Allocation Problem
The application of Genetic Algorithms to the Berth Allocation ProblemThe application of Genetic Algorithms to the Berth Allocation Problem
The application of Genetic Algorithms to the Berth Allocation ProblemHeemeng Foo
 
An introduction to AI in Test Engineering
An introduction to AI in Test EngineeringAn introduction to AI in Test Engineering
An introduction to AI in Test EngineeringHeemeng Foo
 

More from Heemeng Foo (6)

Using ml to accelerate failure analysis
Using ml to accelerate failure analysisUsing ml to accelerate failure analysis
Using ml to accelerate failure analysis
 
Cyclomatic and cognitive complexity
Cyclomatic and cognitive complexityCyclomatic and cognitive complexity
Cyclomatic and cognitive complexity
 
Machine learning testing survey, landscapes and horizons, the Cliff Notes
Machine learning testing  survey, landscapes and horizons, the Cliff NotesMachine learning testing  survey, landscapes and horizons, the Cliff Notes
Machine learning testing survey, landscapes and horizons, the Cliff Notes
 
Testing in digital agriculture
Testing in digital agricultureTesting in digital agriculture
Testing in digital agriculture
 
The application of Genetic Algorithms to the Berth Allocation Problem
The application of Genetic Algorithms to the Berth Allocation ProblemThe application of Genetic Algorithms to the Berth Allocation Problem
The application of Genetic Algorithms to the Berth Allocation Problem
 
An introduction to AI in Test Engineering
An introduction to AI in Test EngineeringAn introduction to AI in Test Engineering
An introduction to AI in Test Engineering
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 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
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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...
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Mobile Device Test Automation Lab Challenges

  • 1. Mobile Device Test Automation The trials and tribulations of managing a mobile device test automation lab at scale Heemeng Foo, Senior Manager, Engineering Services (Mobile Excellence), email: heemeng@yahoo-inc.com 1
  • 3. Why test on real mobile devices?  Simulators/Emulators cover only functional aspects and idealized hardware  What’s missing are h/w related issues eg. screen size, sensors, SoC, GPU, and how they work together  “Bloatware” introduced by OEMs  Devices with low end hardware eg. iPod Touch, Moto E reveal issues you don’t see on flagship devices 3
  • 4. CI / CD @ Yahoo  Cloud based CI/CD pipeline for building iOS/Android/Java/Node/Python apps  Available to any developer, product manager, designer, or team  Anyone is able to create a build runway with a “simple” config file  Runs 24/7/365  Mobile build runway: Git -> Build -> Test -> Dogfood  http://spectrum.ieee.org/view-from-the- valley/computing/software/yahoos-engineers-move-to-coding- without-a-net (bit.ly/yahoo-build) 4
  • 5. Mobile Device Testing @ Yahoo  We have ~ 60 iOS/Android apps  Automation: Mobile Device Lab hooked up to CI/CD pipeline  Manual: Mobile Device Library open 24/7/365, badge access  Device Lab in operation since 2013 ● 300+ iOS/Android devices, > 1.5mil test runs to date ● ~ 50 MacMini, ~ 40 Linux (bare iron / OpenStack VM) ● Test Frameworks supported: ● Robotium ● Espresso ● UI Automator (Android) ● UI Automation (iOS), ● XCUITest ● Appium5
  • 6. Why support so many frameworks?  Different teams have different mix of devs/test engineers  Dev heavy ● frameworks integrated with dev env eg. Espresso, UI Automation ● frameworks in dev language eg. Espresso (Java), XCUITest (objC, Swift) ● Core principle: any test automation should be runnable locally  Test engineering covering API/Web/iOS/Android – Appium 6
  • 9. Disclaimer  We didn’t build it all - Initial platform was licensed  I have a great team and support  As a company, Yahoo has invested heavily in CI/CD and developer productivity  Great developer community in the company 9
  • 10. “Trials and Tribulations” Challenges and Lessons running a Mobile Device Test Automation Lab 10
  • 11. Challenges / Lessons  It’s a production system  Hardware is not software  Understanding the user  Operationalize, Operationalize, Operationalize  Keeping team engaged 1 1
  • 12. It’s a Production System  Monitoring, bake-in testing, deployment windows all apply  Canary in the coal mine  Operations comms - users should not be surprised  Regular internal end-to-end tests  Health checks and redundancy  Splunk (or ELK) is very useful  Lots of planning needed for major system updates to maintain uptime 1 2
  • 13. Hardware is not software  Batteries explode  iOS - once upgrade, can’t downgrade  iPhone pre-orders  iOS upgrade popups  Mobile hardware moves fast - follow blogs  WiFi AP Density 1 3
  • 14. Understanding the user  Every mobile test engineer, Device Lab DevOps engineer knows how to build a simple iOS/Android app  End-to-end canary apps: Git -> Build -> Test  Get involved in a project (and actually use your system)  Reference implementations speak louder than documentation ie. point devs to working code 1 4
  • 15. Operationalize, Operationalize, Operationalize  Runbooks / SOPs  Maps  Tools to test modules in isolation  Tools to test devices in isolation eg. Remote screencapture  Automate as much as possible (but just enough) 1 5
  • 16. Keeping team engaged  Interesting (Cool) projects eg. IoT, Robots  Marketable skills eg. Splunk, Chef, Jenkins training 1 6
  • 18. Vendor Options  SauceLabs – limited to Appium  MobileLabs  Experitest  SOASTA  Perfecto Mobile  DevicePass by BeyondSoft 1 8

Editor's Notes

  1. Good morning everyone. I know it’s almost lunch so I’ll try to be quick. My name is Heemeng Foo and I represent the Mobile Excellence team at Yahoo and I’m the owner of the Mobile Device Test Automation Lab – or Device Lab in short at Yahoo. The problem with calling it a “Device Lab” in a talk like this is that for most people, a device lab is just a room with test devices – so I had to STRETCH the name to make it clearer, hence mobile device test automation lab. (smile) This platform is part of our CI/CD system and it allows developers and teams to test their apps on real mobile devices. A little bit about the Mobile Excellence team at Yahoo, we’re a team of engineers, architects in charge of some key mobile SDKs, build systems and mobile engineering standards eg. Release checklists, telemetry, metrics in the company. Mobile Test automation standards are part of that charter. As for me, I’ve worked in mobile for the last 16 years starting with SMS, mobile web, iOS/Android apps and more recently IoT. And the title of my talk is …
  2. Before I dive into the “Trials and Tribulations” or what we as managers call “Challenges and lessons” (smile) I’d like to give everyone a little context about mobile testing at Yahoo
  3. First of all why test on real mobile devices? Why not just test on simulators and emulators, surely that will be good enough right???? (smile) We all know that doesn’t cut it. The reason is that simulators cover idealized hardware. The mobile world is not yet as mature as PC or web, so screen sizes, SoC/GPU and how they work together still matter. Just to give you an idea of what I mean – this is our Weather app. When the iPhone 6 first came out, we got the device on the same day of launch and found that there was a line in the middle of the View. This never came out on any other previous versions. We fixed this on the day and released a new version on the same day. On Android, some smartphone vendors (I’m not going to mention names here – smile) have a history of bloatware and running stuff on the background that you won’t find on a Nexus. This showed up in automation runs when we did a comparison of wait times between actions. Most developers like to develop for the flagship devices eg. iPhone 7 or Pixel but nobody likes to test on low end hardware. However you can find a lot of performance bottlenecks on low end hardware. It used to be like single core, 256Mb RAM but now it’s like dual core 512Mb – esp those you can get at Walmart or Target. A funny story – I was involved in testing our relaunched Flickr Android app 4 years ago and I had a really low end HTC to test with and because of all the image processing it was doing, you could literally see the GC trying to catch up because of all the swapping in and out. We didn’t launch for those low end Android for the initial launch (smile)
  4. One of the great things about being a developer at Yahoo is that we have a single build platform for iOS/Android etc Any developer, PM, designer, team is able to construct their build pipelines using a self-service portal. So instead of having to manage your own Jenkins boxes or VMs, it’s all managed by a team. For mobile a pipeline would consist of Git -> Build -> Test -> Dogfood There’s an article on IEEE Spectrum that talks a little about this approach. It covers more about developers writing tests but one of the key enablers for this is the build platform.
  5. At Yahoo, in order to do mobile development at scale, we also have to be able to test at scale. To do that we have a 2 pronged strategy: Device Lab which handles automated tests and a Device Library which is self service badge accessible location for test devices to be tested manually. [Talk about Device Lab]
  6. I figured that at this point everyone will be falling asleep so I thought I’d put some moving pictures  So the image on the left is one of our devices chugging away on the automation.
  7. Ok so the one in the middle is one of 3 tapster robots we acquired and set up for testing iOS APNS notifications. It involves some OCR and rule based logic. The last mess of wires is our battery consumption lab.
  8. Now to the meat of the talk
  9. I would summarize the key challenges and lessons to the following It is a production system that needs to run 24/7/365. We have teams around the world esp in Asia who are working while we sleep. Hardware is not software – they literally blow up (smile) we were lucky we didn’t have to deal with the Samsung Note 7 issue. Understanding the user – this is a pretty critical success factor for us as with any other product Operationalize – this is something I always ask my team: how can we do this in less time with less effort. Because there’s always more work than you can have time to do Lastly keep the team engaged – with all the ops work we do, keeping the team engaged is a challenge
  10. Although it is part of the build system, it has to be treated like a production system since teams rely on the platform for release certification. This means Monitoring … One thing early on we realized that was useful was to have a canary app in the build pipeline building on regular intervals. This is a very simple app that does not have external dependencies eg. Network to check the health of the pipeline – this has allowed us to rather frequently know of issues in the build pipeline before the CI/CD guys (smile) The other thing good about this is that users have a tendency to say your platform has a problem when in actual fact their test code has issues. Ops comms is absolutely critical. We went from users telling us of issues to us telling users of expected issues. We were able to do it because of the canary app. Regular internal end-2-end tests – the canary app helped us to find issues in the pipeline Once we had the canary app, we were able to run health checks on all the devices and automatically take bad ones out automatically – most of the time before a user gets it. In order to do that we needed to have redundancy eg. For a particular h/w profile eg. iPhone 6 running 10.1 we’ll have a minimum of 3 and max about 10. Splunk has been very helpful to us. There are some issues that are extremely intermittent and difficult to isolate and fix. With Splunk you can beacon any data points into a store and make it instantly searchable. Lastly we have a target to minimize downtime for our users – this means that for any major system updates eg. Glibc updates etc require extensive testing and planning to ensure nothing breaks and uptime.
  11. So I don’t suppose I need to explain the first point. (smile) We were lucky to not deploy the Galaxy Note 7 so we dodged that bullet but we still do have batteries on Nexus 5s that have expanded due to so much charge/discharge we do. iOS is fun  [read] We make it a point to have the iOS device on our hands on the day of launch – this means staying up for pre-orders and standing in line to get a few units. It takes a couple of days to hook up for automation but we usually send out a note to all iOS devs to borrow the devices to test their apps We’re constantly following blogs and announcements on hardware. WiFi AP Density – most WiFi APs have a limit of maybe 40 devices connected simultaneously, we have > 70.
  12. We usually get the newest member of the team (or myself) to be on ops duty and use the runbook to fix issues. This is great for finding gaps in the documentation. Maps – when you have 300+ devices all around the data center you need a map Tools to test stuff remotely – very important unless you want to live in the data center (smile) Automate as much as possible but don’t go overboard – cos you have to maintain that code!
  13. Is it worth it? It depends. For us it has helped us scale testing and implement some interesting measures eg. Battery consumption testing But not every app needs it. Most companies can do well with vendors like SauceLabs