SlideShare a Scribd company logo
©2015 InfoStretch Corporation
June, 2015 US - UK - India
Managing Continuous Delivery of Mobile Apps -
for the Enterprise
Harnessing the power of ultimate Mobile automation using - CI and Cloud
 Apps
Tested
 Employees
100+
 Apps
developed
and
deployed
3000+
Global Footprint
Locations
Corporate HQ: Silicon Valley
Offices: Conshohocken (PA), Ahmedabad (India), Pune (India), London (UK)
700+
250K
 Active Mobile
Customer
Engagements
60+
About Infostretch
 Real
devices in
mobile labsAbout us
Founded in 2004 in Santa Clara, CA, InfoStretch is a leading provider of next-
generation mobile application lifecycle services ranging from design and
development to testing and sustenance.
2©2015 InfoStretch Corporation.
© Sauce Labs, Inc.
The Sauce Labs Platform
• Test web + mobile apps
across more than 500+
browser/OS/platforms
• Enterprise scalability +
Security + industry
standard SLA
• Capture screencasts, logs
and test metadata
Agenda
 What is CI?
 Why CI and Value to Business
 CI Implementation and Architecture
 Mobile Cloud Solutions & CI
 Case Study
4©2015 InfoStretch Corporation.
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
5©2015 InfoStretch Corporation.
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
6©2015 InfoStretch Corporation.
Source Control
7©2015 InfoStretch Corporation.
 Git
 Decentralized, and aims to be fast, flexible, and robust
 Subversion
 Open source version control system inspired by CVS
 CVS
 Built on RCS, with emphasis put on security and source code correctness
 Stash
 Create and manage repositories, integrate with JIRA for end to end traceability, collaborate on code
and instantly scale with high performance.
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
8©2015 InfoStretch Corporation.
Build Automation
 Shell scripts
 Tools: Maven, Gradle, Ant, Spring IO, ChaiOne, Xcodebuild
9©2015 InfoStretch Corporation.
CI Build Tool
10©2015 InfoStretch Corporation.
 Jenkins / (fka Hudson)
 Open source continuous integration tool written in Java
 Circle CI
 CircleCI supports every component of a modern application, including mobile apps (iOS and
Android)
 Bamboo
 Bamboo is a continuous integration server from Atlassian
 TeamCity
 Continuous integration and build management system
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
11©2015 InfoStretch Corporation.
Automate Deployment
 Deploy Mobile apps to Physical devices/ emulators using deployment tools
 Tools: Testflight, Hockey App, IBM Urban Code, etc
12©2015 InfoStretch Corporation.
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
13©2015 InfoStretch Corporation.
Self Testing Builds
Code quality tools like: SonarQube and Static Analysis tools like: Fortify
14©2015 InfoStretch Corporation.
 Junit
 A popular framework for writing unit tests in Java/J2EE environment
 TestNG
 Similar to jUnit, but provides dependencies and expanded annotations
 Rspec
 Behaviour-driven development framework
What is CI?
 Continuous Integration is a software practice in which isolated code
changes are immediately tested and reported on as soon as they are
added to the code base.
 Key Principles of CI include:
 Implement Source Control system
 Automate the Build Process
 Frequent Commits, Code Consolidation, Fast builds
 Automated Deployment
 Self testing the builds: Unit tests, Code Quality, Static Analysis
 Testing in a Clone to Production environment
 Automate User Acceptance Test
 Dashboards for Reporting
15©2015 InfoStretch Corporation.
Testing in Clone to Production
 Load/Performance testing using tools like Soasta
16©2015 InfoStretch Corporation.
• Environment Automation Tools allow teams to define environment, system, and application configurations and
parameters such that downstream environments can be automatically provisions and any conflicts between
expected application parameters can be identified
• Common Tools: Puppet, Chef, Ansible
 Test Environment Automation
Why CI?
6) You do not have
automated builds or
automated tests in place.
17
1) Mobile apps live
and die by their
ratings in an App Store
2) You are "going commando"
without source code
management for your mobile
app deployment process.
No tracking. No rollback.
3) You are deploying manually
between environments
5) You are stuck in a "hot mess"
of hotfixes
4) You are editing
configurations manually,
doing it on staging or
production environments
©2015 InfoStretch Corporation.
Agile Testing Success Mantras!
 One team approach
 Co-locate, Empower, 2 Pizza Teams
 Advanced – Read Spotify Model of Squad/Tribes/Guilds
(https://dl.dropboxusercontent.com/u/1018963/Articles/SpotifyScaling.pdf)
 QA Engage early
 Quality is every ones responsibility
 QA Ops Focus is important
 CI, Tools, Infrastructure (lab), Reporting, Dependency Management
 Invest in Scale – goal to run deploy+automation in under 60 m
 Design and implement for Testability
 Focus on Automation – automate every thing – smoke->regression
 CI is the life saver
Enterprise Shift Left Objectives
•Write Automation Early
•Find Defects Early/Lower defects in Prod
•Run Automation in Dev Environments
•Engage every one (at least QA in Automation)
•Keep Test cases in sync with user stories
Shift Quality Left
•Higher Confidence in builds
•Increase Engineering Velocity
•Increase Scale – Make automation massively parallel (check-in to release in 60 minutes)
Make build and deployment more reliable
•Reduce regression cost and time
•Automate Ops – CI, Deployments, Test Data and Environment Buildup
•Automate root cause analysis
•Isolate Layers (Mock Objects and Virtualization)
Automate the Quality Process
19
20
Why BDD?
• Faster cycle time – Shift-Left imperative
• Easy to understand tests and test results
• Closer QE/Dev/Product collaboration to help us get the tests
right early
• Features and Scenarios serve as easy to access, verifiable,
living documentation of an application
21
Value to Business
22©2015 InfoStretch Corporation.
Key Benefits of Continuous Integration
Early defect
detection
Measurable health
of software
Brings quality
assurance
Reduce
overheads
Better project
visibility
Reduce
assumptions
CI/CD Process
23©2015 InfoStretch Corporation.
DELIVERY TEAM VERSION CONTROL BUILD & UNIT TESTS
AUTOMATED
ACCEPTANCE TESTS
USER
ACCEPTANCE TESTS
RELEASE
check in
trigger
feedback
check in
trigger
feedback
trigger
feedback
check in
trigger
trigger
approval
approvalfeedback
feedback
START
CI Jumpstart with InfoStretch
24
REVIEW
1 to 2 weeks
Understand the expectation from
the different stakeholders
Understand branching strategy
Qualification of the builds
product and maintenance release cycle
Understand dependency managements
Understand the release engineering
policies
DEFINE
4 to 6 weeks
Development & release build
environments
Multi-site development coordination –
broken builds resolutions
Release engineering and CI flow design
Define branching and merging strategy
Define CI test automation execution
DEPLOY
2 to 4 weeks
CI Tools selection
Design trunk, branching and merging
strategy
to support product development
Design step by step CI flow and
scripts needed
Automate software builds and
packaging deployment scripts
Validate starting, executing and report
of
basic build test verification
1|
©2015 InfoStretch Corporation.
2| 3|
CI/CD Architecture Using Mobile Cloud
25©2015 InfoStretch Corporation.
GitHub/SVN
/TFS
Jenkins/H
udson/Tea
mCity/Circ
leCI
Developers Data Center
CI Machines
iOS/Android devices
Dashboard
Functional, Non-Functional,
Regression, Smoke Tests…
iOS/Android
simulators
CI tools & Mobile Cloud Integration
26©2015 InfoStretch Corporation.
 Benefits of harnessing - CI and Cloud:
 Flexible and Mobile-ready Plugins
 Unlimited Scalability and Device Elasticity
 Leverage Existing Processes and Assets Within An Organization
 Enhance Mobile CI Workflow in Real User Conditions
 On-demand Availability
 Faster Issue Resolution
Mobile QA Solutions
ON-DEMAND CLOUD AUTOMATION
SUPPORT
INTEGRATION WITH
SUPPORT SYSTEMS
What does it offer?
Case Study: CI implementation for Leading Healthcare Provider
Customer Challenges
 Slow automation execution Time- 22 mins per test case
 Sequential module wise execution on one device @ a time
 Already automated script not utilizing in regression cycles
 Lots of test data dependencies and require regular maintenance
 No framework available for Responsive web design for mobile
InfoStretch Approach
 Recommended best practices for automating native & web
app using device cloud
 Collaborated with Scrum Team and understand web-
service/JSON role in test data generation/creation
 Setup continuous integration for nightly execution for
utilizing cloud devices on free time
 Proposed HP ALM integration along with Jenkins for
complete automation life cycle
Engagement Benefits
 Optimize automation execution to 8-10 mins per test cases
[Reduce 50%]
 Enabling parallel execution on Selenium Grid
 Utilizing automation script in regular code drop/release cycle
[2-3 times per week- average 1200 test cases executed in
each cycle]
 Develop framework utilizing JSON response instead of test
data in xls sheet on run time. [Almost 0% test data
dependency and maintenance]
 Created new framework which supports common code for
execution on desktop and mobile browsers on emulators/real
devices for Response Web design
29©2015 InfoStretch Corporation.
Sauce Labs
Device Cloud
©2015 InfoStretch Corporation. All rights reserved. 30
Q&A
info@infostretch.com
www.infostretch.com

More Related Content

PPTX
CI/CD for mobile at HERE
PPTX
Continuous delivery mobile application development
PPTX
State of mobile Continuous Delivery at Spotify
PDF
Testing in a continuous delivery environment
PDF
3x3: Speeding Up Mobile Releases
PDF
SOASTA CloudTest Lite
PPTX
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
PPTX
Mobile performance metrics and performance monitoring meetup 2017 05 10
CI/CD for mobile at HERE
Continuous delivery mobile application development
State of mobile Continuous Delivery at Spotify
Testing in a continuous delivery environment
3x3: Speeding Up Mobile Releases
SOASTA CloudTest Lite
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
Mobile performance metrics and performance monitoring meetup 2017 05 10

What's hot (20)

PPTX
Automate More with Selenium for your RWD
PPTX
Drive Faster Quality Insights through Customized Test Automation - Part 2
PPT
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
PPTX
Four Keys to Efficient DevOps
PPT
Mobile Monitoring Best Practices
PPTX
Appium & Selenium Alone vs Appium & Selenium with Perfecto
PDF
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
PPTX
How to Add Perfecto to Your CI
PDF
Exercising and Scaling Up Mobile DevOps in the Enterprise
PDF
Use Jenkins For Continuous Load Testing And Mobile Test Automation
PDF
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
PDF
Your Framework for Success: introduction to JavaScript Testing at Scale
PDF
Testing Ajax, Mobile Apps the Agile Way
PDF
Continuous Integration, Deploy, Test From Beginning To End 2014
PPTX
Agile-plus-DevOps Testing for Packaged Applications
PDF
Drive Faster Quality Insights through Customized Test Automation
PDF
Selenium at Salesforce Scale
PPTX
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
PDF
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
PPTX
How To Sell Into Insurance with Perfecto
Automate More with Selenium for your RWD
Drive Faster Quality Insights through Customized Test Automation - Part 2
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
Four Keys to Efficient DevOps
Mobile Monitoring Best Practices
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Deeper Root Cause Analysis to App Performance Bottlenecks with Appvance APM I...
How to Add Perfecto to Your CI
Exercising and Scaling Up Mobile DevOps in the Enterprise
Use Jenkins For Continuous Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Your Framework for Success: introduction to JavaScript Testing at Scale
Testing Ajax, Mobile Apps the Agile Way
Continuous Integration, Deploy, Test From Beginning To End 2014
Agile-plus-DevOps Testing for Packaged Applications
Drive Faster Quality Insights through Customized Test Automation
Selenium at Salesforce Scale
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
CloudBees Continuous Integration and Test with Appvance PerformanceCloud
How To Sell Into Insurance with Perfecto
Ad

Viewers also liked (19)

PDF
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
PDF
Mobile Apps development best practices. TDD, CI, CD
PDF
Top Best Practices for Successful Mobile Test Automation
PDF
Android Mobile Continuous Integration. UA Mobile 2016.
PDF
Improving Android app testing with Appium and Sauce Labs
PDF
Swift iOS Architecture with FLUX in mind. UA Mobile 2016.
PPTX
Riga Dev Day - Automated Android Continuous Integration
PPT
Continuous Load Testing with CloudTest and Jenkins
KEY
LinkedIn Mobile: How do we do it?
PPTX
Mobile App Quality Roadmap for DevTest Teams
PDF
Comprehensive new digital in 2016 report presents internet social media and m...
PDF
Yale Jenkins Show and Tell
PDF
Jenkins CI
PPTX
Page objects in test automation
PPT
CI and CD with Jenkins
PDF
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
PPTX
DevOps con Visual Studio Team Services
PPTX
Continuous integration testing fundamentals
PPTX
What is Sauce Labs?
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Mobile Apps development best practices. TDD, CI, CD
Top Best Practices for Successful Mobile Test Automation
Android Mobile Continuous Integration. UA Mobile 2016.
Improving Android app testing with Appium and Sauce Labs
Swift iOS Architecture with FLUX in mind. UA Mobile 2016.
Riga Dev Day - Automated Android Continuous Integration
Continuous Load Testing with CloudTest and Jenkins
LinkedIn Mobile: How do we do it?
Mobile App Quality Roadmap for DevTest Teams
Comprehensive new digital in 2016 report presents internet social media and m...
Yale Jenkins Show and Tell
Jenkins CI
Page objects in test automation
CI and CD with Jenkins
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
DevOps con Visual Studio Team Services
Continuous integration testing fundamentals
What is Sauce Labs?
Ad

Similar to Managing Continuous Delivery of Mobile Apps - for the Enterprise (20)

PPTX
Continuous Integration for Mobile App Testing
PPTX
Continuous Integration for Mobile App Testing
PPTX
Introduction to Continuous Integration
PPT
Continuous integration
PDF
Continuous integration (eng)
PDF
What is Continuous Integration_ - A Comprehensive Guide.pdf
PDF
Flight East 2018 Presentation–Continuous Integration––An Overview
PPT
Continuous deployment steve povilaitis
PPTX
Continuous Integrations & Deployments
PPTX
Continuous integration
PPT
Continuous Integration
PPTX
Continuos Delivery
PDF
What Are the Key Benefits of Continuous Integration Explore with BetaTest Sol...
PPTX
Continuous delivery made
PPTX
Continuous integration
PPTX
Continuous Integration
PDF
Continuous integration & Continuous Delivery @DeVz
PPTX
Continuous integration for se group meeting
PPTX
Domenico Musto "Continuous Delivery Made Possible"
PPTX
Continuous Delivery: why ? where to start ? how to scale ?
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
Introduction to Continuous Integration
Continuous integration
Continuous integration (eng)
What is Continuous Integration_ - A Comprehensive Guide.pdf
Flight East 2018 Presentation–Continuous Integration––An Overview
Continuous deployment steve povilaitis
Continuous Integrations & Deployments
Continuous integration
Continuous Integration
Continuos Delivery
What Are the Key Benefits of Continuous Integration Explore with BetaTest Sol...
Continuous delivery made
Continuous integration
Continuous Integration
Continuous integration & Continuous Delivery @DeVz
Continuous integration for se group meeting
Domenico Musto "Continuous Delivery Made Possible"
Continuous Delivery: why ? where to start ? how to scale ?

More from Sauce Labs (20)

PDF
Simplify Salesforce Testing with AI-Driven Codeless Tools
PDF
Testing on Mobile Devices with Location Services
PDF
Automating Hybrid Applications with Appium
PDF
Quality at Speed: More API Testing, Less UI Testing
PPTX
Creating Digital Confidence with Test Automation
PDF
Just Enough (Automated) Testing
PDF
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
PDF
How Open Source Helps to Bring Back Product Obsession
PDF
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
PDF
[Deu] Test Automatisierung Mit Web Driver.io
PDF
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
PDF
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
PDF
How to Measure Success in Continuous Testing
PDF
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
PDF
5 Steps to Jump Start Your Test Automation
PDF
Sauce Labs Webinar: Rising Importance of Software Testing
PDF
BDD With Selenide by Hima Bindu Peteti
PDF
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
PDF
Continuous Delivery for "Mature" Codebases by Melisa Benua
PDF
Building Automation Engineers From Scratch by Jenny Bramble
Simplify Salesforce Testing with AI-Driven Codeless Tools
Testing on Mobile Devices with Location Services
Automating Hybrid Applications with Appium
Quality at Speed: More API Testing, Less UI Testing
Creating Digital Confidence with Test Automation
Just Enough (Automated) Testing
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
How Open Source Helps to Bring Back Product Obsession
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
[Deu] Test Automatisierung Mit Web Driver.io
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
How to Measure Success in Continuous Testing
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
5 Steps to Jump Start Your Test Automation
Sauce Labs Webinar: Rising Importance of Software Testing
BDD With Selenide by Hima Bindu Peteti
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Continuous Delivery for "Mature" Codebases by Melisa Benua
Building Automation Engineers From Scratch by Jenny Bramble

Managing Continuous Delivery of Mobile Apps - for the Enterprise

  • 1. ©2015 InfoStretch Corporation June, 2015 US - UK - India Managing Continuous Delivery of Mobile Apps - for the Enterprise Harnessing the power of ultimate Mobile automation using - CI and Cloud
  • 2.  Apps Tested  Employees 100+  Apps developed and deployed 3000+ Global Footprint Locations Corporate HQ: Silicon Valley Offices: Conshohocken (PA), Ahmedabad (India), Pune (India), London (UK) 700+ 250K  Active Mobile Customer Engagements 60+ About Infostretch  Real devices in mobile labsAbout us Founded in 2004 in Santa Clara, CA, InfoStretch is a leading provider of next- generation mobile application lifecycle services ranging from design and development to testing and sustenance. 2©2015 InfoStretch Corporation.
  • 3. © Sauce Labs, Inc. The Sauce Labs Platform • Test web + mobile apps across more than 500+ browser/OS/platforms • Enterprise scalability + Security + industry standard SLA • Capture screencasts, logs and test metadata
  • 4. Agenda  What is CI?  Why CI and Value to Business  CI Implementation and Architecture  Mobile Cloud Solutions & CI  Case Study 4©2015 InfoStretch Corporation.
  • 5. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 5©2015 InfoStretch Corporation.
  • 6. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 6©2015 InfoStretch Corporation.
  • 7. Source Control 7©2015 InfoStretch Corporation.  Git  Decentralized, and aims to be fast, flexible, and robust  Subversion  Open source version control system inspired by CVS  CVS  Built on RCS, with emphasis put on security and source code correctness  Stash  Create and manage repositories, integrate with JIRA for end to end traceability, collaborate on code and instantly scale with high performance.
  • 8. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 8©2015 InfoStretch Corporation.
  • 9. Build Automation  Shell scripts  Tools: Maven, Gradle, Ant, Spring IO, ChaiOne, Xcodebuild 9©2015 InfoStretch Corporation.
  • 10. CI Build Tool 10©2015 InfoStretch Corporation.  Jenkins / (fka Hudson)  Open source continuous integration tool written in Java  Circle CI  CircleCI supports every component of a modern application, including mobile apps (iOS and Android)  Bamboo  Bamboo is a continuous integration server from Atlassian  TeamCity  Continuous integration and build management system
  • 11. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 11©2015 InfoStretch Corporation.
  • 12. Automate Deployment  Deploy Mobile apps to Physical devices/ emulators using deployment tools  Tools: Testflight, Hockey App, IBM Urban Code, etc 12©2015 InfoStretch Corporation.
  • 13. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 13©2015 InfoStretch Corporation.
  • 14. Self Testing Builds Code quality tools like: SonarQube and Static Analysis tools like: Fortify 14©2015 InfoStretch Corporation.  Junit  A popular framework for writing unit tests in Java/J2EE environment  TestNG  Similar to jUnit, but provides dependencies and expanded annotations  Rspec  Behaviour-driven development framework
  • 15. What is CI?  Continuous Integration is a software practice in which isolated code changes are immediately tested and reported on as soon as they are added to the code base.  Key Principles of CI include:  Implement Source Control system  Automate the Build Process  Frequent Commits, Code Consolidation, Fast builds  Automated Deployment  Self testing the builds: Unit tests, Code Quality, Static Analysis  Testing in a Clone to Production environment  Automate User Acceptance Test  Dashboards for Reporting 15©2015 InfoStretch Corporation.
  • 16. Testing in Clone to Production  Load/Performance testing using tools like Soasta 16©2015 InfoStretch Corporation. • Environment Automation Tools allow teams to define environment, system, and application configurations and parameters such that downstream environments can be automatically provisions and any conflicts between expected application parameters can be identified • Common Tools: Puppet, Chef, Ansible  Test Environment Automation
  • 17. Why CI? 6) You do not have automated builds or automated tests in place. 17 1) Mobile apps live and die by their ratings in an App Store 2) You are "going commando" without source code management for your mobile app deployment process. No tracking. No rollback. 3) You are deploying manually between environments 5) You are stuck in a "hot mess" of hotfixes 4) You are editing configurations manually, doing it on staging or production environments ©2015 InfoStretch Corporation.
  • 18. Agile Testing Success Mantras!  One team approach  Co-locate, Empower, 2 Pizza Teams  Advanced – Read Spotify Model of Squad/Tribes/Guilds (https://dl.dropboxusercontent.com/u/1018963/Articles/SpotifyScaling.pdf)  QA Engage early  Quality is every ones responsibility  QA Ops Focus is important  CI, Tools, Infrastructure (lab), Reporting, Dependency Management  Invest in Scale – goal to run deploy+automation in under 60 m  Design and implement for Testability  Focus on Automation – automate every thing – smoke->regression  CI is the life saver
  • 19. Enterprise Shift Left Objectives •Write Automation Early •Find Defects Early/Lower defects in Prod •Run Automation in Dev Environments •Engage every one (at least QA in Automation) •Keep Test cases in sync with user stories Shift Quality Left •Higher Confidence in builds •Increase Engineering Velocity •Increase Scale – Make automation massively parallel (check-in to release in 60 minutes) Make build and deployment more reliable •Reduce regression cost and time •Automate Ops – CI, Deployments, Test Data and Environment Buildup •Automate root cause analysis •Isolate Layers (Mock Objects and Virtualization) Automate the Quality Process 19
  • 20. 20
  • 21. Why BDD? • Faster cycle time – Shift-Left imperative • Easy to understand tests and test results • Closer QE/Dev/Product collaboration to help us get the tests right early • Features and Scenarios serve as easy to access, verifiable, living documentation of an application 21
  • 22. Value to Business 22©2015 InfoStretch Corporation. Key Benefits of Continuous Integration Early defect detection Measurable health of software Brings quality assurance Reduce overheads Better project visibility Reduce assumptions
  • 23. CI/CD Process 23©2015 InfoStretch Corporation. DELIVERY TEAM VERSION CONTROL BUILD & UNIT TESTS AUTOMATED ACCEPTANCE TESTS USER ACCEPTANCE TESTS RELEASE check in trigger feedback check in trigger feedback trigger feedback check in trigger trigger approval approvalfeedback feedback START
  • 24. CI Jumpstart with InfoStretch 24 REVIEW 1 to 2 weeks Understand the expectation from the different stakeholders Understand branching strategy Qualification of the builds product and maintenance release cycle Understand dependency managements Understand the release engineering policies DEFINE 4 to 6 weeks Development & release build environments Multi-site development coordination – broken builds resolutions Release engineering and CI flow design Define branching and merging strategy Define CI test automation execution DEPLOY 2 to 4 weeks CI Tools selection Design trunk, branching and merging strategy to support product development Design step by step CI flow and scripts needed Automate software builds and packaging deployment scripts Validate starting, executing and report of basic build test verification 1| ©2015 InfoStretch Corporation. 2| 3|
  • 25. CI/CD Architecture Using Mobile Cloud 25©2015 InfoStretch Corporation. GitHub/SVN /TFS Jenkins/H udson/Tea mCity/Circ leCI Developers Data Center CI Machines iOS/Android devices Dashboard Functional, Non-Functional, Regression, Smoke Tests… iOS/Android simulators
  • 26. CI tools & Mobile Cloud Integration 26©2015 InfoStretch Corporation.  Benefits of harnessing - CI and Cloud:  Flexible and Mobile-ready Plugins  Unlimited Scalability and Device Elasticity  Leverage Existing Processes and Assets Within An Organization  Enhance Mobile CI Workflow in Real User Conditions  On-demand Availability  Faster Issue Resolution
  • 27. Mobile QA Solutions ON-DEMAND CLOUD AUTOMATION SUPPORT INTEGRATION WITH SUPPORT SYSTEMS What does it offer?
  • 28. Case Study: CI implementation for Leading Healthcare Provider Customer Challenges  Slow automation execution Time- 22 mins per test case  Sequential module wise execution on one device @ a time  Already automated script not utilizing in regression cycles  Lots of test data dependencies and require regular maintenance  No framework available for Responsive web design for mobile InfoStretch Approach  Recommended best practices for automating native & web app using device cloud  Collaborated with Scrum Team and understand web- service/JSON role in test data generation/creation  Setup continuous integration for nightly execution for utilizing cloud devices on free time  Proposed HP ALM integration along with Jenkins for complete automation life cycle Engagement Benefits  Optimize automation execution to 8-10 mins per test cases [Reduce 50%]  Enabling parallel execution on Selenium Grid  Utilizing automation script in regular code drop/release cycle [2-3 times per week- average 1200 test cases executed in each cycle]  Develop framework utilizing JSON response instead of test data in xls sheet on run time. [Almost 0% test data dependency and maintenance]  Created new framework which supports common code for execution on desktop and mobile browsers on emulators/real devices for Response Web design
  • 30. ©2015 InfoStretch Corporation. All rights reserved. 30 Q&A info@infostretch.com www.infostretch.com

Editor's Notes

  • #8: Page 24 from PDF document.
  • #10: Alicia can you put relevant logos for each of the tools.
  • #11: Page 27 from PDF document.
  • #13: Alicia can you put relevant logos for each of the tools.
  • #15: Page 35 of PDF and logo for SonarQube and Fortify
  • #17: Significantly reduces the amount of operational IT support needed for environment setup, application installation/configuration, and teardown necessary to move applications from development to production 80-90% decrease in ops support with accelerated delivery
  • #18: ) You are stuck in a "hot mess" of hotfixes. Not uncovering problems early. Forced into making changes late in the game. You are deploying manually between environments. It's slow. It's brittle. It's painful. You hear the all too common "it works on my device" uttered by your developers. Then it breaks on staging and production.
  • #23: Defects are detected and fixed sooner – Integrating testing throughout the development process would give QA teams more time to find bugs and help prevent bugs from effecting later code. Health of software is measurable – By establishing continuous testing into the automated integration process, the software health attributes such as complexity can be tracked over time. Reduce assumptions – Continuous Integration gives the chance to replace assumptions with knowledge thereby eliminating all cross-platform errors at the development stage. Reduce overheads – Finding a bug at the development stage is the cheapest possible way to find it. If the same bug was to be fixed in any other environment, it would cost more. Setting up a CI system may cost an overhead, but will outweigh the man-hours saved along the way.  Brings quality assurance – This is the biggest benefit from a client perspective, continuous integration can enable you to release deployable software at any point in time. In the absence of CI, projects are prone to delayed releases because of unforeseen issues which arise from deployment. Enables better project visibility – Since integration occur frequently, it provides the opportunity to notice trends and make informed decisions. Noticing trends in build success or failure, overall quality becomes possible. With CI, you can access real-time data on the code quality metrics to innovate new improvements and support decisions. It also offers the ability to generate API-like documentation for all committed code, making the software architecture immediately visible to new developers and other team membersIn terms of software quality, CI can help you measure cyclomatic complexity, code duplication, dependencies and coding standards so that developers can proactively refactor code before a defect is introduced. If a defect is introduced into a code base, CI can provide feedback soon after, when defects are less complex and less expensive to fix. Also, when using an effective developer testing regimen, CI provides quick feedback, via regression tests, on software that was previously working and is adversely affected by a new change. How about ROI?  Calculate how much time your team spends on fixing defects once the software is with the testing team -- QA, integration testing, etc. Of course, it costs considerably more once it enters production. When implementing effective CI practices, you can discover many of these defects as soon as they are introduced, which significantly decreases the cost of fixing each defect. CI is really important to moving fast, or just to move with the confidence you are not breaking anything CI provides benefits like : Rapid feedback on the "health" of the software under development Identification of defects early on in the development cycle Significant reduction to the cost of fixing each defect
  • #24: CHANGED BUILD & UNIT TESTS, need to add deployment in here.
  • #27: A Flexible and Mobile-ready Plugin – Support your most complex use cases by automatically deploying mobile apps, executing your test code, and assuring high quality delivery of any mobile app style. Unlimited Scalability and Device Elasticity for Your Entire Release Cycle – Ramp up from single device testing to full, cross-platform load testing on hundreds of devices worldwide. Enterprise-ready and Continuous Quality - Our SLA based cloud and local deployment services are consistent, stable and secure, which is great for global, distributed team collaboration. Leverage Existing Processes and Assets Within Your Organization - Connect your existing mobile app development tools to the Jenkins plugin in order to execute your test code against your "hybrid" MobileCloud lab of real devices. Enhance Mobile CI Workflow in Real User Conditions - Test on real devices, in real-time with real network conditions across different geographies. On-demand Availability – Execute tests anytime, from anywhere with continuous access to a cloud-based test bed of active, carrier connected mobile devices Faster Issue Resolution – Foster agility with rich reports that include screenshots and videos to clearly demonstrate what went wrong and where
  • #28: Cloud Distributed Team Access Cost Efficient Team Engagement Sharing / Test Execution Proofs Automation What type of tools / language support Selenium / UFT Support Integrations Test Management System / CI Integration
  • #31: Social media icons would be good for presentations done for outside of InfoStretch audiences.