Best Practices for Performance Testing Mobile Apps



Similar documents
STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Enhancing Performance Test Strategy for Mobile Applications

Mobile Performance Testing Approaches and Challenges

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

Testing & Assuring Mobile End User Experience Before Production. Neotys

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

Whitepaper Performance Testing and Monitoring of Mobile Applications

Mobile Testing: Actual Results from Nationwide Insurance How we could have tested the same application with the latest tools available

On the Edge of Mobility Building a Bridge to Quality October 22, 2013

Guide to Mobile Testing

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Introduction to Mobile Performance Testing

DEPLOYMENT. ASSURED. SEVEN ELEMENTS OF A MOBILE TEST STRATEGY. An Olenick & Associates White Paper

deviceconnect Core of the Enterprise Mobile App Infrastructure

Perfect Your Mobile App with Load Testing and Test Automation

AppDynamics Fall 14' Release: Revolutionizing APM! p r e s e n t e d b y :

10 Best Practices for Application Performance Testing

Performance Test Process

Mobile Application Performance Testing

Performance Testing of a Cloud Service

Best Practices for Web Application Load Testing

Total Quality in Mobile Apps -Continuous Integration & Performance Testing

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Performance Testing

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Products & Features. For more information. Web/app service to be managed Real Brower. Public. ARGOS PC Probe. Apps. Mobile subscriber network

It s Not Called Continuous Integration for Nothing!

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

Productized Services: Cloud Performance Testing

Testing in a Mobile World

Monitoring Best Practices for COMMERCE

Cloud-Based dwaf A Real World Deployment Case Study. OWASP 5. April The OWASP Foundation

Fixed Price Website Load Testing

Cognizant Mobility Testing Lab. The faster, easier, more cost-effective way to test enterprise mobile apps.

MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

Going mobile: Keys to the successful performance of your mobile application Shane Evans, HP Product Manager Todd DeCapua, Shunra VP

Perfecto Mobile. All rights reserved.

Mobile Performance Testing

Considerations for Adopting PaaS (Platform as a Service)

Enterprise-grade Mobile Application Quality across your Application Life cycle THE MOBILECLOUD PLATFORM Perfecto Mobile. All rights reserved.

Automated testing for Mobility New age applications require New age Mobility solutions

Load/Performance Test Plan

Questions & Answers Preview the new HP LoadRunner and HP Performance Center 12.0

Closing The Application Performance Visibility Gap Inherent To Citrix Environments

APPLICATION PERFORMANCE TESTING IN A VIRTUAL ENVIRONMENT

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Applications Performance Management for Mobile Applications September 18, 2013

How To Test On An Hp Mobile Device

Bright Idea: GE s Storage Performance Best Practices Brian W. Walker

Understanding the Impact of Running WAN Emulation with Load Testing

How to Consolidate your App Monitoring Strategy: End-to-End User Experience Monitoring for Your BSM October 20, 2015

White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.

QUICK FACTS. Providing Application Development and Data Migration Support for a Leading Healthcare Company

Continuous Delivery Workshop

Application. Performance Testing

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

HP Performance Center 11.5: What s New? Gurmeen Aneja

Choosing the Best Mobile Backend

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Agile Web Application Testing

Performance Testing- Is Your Mobile Application Ready for Scale?

Top Five Secrets for a Successful Enterprise Mobile QA Automation Strategy

HP Application Lifecycle Management

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Five Strategies for Performance Testing Mobile Applications

Application Performance Testing Basics

Automation and Virtualization, the pillars of Continuous Testing

Terrace Consulting Services

Benchmark Performance Test Results for Magento Enterprise Edition

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

Load and Performance Load Testing. RadView Software October

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

How To Test For Performance

Sample Exam Foundation Level Syllabus. Mobile Tester

Microsoft Modern ALM. Gilad Levy Baruch Frei

Mobile Application Performance

Transcription:

Best Practices for Performance Testing Mobile Apps Lee Barnes, CTO Utopia Solutions

Apology I don t believe in best practices I do believe in guidelines and better approaches for a given situation

Key Questions Why is mobile app performance important? How is mobile different? How can I adapt? 3

Why Should I Care? M-Commerce 66% OF SHOPPERS ABANDON TRANSACTIONS 5 OUT OF 10 BECAUSE OF POOR PERFORMANCE 1 SECOND DELAY equals a 7% DROP IN CONVERSIONS 2013 Mobile Commerce Insights study conducted by Jumio 4

Still Not Convinced? 2013-2014 World Quality Report 5

Evolution of Performance Testing 2-Tier Client Server Web Mobile Challenges Proprietary Protocols Skilled Resources Complex / Integrated Systems Testing Large Loads State of the Practice 1990 2000 2010 In-Lab Testing Tool Maturation Open Source Tools Specialized Resources Cloud-based Testing 6

Mobile Challenges & Adaptations

Mobile Challenges User Access Your users have options Native App Mobile Site Full / Responsive Site 8

Assess the User and Load Profile 1. Determine the user profile 2. Determine the load profile Business processes Native app, mobile site, full site Preferred browser Network conditions Geographic location Volume of users by business process and location Volume of users by access type Frequency / throughput Incorporate constant feedback from application logs and other monitoring solutions 9

Mobile Challenges - Network Mobile User Connected User 3G 4G InATunnelG Network bandwidth and quality affect both end user experience and system load 10

Assess Impact of Network Variability 1. Assess baseline performance (single user) 2. Assess performance under load Observe UX with real devices behind network virtualization solutions Put system under virtual user load Observe UX with real devices behind network virtualization solutions Virtual Users Real Devices NV NV 11

Network Virtualization Tools Single User (Device and/or Emulator) Apple Network Link Conditioner Android Emulator Charles Proxy HP (Shunra) NV Multiple Virtual Users HP (Shunra) NV Load test tools (built-in) Charles Proxy 12

Mobile Challenges User Location and Volume A high volume of global users is difficult to reproduce in a lab 13

Utilize Cloud-based Testing Solutions Achieve production level loads Test entire infrastructure (vs. behind the firewall) Distribute load geographically Assess user impact on real devices 14

Test Tool Differences for Mobile Recording Network Emulation User Agent Everything else is generally the same as desktop/web 15

Recording Mobile App Performance Test Scripts How do we capture the traffic? Proxy Recording Enable proxy recording in tool Configure device proxy settings to point to workstation 16

Setting Network Emulation Parameters Map settings to user groups Keep it simple predefined settings are typically sufficient Ideal capabilities: - Predefined settings for common profiles - Vary bandwidth, latency and packet loss - Multiple profiles per load generator 17

Specifying the User Agent Map settings to user groups Use predefined settings Understand how your system responds to different user agents 18

Mobile Challenges Device Performance Measuring System / Network Metrics is Not Enough Battery Drain Memory Graphics CPU I / O 19

Measuring Device Performance Critical device metrics: CPU Memory Battery Storage Capture metrics while exercising app Include appropriate devices / configurations Incorporate automation for consistency Device Performance Measurement Solutions Mobile development platforms Android DDMS ios Instruments / Xcode Mobile test automation tools TouchTest (SOASTA) Trust (Mobile Labs) MonkeyTalk (Gorilla Logic) Mobile lab / cloud solutions Device Connect (Mobile Labs) Keynote DeviceAnywhere Perfecto Mobile 20

Measurement Scenarios Exercise Target App Background Target App Background Common Apps Device Only 21

Lesson Learned from Device Measurement Start Early 22

Mobile Challenges Agile Development How does performance testing fit? Analysis Deploy Design Acceptance Test Final Acceptance Test Develop & Unit Test 23 Source: Agile and Test Estimation Sharon Robson

Performance Testing in an Agile Environment Waterfall Plan Design Build Test Deploy Performance Testing Too late! 24

Performance Testing in an Agile Environment Agile Sprint 1 Sprint 2 Sprint 3 Deploy Performance Testing Same Process Same Risk! 25

Performance Testing in an Agile Environment Agile Sprint 1 Sprint 2 Sprint 3 Deploy Performance Testing Performance Testing Performance Testing Performance Testing Waterfall Approach Rigid 4-6 week test cycle Agile Approach Flexible 2 week sprints + = 26

Performance Testing in an Agile Environment Ultimate Goal Early Cycle / Ongoing Performance Analysis Shift Left Late Cycle Performance Testing 27

Identify Gaps What s stopping us from analyzing performance continuously? Performance objectives weren t part of user stories Agile teams lacked performance engineering expertise APM tools / skills were non-existent 28

Performance Testing in an Agile Environment Capture non-functional requirements Begin developing a performance focused culture Make performance everyone s job Create a role to coordinate performance activities CoE performance test architects become mentors 29

Incorporating Performance Requirements as acceptance criteria for existing user stories As a dealer I want to create a product configuration for an order so that my customer can purchase the equipment they need as technical stories All steps in the product config. process will have a response time of less than 2 seconds 1,500 dealers are concurrently using the system to configure products for customer orders As a dealer, I want the response time of any step in the product configuration process to be less than 2 seconds as constraints The system will respond in less than 2 seconds for all steps in the product configuration process for a maximum of 1,500 concurrent users configuring orders 30

Performance Testing in an Agile Environment Unit performance testing Incorporate performance testing / analysis into each sprint Component / system level performance testing Include performance testing in the CI chain 31

Performance Unit Testing Start with existing unit tests Decorate them with timers and load Monitor results across builds Build 1 Build 2 Build 3 Build 4 32

Beyond Unit Testing Component and system level testing Map user stories onto system components Benchmark in development / QA environment Look for trends in measurements vs. absolutes Use service virtualization for 3 rd party or yet to be developed components Incorporate as part of the CI chain Harden scripts against application changes 33

Adding Performance Tests to CI Custom plug-ins exist to run performance tests as part of the CI chain very useful Lessons Learned People get mad when you unnecessarily break the build Allow for non-production-like environment Set your response time tolerances and client timeouts accordingly They get really mad when you can t figure out why you broke the build Add error handling and logging to scripts to enable quick failure investigation 34

Summary Key takeaways Mobile users are not the same as connected users Performance is more than backend / network Push performance analysis to the left in the development cycle 38

Questions?. and Answers! Direct future questions to: Lee Barnes Founder and CTO Utopia Solutions, Inc. Email: lee.barnes@utopiasolutions.com Twitter: twitter.com/usi_leebarnes LinkedIn: linkedin.com/in/leebarnes Blog: www.raiseyourmq.com 39

Links to Unit Performance Testing Frameworks JUnitPerf http://www.clarkware.com/software/junitperf.html P-unit http://p-unit.sourceforge.net/