28
@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected] Performance Testing for Mobile Apps & Sites (using open source tools)

Performance Testing for Mobile Apps & Sites using Apache JMeter

Embed Size (px)

DESCRIPTION

Mobile testing has many moving parts - Different devices - Different mobile networks - Less tolerance for bad user experience Therefore any platform that is being used for testing, must support all these by providing easy ways to record mobile scenarios and to be able to realistically emulate mobile traffic at scale.

Citation preview

Page 1: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Performance Testing for Mobile Apps & Sites

(using open source tools)

Page 2: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Alon Girmonsky About Me

•  Hands-On Developer for the Past 20 Years •  Expertise

– Large-Scale Web and Mobile Applications –  IP & Internet

•  Founder & CEO of BlazeMeter – A Load Testing Platform as a Service – 100% Compatible with Apache JMeter

USERS

50,000

TESTS

500,000

Page 3: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Mobile Vs Web

Mobile: The New Challenge

•  Mobile – Devices – Networks – Scale – Recording

•  HTTPS / Apps

– Visual Feedback •  The rest is about the same ..

Page 4: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Mobile Vs Web

Mobile: The New Challenge

Desktop Mobile

Client “Standard” Browser Multitude of clients

Technology HTML HTML / Native

Bandwidth Fast (1-20 Mb/s) Slow (0.1 Mb/s and up)

Latency Small (less than 100ms) Large (100-1000ms)

Visual Feedback Immediate After data has loaded*

Page 5: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Comprehensive scripting at your fingertips

Any Script, Any Scenario

•  HTTP / HTTPS •  Login / Signup •  Form POSTing / Credit card transactions •  Web services •  Parameters extraction •  Mobile •  Mongo, MSSQL, Oracle SQL, MySQL •  Multiple user profiles

» Any script » Any scenario » Any protocol

Page 6: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

The Load Sensitivity Point What to look for?

Page 7: Performance Testing for Mobile Apps & Sites using Apache JMeter

Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Performance 1-on-1

Page 8: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Performance Types

Perfect Time

Sensitive

Bad

Page 9: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Performance Types

Perfect

The Perfect Load

Time

Page 10: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Performance Types

Sensitive

Sensitive to Load

Time

Page 11: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Performance Types

Bad

Bad Performance

Time

Page 12: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Performance Types

Perfect

Here They Are Again

Time

Sensitive

Bad

Page 13: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Testing Steps

Performance Testing Walkthrough

• Record the Mobile User Scenario • Configure Test Parameters • Run Load Test • Analyze The Results

Page 14: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Testing Steps

Performance Testing Walkthrough

• Record the Mobile User Scenario • Configure Test Parameters • Run Load Test • Analyze The Results

Page 15: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Using Apache JMeter Proxy

Record the Mobile User Scenario

Page 16: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Using Apache JMeter Proxy

Record the Mobile User Scenario

Get Your Local IP

Page 17: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Using Apache JMeter Proxy

Record the Mobile User Scenario

Point Device to Proxy

Page 18: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Using Apache JMeter Proxy

Record the Mobile User Scenario

Real usage of a mobile app (CNN iPhone app)

Page 19: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Verify The Recorded Data in JMeter

Record the Mobile User Scenario

All of the requests made by the app.

Request Headers

Page 20: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Verify The Recorded Data in JMeter

Record the Mobile User Scenario

Different���User Agent

Page 21: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Emulate Any Device from your Browser

Recording: Mobile Web

Page 22: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Emulate Any Device from your Browser

Recording: Easier

Page 23: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Testing Steps

Performance Testing Walkthrough

• Record the Mobile User Scenario • Configure Test Parameters • Run Load Test • Analyze The Results

Page 24: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Configure Test Parameters

•  Number of Users •  Number of Servers •  Test Duration •  Ramp Up Time •  Load Server Geo Location(s)

Page 25: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Define Network Emulation Parameters

Mobile Network Emulation

Page 26: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Testing Steps

Performance Testing Walkthrough

• Record the Mobile User Scenario • Configure Test Parameters • Run Load Test • Analyze The Results

Page 27: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Load Testing Steps

Performance Testing Walkthrough

• Record the Mobile User Scenario • Configure Test Parameters • Run Load Test • Analyze The Results

Page 28: Performance Testing for Mobile Apps & Sites using Apache JMeter

@alongir Palo Alto, CA|NYC, NY|1.855.445.2285|[email protected]

Thank you for your time!

Jolt Awards 2013: The Best Testing Tools

Thank you for attending. We’ll send out an email with the recording and the deck.

Q & A For more information about Performance Testing and JMeter: http://BlazeMeter.com/blog/ [email protected] @BlazeMeter