mobile application testing in the cloud - oct 2012
DESCRIPTION
Ryan Campbell (@recampbell) shows Austin's Mobile Monday group how to continuously integrate and deploy mobile apps in the cloud.TRANSCRIPT
Mobile Application Testing in the Cloud (i.e., the Internet)
Ryan Campbell, Developer
• Inspire you with the possibilities for mobile testing!
• Introduce you to Continuous Integration and Jenkins
• Advance the state of the art
Where is this presentation going?
2©2012 CloudBees, Inc.All rights reserved
YouChess
3©2012 CloudBees, Inc.All rights reserved
Play chess against your friends on Android or iOS.
YouChess Architecture
4©2012 CloudBees, Inc.All rights reserved
YouChess Engineering
5©2012 CloudBees, Inc.All rights reserved
iOS DevBackend Dev Android Dev QA
Java Web App Continuous Deployment Demo
6©2012 CloudBees, Inc.All rights reserved
Backend Dev
git pushPings
Deploys
Emails errors
QA
iOS Build & Deploy Demo
7©2012 CloudBees, Inc.All rights reserved
iOS Dev
git push
Xcode plugin
TestFlightplugin
TestFlight
QA
Android Build, Test and Deploy
8©2012 CloudBees, Inc.All rights reserved
Android Dev
git push
Build
Test matrix
Release
QA
Android Emulator Plugin
Zubhium Plugin
Android Build Close-up
9©2012 CloudBees, Inc.All rights reserved
160dpi,4.1,en_US
240dpi,4.0.3,en_US
160dpi,4.1,en_UK
…
Ready For QA
Ready for Beta
Test Matrix
Triggers apk Build
Approves
Android Build Close-up
10©2012 CloudBees, Inc.All rights reserved
160dpi,4.1,en_US
240dpi,4.0.3,en_US
160dpi,4.1,en_UK
…
Ready For QA
Ready for Beta
Test Matrix
Triggers apk Build
Approves
©2012 CloudBees, Inc. All Rights Reserved
Example SI-Enabled Solution – Mobile Development
11
• Local coding, unit tests on one or a few platforms• Push to shared repository• Automatically kick off
broader tests async• Fix issues when notified
Development
Test
Commit
Code
Push
• Matrix testing across device targets and locales• Track long-running tests
and regression suites• Support older releases• Gate uptake across teams
Quality Assurance
Build
Functional
IntegrationPerf
Device
Locale
Promote
• Push to staging at proper milestones• Coordinate beta and
limited access testing• Gate push to production
Release Engineering
Build
Distribute
Gather
Report
Archive
Stage
ZHUBIUM