Download - Performance Testing for Mobile Apps & Sites using Apache JMeter

Transcript
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