SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Building a 40+ real-phone test-automation lab for Firefox 
OS: 
Goals, Challenges, Accomplishments 
San Francisco Selenium Meetup Group 
November 19, 2014 
Stephen Donner 
sdonner@mozilla.com
Goals: 
● (much) greater capacity 
o keep up with b2g-inbound builds for UI + perf (esp. the latter), as much 
as possible 
● maximal use of resources (devices, limited personnel, etc.) 
● multi-node adb mapping/support 
● high[er|est] reliability 
● easier device troubleshooting/administration 
● break new ground and help inform the testing world
From this... 
(which itself is “test rig 3.0” -- if you can believe that!)
1st Buildout
To this...
2nd Buildout
Present day 
(Bam!)
Challenges: (1/4) 
● balancing aggressive buildout schedule and challenge with current-rig’s maintenance (a.k.a. 
“changing a plane’s engine at 30,000 feet”) 
● near-constant task (re)prioritization (a.k.a “new capabilities, new requests/demands”) 
● real carriers/networks (AT&T/T-Mobile), real problems: 
o spam calls/voicemail 
o Amber alerts 
o low signal strength/data-connection resets 
 slow throughput 
 DNS-lookup failures 
o logistics of provisioning 40 SIMs 
● phone flashing (en masse): 
o base (OEM/vendor/reference) build 
 non-engineering 
● vs. 
o daily builds (release candidates, nightlies, etc.) 
o aggressive power-management features
Challenges: (2/4) 
● multi-node adb mapping 
o solution had to work with both UI and perf tests 
o also required: 
 Jenkins-config changes (job/system) 
 physical reconfiguration 
● and powered hubs 
● active SIMs vs. inactive SIMs 
o reduce interference/cost/maintenance cost 
● DSDS (Dual SIM, Dual Standby) 
● SecOps/NetOps requirements 
o new office, new problems (new policies) 
 basically, new office == slackware of offices ;-) 
 port-by-port, host-by-host firewall pass-through 
o VPN/Jenkins (CI) access granted on a user-by-user basis
Challenges: (3/4) 
● RF (Radio Frequency) 
o Wi-Fi 
 ateam vs. Mozilla Mobile 
● capacity + speed + reach 
o channels, bands, new router vendor 
o FM tuner interference 
 requires cabling magic 
● ...and perhaps a low-power, local FM transmitter? 
o more devices, moar interference? 
● physical space/configuration 
o shelving space 
o power-strip capacity
Challenges: (4/4) 
● remote teams requested live Air Mozilla streams of the phones, i.e. “what in 
the world is the state of that phone in?” 
o prototype works, but doesn’t immediately scale bandwidth (# streams, 
codecs/encoders) 
 informs # of encoder boxes/# of channels 
o live (remote) demo 
● “keeping the light on” 
o camera test failures due to low light 
 ...but intermittent
Multi-node adb Mapping 
Background: 
● Jenkins allows many "nodes" to run on 1 host 
● ‘node’ meaning ‘agent’ 
● ADB permits multiple sessions on 1 host 
● $ adb -s <serial_num> <command> 
Problems: 
● Some vendors don't provide a unique serial 
● Sometimes OEM (base build) may have same serial number hard-coded in all devices! 
o You might not have any control over this :-( 
o There are tools for unpacking Android base images and rewriting those serial numbers: 
https://github.com/AndroidRoot/BootTools 
Solution: 
● Create 1 unique node per mobile device 
● This = 4 devices to one slave host, 1 per USB port 
● Manage scripts - modify our scripts to pass in device serial numbers (to all adb commands)
Currently*, we have: 
● ~30 active Flame nodes (phones) 
o 15 dedicated to UI / 12 perf 
o 26 potentially 
● attached to 13 active Mac Minis
What (was?) is Left? 
● MozPool[1] for managing devices, including: 
o taking devices offline 
o power measurement through in-house, custom-3D-printed ammeters 
o remote-reboot capability through power harness 
● Puppetization for managing node configurations 
[1] https://github.com/mozilla/mozpool
Credit Where Credit is Due 
● Malini Das 
● Raymond Etornam 
● Jonathan Griffin 
● Andrew Halberstadt 
● Dave Hunt 
● Johan Lorenzo 
● Richard Milewski 
● Richard Pappalardo 
● Clint Talbert 
● Dylan Wong 
● Rob Wood 
o … and everyone else I forgot!
Contact 
● Mailing list: mozwebqa@mozilla.org 
● Team page: https://quality.mozilla.org/teams/web-qa/ 
● IRC: #mozwebqa on irc.mozilla.org

Weitere ähnliche Inhalte

Ähnlich wie Firefox OS real-phone automation lab: goals, challenges, and successes

Post mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUPost mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUMichael Dawson
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Hajime Tazaki
 
cFrame framework slides
cFrame framework slidescFrame framework slides
cFrame framework slideskestasj
 
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on LinuxTommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linuxlinuxlab_conf
 
Embedded Linux Systems Basics
Embedded Linux Systems BasicsEmbedded Linux Systems Basics
Embedded Linux Systems BasicsMax Henery
 
MingLiuResume2016
MingLiuResume2016MingLiuResume2016
MingLiuResume2016Ming Liu
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machinesAnne Nicolas
 
wireless notice board
 wireless notice board wireless notice board
wireless notice boardAnmol Purohit
 
Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...Omid Vahdaty
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill SprintJim McKeeth
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?OpenFest team
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning Vladislav Tatarincev
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvmdfages
 

Ähnlich wie Firefox OS real-phone automation lab: goals, challenges, and successes (20)

MCB_HL_v10.pdf
MCB_HL_v10.pdfMCB_HL_v10.pdf
MCB_HL_v10.pdf
 
Post mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EUPost mortem talk - Node Interactive EU
Post mortem talk - Node Interactive EU
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
cFrame framework slides
cFrame framework slidescFrame framework slides
cFrame framework slides
 
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on LinuxTommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
 
Embedded Linux Systems Basics
Embedded Linux Systems BasicsEmbedded Linux Systems Basics
Embedded Linux Systems Basics
 
Duma ver3
Duma ver3Duma ver3
Duma ver3
 
Touch your NetBSD
Touch your NetBSDTouch your NetBSD
Touch your NetBSD
 
MingLiuResume2016
MingLiuResume2016MingLiuResume2016
MingLiuResume2016
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machines
 
wireless notice board
 wireless notice board wireless notice board
wireless notice board
 
Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...Lessons learned from designing QA automation event streaming platform(IoT big...
Lessons learned from designing QA automation event streaming platform(IoT big...
 
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?
 
IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning IBM Domino / IBM Notes Performance Tuning
IBM Domino / IBM Notes Performance Tuning
 
Droidcon uk2012 androvm
Droidcon uk2012 androvmDroidcon uk2012 androvm
Droidcon uk2012 androvm
 
Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)
 
Binary system
Binary systemBinary system
Binary system
 

Mehr von Stephen Donner

Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Stephen Donner
 
Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Stephen Donner
 
Mozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowMozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowStephen Donner
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessStephen Donner
 
Web QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationWeb QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationStephen Donner
 
How WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsHow WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsStephen Donner
 
Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talkStephen Donner
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"Stephen Donner
 
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to HelpTowards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to HelpStephen Donner
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web PropertiesStephen Donner
 

Mehr von Stephen Donner (11)

Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018
 
Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?
 
Mozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowMozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, How
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our Success
 
Web QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationWeb QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automation
 
How WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsHow WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New Projects
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talk
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"
 
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to HelpTowards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web Properties
 

Kürzlich hochgeladen

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Kürzlich hochgeladen (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

Firefox OS real-phone automation lab: goals, challenges, and successes

  • 1. Building a 40+ real-phone test-automation lab for Firefox OS: Goals, Challenges, Accomplishments San Francisco Selenium Meetup Group November 19, 2014 Stephen Donner sdonner@mozilla.com
  • 2. Goals: ● (much) greater capacity o keep up with b2g-inbound builds for UI + perf (esp. the latter), as much as possible ● maximal use of resources (devices, limited personnel, etc.) ● multi-node adb mapping/support ● high[er|est] reliability ● easier device troubleshooting/administration ● break new ground and help inform the testing world
  • 3. From this... (which itself is “test rig 3.0” -- if you can believe that!)
  • 8.
  • 9. Challenges: (1/4) ● balancing aggressive buildout schedule and challenge with current-rig’s maintenance (a.k.a. “changing a plane’s engine at 30,000 feet”) ● near-constant task (re)prioritization (a.k.a “new capabilities, new requests/demands”) ● real carriers/networks (AT&T/T-Mobile), real problems: o spam calls/voicemail o Amber alerts o low signal strength/data-connection resets  slow throughput  DNS-lookup failures o logistics of provisioning 40 SIMs ● phone flashing (en masse): o base (OEM/vendor/reference) build  non-engineering ● vs. o daily builds (release candidates, nightlies, etc.) o aggressive power-management features
  • 10. Challenges: (2/4) ● multi-node adb mapping o solution had to work with both UI and perf tests o also required:  Jenkins-config changes (job/system)  physical reconfiguration ● and powered hubs ● active SIMs vs. inactive SIMs o reduce interference/cost/maintenance cost ● DSDS (Dual SIM, Dual Standby) ● SecOps/NetOps requirements o new office, new problems (new policies)  basically, new office == slackware of offices ;-)  port-by-port, host-by-host firewall pass-through o VPN/Jenkins (CI) access granted on a user-by-user basis
  • 11. Challenges: (3/4) ● RF (Radio Frequency) o Wi-Fi  ateam vs. Mozilla Mobile ● capacity + speed + reach o channels, bands, new router vendor o FM tuner interference  requires cabling magic ● ...and perhaps a low-power, local FM transmitter? o more devices, moar interference? ● physical space/configuration o shelving space o power-strip capacity
  • 12. Challenges: (4/4) ● remote teams requested live Air Mozilla streams of the phones, i.e. “what in the world is the state of that phone in?” o prototype works, but doesn’t immediately scale bandwidth (# streams, codecs/encoders)  informs # of encoder boxes/# of channels o live (remote) demo ● “keeping the light on” o camera test failures due to low light  ...but intermittent
  • 13.
  • 14. Multi-node adb Mapping Background: ● Jenkins allows many "nodes" to run on 1 host ● ‘node’ meaning ‘agent’ ● ADB permits multiple sessions on 1 host ● $ adb -s <serial_num> <command> Problems: ● Some vendors don't provide a unique serial ● Sometimes OEM (base build) may have same serial number hard-coded in all devices! o You might not have any control over this :-( o There are tools for unpacking Android base images and rewriting those serial numbers: https://github.com/AndroidRoot/BootTools Solution: ● Create 1 unique node per mobile device ● This = 4 devices to one slave host, 1 per USB port ● Manage scripts - modify our scripts to pass in device serial numbers (to all adb commands)
  • 15. Currently*, we have: ● ~30 active Flame nodes (phones) o 15 dedicated to UI / 12 perf o 26 potentially ● attached to 13 active Mac Minis
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. What (was?) is Left? ● MozPool[1] for managing devices, including: o taking devices offline o power measurement through in-house, custom-3D-printed ammeters o remote-reboot capability through power harness ● Puppetization for managing node configurations [1] https://github.com/mozilla/mozpool
  • 21.
  • 22. Credit Where Credit is Due ● Malini Das ● Raymond Etornam ● Jonathan Griffin ● Andrew Halberstadt ● Dave Hunt ● Johan Lorenzo ● Richard Milewski ● Richard Pappalardo ● Clint Talbert ● Dylan Wong ● Rob Wood o … and everyone else I forgot!
  • 23. Contact ● Mailing list: mozwebqa@mozilla.org ● Team page: https://quality.mozilla.org/teams/web-qa/ ● IRC: #mozwebqa on irc.mozilla.org