SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Automated Testing and Continuous
Deployment for Mobile Apps with
Jenkins
Kohsuke Kawaguchi and Mark Prichard, CloudBees
Matt Solnit, SOASTA
August 30, 2012

@CloudBees, @CloudTest, @NewRelic
Have you met Jenkins?
• #1 OSS CI server
    – Written in Java
•   About 7 years old
•   Easy to install/use
•   Extensible via 550+ plugins
•   Widely adopted
    – 43K+ installations
• Kohsuke is Jenkins creator/project lead

                                            2
Why Jenkins for mobile development?
• To let developers focus on developing
  – Leave building, packaging, testing, distributing
    to a computer
  – Make the right thing the easiest thing
• Many, well-adopted mobile development
  plugins
  – Safety in numbers
• “Distributed builds” for scaling with workload
• “Matrix project” for easy cross device testing

                                                       3
More iOS+Jenkins love we won‟t cover
• Appaloosa plugin, TestFlight plugin
  – continuous app distribution
• Xcode plugin
  – Better UI for xcode command invocations




                                              4
We got Android covered, too
• Android emulator plugin
  – For running tests inside emulator in Jenkins
• Android lint plugin
  – Parses & visualizes the result of static
    analysis
• Zubhium plugin
  – Continuous app distribution



                                                   5
What makes a great mobile app?


• Some apps don‟t need external data
• But most do
  – Push notifications
  – Location information
  – Twitter, news feeds
  – Social interaction
  – Integration


                                       6
Two Five-Star Apps
    StockFish …      … or Social Chess?




              or BOTH?



    Standalone …     … or Integrated?

                                          7
Building a “Social” Chess Server

•   The basics: record games, moves
•   Next steps: notifications, time keeping
•   Going further: competition, research
•   Chess client apps handle actual play
•   Server doesn‟t need to know the rules

• Just for fun:
  https://github.com/mqprichard/mongo-chess

                                              8
Fun App – but „Real‟ Java Development
• Built using Eclipse, Maven, Junit, JAX-RS, JAX-B,
  gson …
• Git repository, Jenkins build/test and app deployment
  all running on AWS using CloudBees PaaS
• Free to develop: enterprise-grade runtime services




                                                          9
Testing, Testing, Testing

• Suppose I add some new killer feature
• What do I need to test?
  – Do all components build correctly?
  – Do the unit tests pass?
  – Did the interfaces change?
  – Have I affected the UI behavior?
• I need this all to happen continuously and
  automatically – end-to-end testing

                                           10
Jenkins to the Rescue
                               iOS
                         Packaging/Distri             Source Code
                             bution                    Repository

     iOS TouchTest                                      iOS Development
                                                             (Xcode)


Integration/Func
  tional Testing                            Jenkins
                                                                iOS App
                                                             Build/Unit Test



             Services                                   Services
            Deployment                                Development
                                      Services          (Eclipse)
                                   Build/Unit Test

                                                                           11
What you will see
• iOS App built from GitHub/CloudBees
  Forge
  – Jenkins Xcode builds/tests run on MacOS
    slaves
  – Scripted integration tests
  – Automated functional tests (SOASTA)
  – Automated gesture-aware touch tests
    (SOASTA)
  – iOS app archive/packaging/distribution all
    managed through Jenkins plug-ins
• Back-end services end-to-end deployment
  – Build/Test/Deploy using Eclipse/CloudBees    12
Jenkins and Agile CI Best Practices


Continuous                 Monitor     Continuous
Deployment                Repository
                                       Integration
                                       The Key to Agile and Lean
                                       Development

  Stage                   Build Code   • Better quality products
Application
                                       • Faster delivery
              Test Code
                                       • Scale teams



                                                                   13
Jenkins and Agile CI Best Practices


Continuous                 Monitor     Jenkins in the Cloud
Deployment                Repository   The Key to Agile and Lean
                                       Development


                                       • Unlimited scalability
  Stage
Application
                          Build Code   • Use what you need
                                       • Seamless tie-in to
              Test Code
                                         PaaS



                                                                   14
Sign Up with CloudBees
• It‟s totally free for developers
• One click and we‟ll start you off with
  Jenkins, Java, Scala/Lift, MySQL and
  more




       www.cloudbees.com/signup
                                           15
Thank You – See you in San Francisco!

  Jenkins User Conference, San Francisco Sept 30, 2012

  Kohsuke Kawaguchi
     twitter: @kohsukekawa
     email: kkawaguchi@cloudbees.com

  Mark Prichard
     twitter: @mqprichard
     email: mprichard@cloudbees.com

 Matt Solnit
     twitter: @msolnit
     email: msolnit@soasta.com



                                                         16

Weitere ähnliche Inhalte

Was ist angesagt?

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
David O'Dowd
 

Was ist angesagt? (20)

Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
The operational side of Mobile Apps
The operational side of Mobile AppsThe operational side of Mobile Apps
The operational side of Mobile Apps
 
Appium
AppiumAppium
Appium
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
React Native: Is It Worth It? UA Mobile 2017.
React Native: Is It Worth It? UA Mobile 2017.React Native: Is It Worth It? UA Mobile 2017.
React Native: Is It Worth It? UA Mobile 2017.
 
Top Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test AutomationTop Best Practices for Successful Mobile Test Automation
Top Best Practices for Successful Mobile Test Automation
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
QAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with AppiumQAAgility Presentation - Cucumber with Appium
QAAgility Presentation - Cucumber with Appium
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 

Andere mochten auch

Social Media for B2B - Marta Majewska - Spring Creek
Social Media for B2B - Marta Majewska - Spring CreekSocial Media for B2B - Marta Majewska - Spring Creek
Social Media for B2B - Marta Majewska - Spring Creek
McCann Brussels
 
امريكانا السعوديه
امريكانا السعوديهامريكانا السعوديه
امريكانا السعوديه
Mohamed Zakaria
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
Sanjeev Sharma
 
Gale smm strategy and plan 20110222
Gale  smm strategy and plan 20110222Gale  smm strategy and plan 20110222
Gale smm strategy and plan 20110222
Soumya Ravi
 
Sejarah Berdirinya Borobudur
Sejarah Berdirinya BorobudurSejarah Berdirinya Borobudur
Sejarah Berdirinya Borobudur
Firdika Arini
 
iOS Automated Testing with Calabash: Tips and Tricks
iOS Automated Testing with Calabash: Tips and TricksiOS Automated Testing with Calabash: Tips and Tricks
iOS Automated Testing with Calabash: Tips and Tricks
mobiletestsummit
 

Andere mochten auch (20)

How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins
 
82746248 study-of-nec-transmitter
82746248 study-of-nec-transmitter82746248 study-of-nec-transmitter
82746248 study-of-nec-transmitter
 
Orlando Flores Jr. Resume
Orlando Flores Jr. ResumeOrlando Flores Jr. Resume
Orlando Flores Jr. Resume
 
Social media for b2b - Madhouse Associates seminar
Social media for b2b - Madhouse Associates seminarSocial media for b2b - Madhouse Associates seminar
Social media for b2b - Madhouse Associates seminar
 
Social Media for B2B - Marta Majewska - Spring Creek
Social Media for B2B - Marta Majewska - Spring CreekSocial Media for B2B - Marta Majewska - Spring Creek
Social Media for B2B - Marta Majewska - Spring Creek
 
Inzoomen op de kaart
Inzoomen op de kaartInzoomen op de kaart
Inzoomen op de kaart
 
Газета «Христианская Абхазия», Август 2014 г. № 8 (89)
Газета «Христианская Абхазия», Август 2014 г. № 8 (89)Газета «Христианская Абхазия», Август 2014 г. № 8 (89)
Газета «Христианская Абхазия», Август 2014 г. № 8 (89)
 
Sema local SEO 2010
Sema local SEO 2010Sema local SEO 2010
Sema local SEO 2010
 
MY FRIEND CALSS 3
MY FRIEND CALSS 3MY FRIEND CALSS 3
MY FRIEND CALSS 3
 
امريكانا السعوديه
امريكانا السعوديهامريكانا السعوديه
امريكانا السعوديه
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
Hands on iOS developments with jenkins
Hands on iOS developments with jenkinsHands on iOS developments with jenkins
Hands on iOS developments with jenkins
 
Gale smm strategy and plan 20110222
Gale  smm strategy and plan 20110222Gale  smm strategy and plan 20110222
Gale smm strategy and plan 20110222
 
Sejarah Berdirinya Borobudur
Sejarah Berdirinya BorobudurSejarah Berdirinya Borobudur
Sejarah Berdirinya Borobudur
 
iOS Automated Testing with Calabash: Tips and Tricks
iOS Automated Testing with Calabash: Tips and TricksiOS Automated Testing with Calabash: Tips and Tricks
iOS Automated Testing with Calabash: Tips and Tricks
 
Class expectations for online communication
Class expectations for online communicationClass expectations for online communication
Class expectations for online communication
 
Get More Work: How to Build a Partnership With an Agency
Get More Work: How to Build a Partnership With an AgencyGet More Work: How to Build a Partnership With an Agency
Get More Work: How to Build a Partnership With an Agency
 
Mobile testing and its part in testing tools
Mobile testing and its part in testing toolsMobile testing and its part in testing tools
Mobile testing and its part in testing tools
 
82743 science-specimen-paper-2-2014-2017
82743 science-specimen-paper-2-2014-201782743 science-specimen-paper-2-2014-2017
82743 science-specimen-paper-2-2014-2017
 

Ähnlich wie Automated Testing and Continuous Deployment for Mobile Apps with Jenkins

Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA
 
Modern_Continuous-Integration_Webinar
Modern_Continuous-Integration_WebinarModern_Continuous-Integration_Webinar
Modern_Continuous-Integration_Webinar
Abhijit Pendyal
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
XebiaLabs
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in Asheville
Promet Source
 

Ähnlich wie Automated Testing and Continuous Deployment for Mobile Apps with Jenkins (20)

Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
 
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014
 
Ciprian redinciuc continuous integration with jenkins for i os
Ciprian redinciuc   continuous integration with jenkins for i osCiprian redinciuc   continuous integration with jenkins for i os
Ciprian redinciuc continuous integration with jenkins for i os
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testing
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
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
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12
 
Modern_Continuous-Integration_Webinar
Modern_Continuous-Integration_WebinarModern_Continuous-Integration_Webinar
Modern_Continuous-Integration_Webinar
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Beyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms OrganizationsBeyond the Release: CI That Transforms Organizations
Beyond the Release: CI That Transforms Organizations
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
 
Automated testing DrupalCamp in Asheville
Automated testing DrupalCamp in AshevilleAutomated testing DrupalCamp in Asheville
Automated testing DrupalCamp in Asheville
 

Mehr von CloudBees

Mehr von CloudBees (20)

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with Docker
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and Groovy
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made Easy
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UI
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines 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
 

Automated Testing and Continuous Deployment for Mobile Apps with Jenkins

  • 1. Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Kohsuke Kawaguchi and Mark Prichard, CloudBees Matt Solnit, SOASTA August 30, 2012 @CloudBees, @CloudTest, @NewRelic
  • 2. Have you met Jenkins? • #1 OSS CI server – Written in Java • About 7 years old • Easy to install/use • Extensible via 550+ plugins • Widely adopted – 43K+ installations • Kohsuke is Jenkins creator/project lead 2
  • 3. Why Jenkins for mobile development? • To let developers focus on developing – Leave building, packaging, testing, distributing to a computer – Make the right thing the easiest thing • Many, well-adopted mobile development plugins – Safety in numbers • “Distributed builds” for scaling with workload • “Matrix project” for easy cross device testing 3
  • 4. More iOS+Jenkins love we won‟t cover • Appaloosa plugin, TestFlight plugin – continuous app distribution • Xcode plugin – Better UI for xcode command invocations 4
  • 5. We got Android covered, too • Android emulator plugin – For running tests inside emulator in Jenkins • Android lint plugin – Parses & visualizes the result of static analysis • Zubhium plugin – Continuous app distribution 5
  • 6. What makes a great mobile app? • Some apps don‟t need external data • But most do – Push notifications – Location information – Twitter, news feeds – Social interaction – Integration 6
  • 7. Two Five-Star Apps StockFish … … or Social Chess? or BOTH? Standalone … … or Integrated? 7
  • 8. Building a “Social” Chess Server • The basics: record games, moves • Next steps: notifications, time keeping • Going further: competition, research • Chess client apps handle actual play • Server doesn‟t need to know the rules • Just for fun: https://github.com/mqprichard/mongo-chess 8
  • 9. Fun App – but „Real‟ Java Development • Built using Eclipse, Maven, Junit, JAX-RS, JAX-B, gson … • Git repository, Jenkins build/test and app deployment all running on AWS using CloudBees PaaS • Free to develop: enterprise-grade runtime services 9
  • 10. Testing, Testing, Testing • Suppose I add some new killer feature • What do I need to test? – Do all components build correctly? – Do the unit tests pass? – Did the interfaces change? – Have I affected the UI behavior? • I need this all to happen continuously and automatically – end-to-end testing 10
  • 11. Jenkins to the Rescue iOS Packaging/Distri Source Code bution Repository iOS TouchTest iOS Development (Xcode) Integration/Func tional Testing Jenkins iOS App Build/Unit Test Services Services Deployment Development Services (Eclipse) Build/Unit Test 11
  • 12. What you will see • iOS App built from GitHub/CloudBees Forge – Jenkins Xcode builds/tests run on MacOS slaves – Scripted integration tests – Automated functional tests (SOASTA) – Automated gesture-aware touch tests (SOASTA) – iOS app archive/packaging/distribution all managed through Jenkins plug-ins • Back-end services end-to-end deployment – Build/Test/Deploy using Eclipse/CloudBees 12
  • 13. Jenkins and Agile CI Best Practices Continuous Monitor Continuous Deployment Repository Integration The Key to Agile and Lean Development Stage Build Code • Better quality products Application • Faster delivery Test Code • Scale teams 13
  • 14. Jenkins and Agile CI Best Practices Continuous Monitor Jenkins in the Cloud Deployment Repository The Key to Agile and Lean Development • Unlimited scalability Stage Application Build Code • Use what you need • Seamless tie-in to Test Code PaaS 14
  • 15. Sign Up with CloudBees • It‟s totally free for developers • One click and we‟ll start you off with Jenkins, Java, Scala/Lift, MySQL and more www.cloudbees.com/signup 15
  • 16. Thank You – See you in San Francisco! Jenkins User Conference, San Francisco Sept 30, 2012 Kohsuke Kawaguchi twitter: @kohsukekawa email: kkawaguchi@cloudbees.com Mark Prichard twitter: @mqprichard email: mprichard@cloudbees.com Matt Solnit twitter: @msolnit email: msolnit@soasta.com 16