© West Educational Publishing 500 pound gorilla vs. 150 pound human.
How to stuff a 900 pound gorilla into a smartphone
-
Upload
joel-maher -
Category
Technology
-
view
1.332 -
download
0
description
Transcript of How to stuff a 900 pound gorilla into a smartphone
![Page 1: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/1.jpg)
Stuffing a 900lb Gorilla into a SmartPhone
Joel Maher & Clint Talbert
Mozilla Corporation
1
![Page 2: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/2.jpg)
What is Fennec?
2
![Page 3: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/3.jpg)
How are they going to fit me in here?
3
![Page 4: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/4.jpg)
How are they going to fit me in here?
3
![Page 5: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/5.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing
3
![Page 6: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/6.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing
3
![Page 7: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/7.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing•Crashtest - regression testing for crash bugs
3
![Page 8: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/8.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing•Crashtest - regression testing for crash bugs•Mochitest - JS test framework heavily modified to do general purpose content testing
3
![Page 9: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/9.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing•Crashtest - regression testing for crash bugs•Mochitest - JS test framework heavily modified to do general purpose content testing•Mochitest-Chrome - Chrome UI interaction testing
3
![Page 10: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/10.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing•Crashtest - regression testing for crash bugs•Mochitest - JS test framework heavily modified to do general purpose content testing•Mochitest-Chrome - Chrome UI interaction testing•Mochitest-Browser - White box UI automation testing
3
![Page 11: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/11.jpg)
How are they going to fit me in here?
•XPCShell - low level XPCOM testing•Reftest - rendering testing•Crashtest - regression testing for crash bugs•Mochitest - JS test framework heavily modified to do general purpose content testing•Mochitest-Chrome - Chrome UI interaction testing•Mochitest-Browser - White box UI automation testing•Mozmill - Black box UI automation (not ready for Fennec yet)
3
![Page 12: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/12.jpg)
Platforms4
![Page 13: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/13.jpg)
Platforms4
![Page 14: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/14.jpg)
Platforms4
![Page 15: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/15.jpg)
Platforms4
![Page 16: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/16.jpg)
Platforms4
![Page 17: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/17.jpg)
Platforms4
![Page 18: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/18.jpg)
Platforms4
![Page 19: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/19.jpg)
Platforms5
![Page 20: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/20.jpg)
Roadmap6
![Page 21: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/21.jpg)
Fennec Test Automation
7
![Page 22: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/22.jpg)
Test Reporting8
![Page 23: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/23.jpg)
Current Approach
• Running tests on desktop build
• Decoupling the tests
• Making tools mobile
• Breaking tests into small pieces
• Stabilizing end to end
• Reducing the runtime
• Tracking results
9
![Page 24: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/24.jpg)
Decoupling the Tests
• Historically, tests integrated into build system
• Required directory structure and tools
• Created makefile target to package tests into a tarball for easy distribution
10
![Page 25: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/25.jpg)
Making Tools Mobile
• Python requirements for each platform
• Networking test tools (ssl, http server)
• Test harness scripts had hard coded paths
• Limited memory and storage
11
![Page 26: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/26.jpg)
Breaking Tests into Chunks
• Cannot run full test harness at once
• Chunks based on directories
• Managing test data, manifest and log files
12
![Page 27: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/27.jpg)
Stabilizing End to End
• Modifying test harness to look for a hang
• Collecting log files
• Getting the same results over and over again
• Device stabilization
13
![Page 28: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/28.jpg)
Reducing Total Runtime
• Initial runtime for all tests end to end was 26 hours
• Test on release and optimized builds only, no debug (13 hours)
• Running on 4 devices in parallel (4 hours)
• Increasing pool to 8 devices balances parallel overhead with long tests
14
![Page 29: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/29.jpg)
Tracking Results
• Instead of one log file per test suite, we now have hundreds
• Initially we would concatenate the logs and parse them for a summary
• Upload log chunks to CouchDB server
15
![Page 30: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/30.jpg)
Questions?Thank you
[email protected]@mozilla.com
Get the source:http://wiki.mozilla.org/mobile/QAOSCON09
16
![Page 31: How to stuff a 900 pound gorilla into a smartphone](https://reader034.fdocuments.in/reader034/viewer/2022050907/558c350ed8b42a941c8b46c3/html5/thumbnails/31.jpg)
Photo Credits• Gorilla Photo: http://www.wrybaby.com/blog/wp-content/uploads/2008/09/
gorilla_phone_1.jpg
• HTC Touch Pro: http://www.letsgodigital.org/en/19174/htc-touch-pro/
• Nokia e71: http://www.flickr.com/photos/normanjohn/2645312857/
• Nokia n810: http://168hours.wordpress.com/2008/08/10/10-coolest-devices-running-linux/
• Samsung Omnia: http://www.gsmarena.com/samsung_i900_omnia-pictures-2422.php
• Our Mobile Tinderbox: http://www.flickr.com/photos/drkscrtlv/sets/72157619162182878/
• Signpost: http://www.flickr.com/photos/jmcphotos/2131206015/
17