cmg impact2016 - mobile performance testing - vendor training - federico toledo, sofia palamarchuk

55
MOBILE PERFORMANCE PhD. Federico Toledo @fltoledo Sofía Palamarchuk @sopalamarchuk

Upload: federico-toledo

Post on 15-Apr-2017

382 views

Category:

Software


0 download

TRANSCRIPT

MOBILEPERFORMANCE

PhD. Federico Toledo@fltoledo

Sofía Palamarchuk@sopalamarchuk

• Co-founder and CEO US at Abstracta (www.abstracta.us)

• PhD and author

• +10 years experience in performance testing

• +80 projects worldwide

Who we are

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

What is computer

performance?

USEFUL WORK

TIME & RESOURCES

USED

VS

What is performanc

e testing about?

Simulation

Sour

ce: h

ttp://

www.

min

iatu

r-wun

derla

nd.d

e/

Measurement

Breaking pointBottlenecks

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

Server side

• Concurrent users • Proccess

Types of Performance Tests

Simulation

}

Simulation

• Load simulation tools

• JMeter (jmeter.apache.org)

• Taurus (gettaurus.org)

• BlazeMeter (blazemeter.com)

• Gatling (gatling.io)

Technologies

BlazeMeter• Increase JMeter’s potential to thousands

of users.• Real-time Reporting and Comprehensive

Analytics

BlazeMeter• Third party integration (APM & CI tools)• Simulate Production Network Conditions• Run tests from multiple geographic

locations

• Profilers and similar (JVisualVM, JProfiler, dotTrace)

• Operating system (NMON, perfmon, Netdata)

• APMs (AppDynamics, NewRelic, Dynatrace)

Monitoring

New Relic• Server monitoring• Use of alerts to identify issues

New Relic APM

New Relic Mobile

https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

Client side

Mobile Web Apps• PageSpeed• Yslow• Monkeytest.it• APMs

Technologies

PageSpeed Insights

Performance and usability

Information to optimize client-side performance

Based on “best-practices”

Mobile Web Apps• PageSpeed• Yslow• Monkeytest.it• APMs

Native Apps• Google Cloud Test Lab / Testdroid /

Perfecto• iOS: Instruments / XCTest• APMs (Libraries)• Monkop

Technologies

Ebay ESPN Fantasy Instagram Rio 2016 VivaVideo

Monkop - Explorations

Test app behavior on multiple devices

• Cloud Lab: Automatic device selection of the most popular devices, Android OS versions and screen sizes.

• Compatibility testing: Install / Run / Uninstall

• Crash testing: ANR + crashes

• Performance analysis on each device and native development best practices

Detailed performance information

• Know how the app behaves in terms of performance and resource usage.

• Detect bad programming practices and obsolete libraries.

• Top SQLs, startup times, network, memory, CPU, GC, GPU.

• Profiling - coming soon.

How to use Monkop

Four different flavors

1- Robo-Test + Data

• No scripts – no setup!• Input data can be

used to “unlock” screens

• Online (Cloud) or Desktop (Monkop Solo)

2- Test Automation

• Open source languages supported – instrumentation like Robotium, Espresso, UI Automator, etc.

• Any other language can be mounted on Monkop Server.

3- Command Line

• CLI to execute from any machine

• No need to read documentation or study how to use the API

4- Continuous Integration

• Automatic Smoke Tests before sending a new version to QA

• Automatically label each build with the results (i.e. Github)

• Increase coverage through test automation

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop

Agenda

Demo #1

GitHub

Demo #2

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop and Taurus

Agenda

• Introduction• Performance, testing, simulation

• Server side• Load testing• Monitoring

• Client side• Device performance with Monkop

• Continuous Integration

• Hands-on with Monkop and Taurus

Agenda

Hands-on: Monkop and Taurus

• Requirements: • Curl• Python 2.7

• Run Monkop CLI• Analyze the report

• Run Taurus• Install it• Prepare file quick_test.yml• Run the test (the first time takes a while)• Analyze results in BlazeMeter

Instructions and help:www.monkop.com/cmgimpact.html

• Server side• Load testing• Monitoring

• Client side

• Continuous Integration

Summary

THANK YOU!Mobile Performance Testing

If you like it

Certification in Performance Testing with JMeter and BlazeMeter

• Online course (one month)• www.abstracta.us/training

Cupon code: 25% OFF this month IMPACT2016

http://bit.do/librodetesting

PhD. Federico Toledo@fltoledo

Sofia Palamarchuk@sopalamarchuk

Silicon Valley office425 Broadway Street Redwood City, CA

HeadquartersJose Ellauri 1126 Montevideo, Uruguay

www.abstracta.us