41
CI/CD for Mobile Apps Streamlining the Dev, Test & Deliver Cycle in Enterprises

CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

CI/CD for Mobile Apps

Streamlining the Dev, Test & Deliver Cycle in Enterprises

Page 2: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Today’s Speakers

Tal BarmeirCEO

Experitest

Ton BensimhonHead of Product

Experitest

Ruth ZamirMarketing Director

Experitest

22

Page 3: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Agenda

3

QA challenges in implementing mobile CI/CD in enterprises

CI/CD best practices for mobile app testing

Case study

Page 4: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Mobile market velocity and

variety impacts development

• Competition drives frequent app releases

(2 weeks, B2B and B2C)

• Device matrix large and constantly evolving

• High cost of error - App/play stores create a

distribution gap that makes rollback

impossible

4

High stakes make enterprises rethink the way they operate

Page 5: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

5

Continuous Integration:

Frequently merging code to a mainline:

• Breaking down development effort into

bite-size chunks

• Ensuring code works

• Fast feedback while things are fresh

What it CI/CD?

Continuous Delivery:

Ensuring that an app is ready for

deployment:

• Packaging

• end-to-end testing

Page 6: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

6

Poll

Page 7: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

7

But there are challenges…

Source: Capgemini world quality report 2016

Page 8: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

8

The CI/CD Pipline

Build

Validation

Deploy to test

environment

Testing - Automated

Unit testing

Verification - Automated

testing (functional, non

functional)

Deploy to

Prod.

Coding Integration &

debuggingDebugging

Measurement

and feedback Go!

Page 9: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Agenda

9

QA challenges in implementing mobile CI/CD in enterprises

CI/CD best practices for mobile app testing

Case study

Page 10: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Implement a mobile device cloud allowing remote access

to a wide selection of devices, emulators and simulators

Create a common test environment for developers and

testers, complete with collaborative tools

Integrate your test environment with CI tools and case

management systems for end-to end hands free automation

Implement continuous testing with large scale test

automation, covering all mobile app test cases

Centrally manage devices, applications, projects and

users

Leverage end-to-end QA data analytics for rapid root

cause analysis and constant QA status

CI/CD best practices for mobile app testing

10

Operate

Page 11: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

11

Implement a mobile device cloud

allowing remote access to a wide

selection of devices, emulators

and simulators

1Create a common test

environment for developers

and testers, complete with

collaborative tools

2

Page 12: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Remote Access to Mobile Devices & Emulators Centralized device management, enabling remote users (testers,

developers) to access devices and simulators from any location

Fully integrates to all testing, dev & CI environments

Online cloud hosted at

Experitest datacenters

Onsite cloud located at

your enterprise premises

Supports unit, manual, automated & performance testing

12

Supports all mobile devices and any OS

Page 13: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

13

Hundreds of Mobile Devices Hosted or onsite

Allow developers and testers to access a large pool of real mobile

devices, emulators and simulators

Full control of the remote mobile devices - as if it was in the

tester’s hand

Web access from any browser - no setup or installation required

All mobile OS versions available, incl. beta versions

Page 14: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

14

Unified environment for development and QA Provide developers with advanced testing tools, easy test development and access to real remote devices early in the development process

Integration with development environments

support such as Xcode , eclipse, Android Studio,

Support UI and unit testing with XCUITest,

Espresso and UIAutomator

Support for open source frameworks such as

Appium, Calabash & Cucumber

Page 15: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

15

Native support for simulators, emulators & remote devices

Develop or debug a mobile application on simulators, emulators or remote

mobile devices using any development and open-source environment

Native support for emulators and iOS simulators▪ Easy test development with test recorder and object spy

▪ Test non-standard UI elements, integrations with system

apps or 3rd party applications, integrations with device

components, or application components built with SDKs

Access remote real devices as if they were locally

connected

Page 16: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Demo

Native Simulator and

Emulator Support

Page 17: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers
Page 18: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

18

DevOps Collaboration tools

Share a live session with other tester/developer

Debug on a remote device using any development

environment, as if the device was locally connected

Debug the device where the fault occurred

Detailed step-by-step video reports from QA to

easily reproduce bugs

Expedite root cause analysis and bug detection

Page 19: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Demo

Share Remote Session

Page 20: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

DEMO

Share Session with QA Video

Page 21: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Demo

Remote Debugging

Page 22: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

DEMO

Develop and Debug on Remote Devices Video

Page 23: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

23

Integrate your test environment

with CI tools and case

management systems for end-to

end hands free automation

3Implement continuous testing

with large scale test automation,

covering all mobile app test cases4

Page 24: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

24

Poll

Page 25: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

25

CICD integration

Scale your mobile projects with any fully automated 24/7

continuous testing environment

Seamless integration into CI environments: Hudson,

Jenkins, TeamCity, Quality Center, Bamboo and TFS, Ant,

Centralized, cloud-based execution management

▪ Grid capabilities

▪ Dynamic test scheduling, execution, and distribution

▪ View of all executions in real time

▪ Direct execution from the CI

▪ Ability run multiple CI projects (multiple applications)

▪ RESTful API to mass deploy application on targeted

devices

Centralized test reporting

Page 26: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

26

Large scale parallel execution

Accelerate testing cycles with a centralized automated test

execution environment

Large scale parallel execution of tests on remote

mobile devices

Centralized test execution management

Managed directly from the CI environment

Real-time view of all executions

Dynamic and smart resource allocation according

to testing needs

Centralized execution results and test reports

Page 27: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Demo

Integration with CI/CD, Large

Scale Parallel Execution

Page 28: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

28

Page 29: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

29

Centrally manage devices,

applications, projects and users 5

Page 30: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

30

Management Capabilities

Centralized device, application project and user management

Full administration capabilities:

▪ Device management - Schedule device reservations, and filter

device selections

▪ User management - Define user roles, permissions, and device

access

▪ Project management - Assign devices, and applications to users

for specific projects and create a secure separation between

projects

▪ Application management – Mass installation, mass deletion,

cleanup, version control

Reporting and alert management capabilities:

▪ Dashboard for quick overview

▪ Reporting by device, user, project, application, etc.

▪ Email alerts

Page 31: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Demo

Mobile device Lab

Management

Page 32: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers
Page 33: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

33

Leverage end-to-end QA data

analytics for rapid root cause

analysis and constant QA status6

Page 34: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Centralized Test Reporting Consolidate test results to gain end-to-end quality insights and drive

improvements

End-to-end quality view of your entire

QA program

34

Actionable insights with indication of

high risk areas and root cause analysis

Driving the fault investigation and

resolution process

Page 35: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

35

Centralized Test Reporting

Gain up-to-date quality status and key insights for all your apps

Ensure your testing program covers all required scenarios

and platforms

Shorten investigation time with automated root-cause

analysis

Create customized reports based on your key focus areas

Integrate to all testing frameworks and defect-

management systems

Page 36: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Agenda

36

QA challenges in implementing mobile CI/CD in enterprises

CI/CD best practices for mobile app testing

Case study

Page 37: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

37

Large North American Financial Institute

The problem:

• Limited results (25% coverage)

• Bottlenecks due to manual testing and manual processes

Suggested solution:

• Onsite mobile device cloud, serving:

• Remote testers

• Onshore + offshore automation engineers

• Remote developers for unit testing and debugging

• Integration with CI tools (Jenkins) and case management systems

• Advanced automation and manual testing tools

• High scale parallel execution

(SeeTestCloud, SeeTest Automation, SeeTest Manual, SeeTestGrid, SeeTestReporter-beta)

Site B

Site A

Site CMobile device

cloud

Developers,

automation

engineers

Offshore testers

Case Study

Page 38: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

38

Outcome:

• 2 week delivery cycle

• 200 devices located in on-site mobile device cloud – site A

• Test automation conducted by engineers – Site B

• Offshore team performs automated and manual testing in

off-hours – Site C

• Jenkins triggers nightly test suite execution via grid:

thousands of tests on 50 devices in parallel: under 4 hours

• Developers in Site A perform unit tests and debug on the

device where the error occurred

• High, 24/7 device utilization manual testing, automated

testing and debugging

• Quality dashboard supports version readiness decisions

“Using SeeTestCloud allows me to

get better visibility on the quality

and the capacity of all our

different teams, and the progress

of every app.”

General Manager,

Mobile Technologies

Agile quality operation, supporting rapid, high quality releases

Case Study

Page 39: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

✓ Leverage a mobile device cloud

✓ Create a common environment for developers and testers

✓ Integrate your test environment with CI/CD tools

✓ Perform continuous testing for all mobile app test cases

✓ Centrally manage devices, applications, projects and users

✓ Leverage end-to-end QA data analytics

Best practices to help you deliver great mobile apps rapidly

39

Page 40: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

40

Questions?

Page 41: CI/CD for Mobile Apps for...Implement a mobile device cloud allowing remote access to a wide selection of devices, emulators and simulators Create a common test environment for developers

Thank You!

41