Following statistics will show you the importance of mobile applications in this smart era,

Similar documents
Mobile Performance Testing Approaches and Challenges

Addressing Mobile Load Testing Challenges. A Neotys White Paper

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

Testing & Assuring Mobile End User Experience Before Production. Neotys

Copyright 1

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

WHAT WE NEED TO START THE PERFORMANCE TESTING?

Load and Performance Load Testing. RadView Software October

An Introduction to Cloud Computing Concepts

Mobile App Testing Guide. Basics of Mobile App Testing

Whitepaper. Tangible Benefits of Cloud Networking versus the alternative.

Mobile Application Development

Front-End Performance Testing and Optimization

Smart and Innovative Web Solutions. Just One Click Away

PLATO Learning Environment System and Configuration Requirements for workstations. October 27th, 2008

PLATO Learning Environment System and Configuration Requirements. for workstations. April 14, 2008

VIRTUALIZED WEB DESKTOP Towards a Faster Web Cloud Operating System

Mobile Performance Testing

S ELEC T IONS F ROM DZON E S GU ID E TO M OB ILE D E V E LO P M E N T 2015 EDITION R E S E AR C H PA RTNER SPOTLIGHT

Executive Brief for Sharing Sites & Digital Content Providers. Leveraging Hybrid P2P Technology to Enhance the Customer Experience and Grow Profits

WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

Introduction to Mobile Performance Testing

Creating Effective Mobile Advertising Campaigns

PLATO Learning Environment 2.0 System and Configuration Requirements. Dec 1, 2009

THE MOBlLE APP. REVOLUTlON. 8 STEPS TO BUlLDING MOBlLE APPS FAST ln THE CLOUD

Results-Oriented Application Acceleration with FastView Because Every Second Counts Whitepaper

Penetration Testing for iphone Applications Part 1

HTML5 AUTOMOTIVE 2013 White Paper Series

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

A Model for Classification of Issues and Strategies Related To Smart Phones Applications Testing

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Application Performance Testing Basics

Native v HTML5 An Event Planner s Primer

50 shades of Siebel mobile

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Installation and Setup: Setup Wizard Account Information

Implementing Mobile Thin client Architecture For Enterprise Application

... Introduction Acknowledgments... 19

Etanova Enterprise Solutions

Mobile Application Performance Testing

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Application Performance: Test Strategies & Enhancement through WPO

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Using Steelhead Appliances and Stingray Aptimizer to Accelerate Microsoft SharePoint WHITE PAPER

Mobile Application Performance

ORACLE APPLICATION EXPRESS 5.0

Performance Analysis of Web-browsing Speed in Smart Mobile Devices

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Step into the Future: HTML5 and its Impact on SSL VPNs

Accelerating Wordpress for Pagerank and Profit

WHITE PAPER. HyperOffice Solutions for Mobile Operators, ISPs and Service Providers

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Client requirements. Engagement Situation

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

A closer look at HP LoadRunner software

Developing Cross-platform Mobile and Web Apps

Accelerating Mobile Access

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

12 October 2012 White paper. Best Practices in Mobile Application Testing


SYST35300 Hybrid Mobile Application Development

SiteCelerate white paper

Lesson 7 - Website Administration

Mobile Strategy and Design

Designing for the Mobile Web Lesson 3: HTML5 Web Apps

Statement of Direction

Accelerating Business Value by

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Sample Exam Foundation Level Syllabus. Mobile Tester

Systems Manager Cloud Based Mobile Device Management

RFP# ADDENDUM No. 1 Questions and Answers

The Suitability of Native Application for University E-Learning Compared to Web-Based Application

Data Driven Success. Comparing Log Analytics Tools: Flowerfire s Sawmill vs. Google Analytics (GA)

Generate Android App

Mobile Testing That s Just a Smaller Screen, Right?

WHITE PAPER. Domo Advanced Architecture

Sample Exam Foundation Level Syllabus. Mobile Tester

A Tool for Evaluation and Optimization of Web Application Performance

Whitepaper Performance Testing and Monitoring of Mobile Applications

Choose your mobile device carefully. The wrong platform could leave you without key functionality.

Automation Testing in Mobile Applications Swati Hajela

WHITEPAPER. SECUREAUTH 2-FACTOR AS A SERVICE 2FaaS

Let s Take the Mobile Out of Web Development

Ensuring Mobile Application Quality Across Your Application Lifecycle

Citrix Access Gateway Plug-in for Windows User Guide

Executive Summary. Three Key Takeaways

White Paper. The Assurance Checklist for Branch Networks A pragmatic guide for building high performance branch office networks.

Mobile Test Automation - Right Tools and Right Approach

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Web Load Stress Testing

Meeting the challenges of modern website performance Developments in monitoring strategies

About Blue Sky Sessions

Testing Mobile Software

Understanding the Performance of an X User Environment

WompMobile Technical FAQ

Cisco Application Networking for Citrix Presentation Server

Introduction to Cloud Services

Integrating Cisco ISE with GO!Enterprise MDM Quick Start

Transcription:

www.agileload.com There is no second thought about the exponential increase in importance and usage of mobile applications. Simultaneously better user experience will remain most important factor to attract and retain mobile users. The basics of load testing of mobile apps are not very different from traditional desktop apps. However performance engineers need to understand their fundamental differences (like bandwidth, processing power, screen size etc.) from desktop apps to test all the application parameters successfully. 14/01/2013

Introduction It s not about calling and messaging, it s something beyond communication. Today cellular phones have become basic necessity since almost every person holds cell phone. These cell phones are not only increasing in quantity but there is great shift in their usage as well. Apart from conventional use of communication, people are now using cell phones for booming their business, socially contacting to their friends, family members and professionals, playing games, advertisements, selling and buying etc. By realizing the importance of mobile usage, all business leaders have started developing mobile apps for their products to reach a most important market segment. In this era, mobile apps and websites have become major source of conducting business, improving employees performance and reaching large and wider target market. Following statistics will show you the importance of mobile applications in this smart era, End of 2011, 87% world population (6 billion people) had mobile phone and over one billion people had smart phones only. 22% of mobile phone users access the web over their mobile at least once in a month. 34% Americans and 28% Europeans use their cell phones to access different mobile applications. In 2014 usage of internet over mobiles will exceed from desktop internet usage. According to Nielson 2012 report, 64% of the smart phones time is spent on different apps. In 2011 approximately 30 billion mobile apps were downloaded globally. In US 91% mobile phone users have smart phones and they daily spend 2.7 hours on their mobiles on social apps which is on average twice the time they spend in eating and 1/3 of their sleeping. 1/3 of 600 million+ daily Facebook user use it on mobile, out of 165 million twitter users 50 percent use it on their mobile devices and similarly more than 200 million users daily access the YouTube on their mobile devices. This increasing importance and usage of mobile apps demand greater user experience as well. Mobile applications use fewer resources and are generally bit slower as well compared to desktop applications, however mobile phone users are more demanding and expect everything to be downloaded at desktop speed. Here we will discuss the importance of mobile applications, challenging for mobile apps testing, differences between mobile and desktop apps testing, types of mobile apps, basics of mobile apps load testing and performance optimization techniques for mobile applications.

Types of Mobile Applications Mobile apps are divided into three broad categories based on their architecture. Understanding all types of applications and their infrastructure information is necessary to carry out performance testing activity successfully. Here we will discuss each application type to provide its basic understanding. Native Apps Applications downloaded from online market/store and installed on specific device are categorized as native mobile apps. These applications are developed by using specific programming language (like Java for Android and Objective-C for ios) and device specific API. Mobile users have access to these applications all the time without connecting to internet once they are installed on their devices. Games and applications downloaded from app store or market are examples of native apps. Web Apps Applications accessed through internet on mobile browsers are called mobile web apps. These applications are developed with web technologies like HTML, JQuery and JavaScript. Popular social media applications like Facebook (http://m.facebook.com) and Gmail (http://m.gmail.com) etc. have their separate mobile based web apps which are very famous among mobile users.

Hybrid Apps Combination of web and native mobile apps is called Hybrid app. In such applications, web apps are embedded into native mobile apps. User interface is normally covered in native part of the application while content is loaded through web part of the application. Facebook, LinkedIn and Twitter apps installed on a mobile are best examples where application interface is installed but contents is loaded from the web. Importance of Mobile Apps Performance As the usage of mobile phones is increasing the importance of mobile apps performance is also increasing simultaneously. Mobile phone users are very demanding and always expect mobile apps to perform like their desktop. According to a survey, 71% users expect a website to open on their mobile as quickly as on their desktop. 5 seconds is considered as turnaround time for mobile applications and websites. 74% users leave the mobile websites and 50% users exit mobile apps after 5 seconds or more response time. 1/3 of the frustrated users go to competitors applications. Normally mobile phone users try to access the troubled application twice and nearly half of them never return to application if they still face the same issue(s) on their mobile device. Achieving and maintaining good response time of a mobile application is more challenging for performance engineers than a desktop application due to its complex architecture and less resources it uses.

Challenging For Testing Mobile Applications Conducting a performance testing activity has never been an easy and up-front task. Establishing a performance test environment similar to production environment is always a starting and most demanding part of this activity. Moreover, it requires involvement of all the application stakeholders, skilled performance engineers, large infrastructure setup etc. However due to the complex architecture, mobile apps and websites are even more difficult to test. Testing of different types of mobile applications (Web, Native and Hybrid) on various platforms (ios, Android etc.) and networks (Wifi, 2G, 3G, 3G+ and 4G LTE) is also a major challenge in mobile apps testing. Following are some of the main challenges associated with mobile apps performance testing. Simulating Mobile Network Internet Connections Most of the mobile users use 3G, 3G+ and 4G LTE slower and lower quality wireless protocols to connect to internet as compared to desktop applications which use higher bandwidth internet connections. Simulating different mobile network internet connections in a single performance test is a challenge for performance engineers. Lots of Devices There are dozens of mobile manufactures with each having their own operating system and mobile specifications. Also, there are countless factors within every single manufacture and every mobile model has its own specs i.e. operating system, processing power, memory and screen size etc. During the performance testing of mobile apps we need to counter all or some of these factors which is not an easy task. Selecting a performance testing tool which should provide you all the required features becomes increasingly important in this case. Lots of Users The usage of smart phone business applications is increasing rapidly with the passage of time and more and more users accessing the business critical applications on their mobile phones. This increase in users also demands swift responsive delivery of web applications. You cannot only relay to fulfill the current users requirements but proper capacity planning is extremely important for the success of any mobile application.

Difference between Traditional Desktop Web apps and Mobile Apps The basics of load testing of traditional desktop web applications and mobile applications are quite similar especially in case of mobile web apps. Both use similar technologies and you don t need to select a unique performance testing tool for mobile apps. The tool only needs to have basic load testing features and capabilities and testing team must have essential skills of that tool simultaneously. Nonetheless, there are few fundamental differences between mobile apps and desktop apps as following, Client Model Traditional web applications run on fat client while mobile apps use thin client. Fat client provides more throughputs and is faster than thin client since they provide applications access straight from the server rather than transferring data from tower to tower as it happens in thin client. Network Bandwidth Network bandwidth plays a vital role in performance of an application and desktop applications are greatly benefited these days from high network bandwidth. Mobile networks are also evolving in terms of bandwidth but still there is no comparison between the two. Most mobile users use lower speed 3G and 4G LTE internet connections which increase the user response time by extending the user session and increase mobile battery consumption as well. This bandwidth is a major factor behind low mobile apps performance as compared to desktop applications. Data Travelling Cell phone data travels from tower to tower to reach user device unlike powerful client server architecture of desktop applications. The tower to tower data travelling is always slow which contributes towards low mobile apps performance. Device Power Web applications can use high processing power and memory of desktop computers resulting in maximized performance whereas mobile devices have limited resources. Mobile apps only have limited power and memory resources to be benefited from.

Navigation Differences Mobile users utilize their finger/thumb for navigation unlike clicking using mouse in case of desktop applications which always result in better user experience. The finger/thumb navigation model cannot be compared with the navigation thru mouse in desktop applications. Moreover, one has to translate the mobile apps touch into click during performance test scenarios recording. Data Usage In mobile networks, users are charged on amount of data they consume. Caching the data is one of the techniques used in desktop applications to improve the user experience but one can never implement such techniques for mobile applications due to data usage restrictions. Performance Matrices Performance matrices of web and mobile applications are also bit different due their different architecture. You need to check the Battery consumption, Binary Size etc. along with normal parameters of Response Time, Resources Utilization etc. Mobile Load Testing Basics and Best Practices Native Mobile Apps Script Recording You always need a mobile device or emulator to record the user actions for a native mobile app. In order to record user actions for performance test the network traffic needs to be intercepted from the mobile/emulator devices. You need some equipment to record mobile/emulator device traffic and that equipment must be connected to an internet connection as a mobile/emulator device. Device traffic recording from 3G or 4G network is not possible if recording machine is running on intranet behind the firewall. This problem can be solved by configuring mobile device to proxy based recorder. You can record the user actions on a mobile device by enforcing its traffic to pass through the recording proxy.

Web Mobile Apps Script Recording Capturing the user actions from a mobile web app is similar to desktop web application as both use similar web technologies. The desktop web browser can be used to record the mobile web app for simplicity. However, you need to modify the user request to pretend the server as these requests are coming from the mobile not from the desktop machine. A browser plug-in is needed to modify the user agent to make it as coming from the mobile device. Moreover, latest desktop web browser will be needed to support latest mobile development technologies like HTML5 etc. Hybrid Mobile Apps Script Recording Desktop browser can be used for recording of various hybrid mobile apps as well like mobile web apps. You can access the web URL of the mobile app and perform the load testing as it s done for web app. Identifying and simulating most suitable settings for the realistic performance tests are always mandatory to assess the application performance properly. Simulating proper workload model is the key to achieve desired outcomes of the activity. You need to distribute users actions, network bandwidth utilization and test duration properly to achieve desired results. Since different users use different internet connections (e.g. Wifi, 3G and 4G), therefore simulating all of them is mandatory for successful performance testing activity. All modern mobile apps performance testing tools provide all the real world network connections during performance testing.

Additionally, simulating large user load from different geographical locations can also be highly important depending upon the context of the application. Good performance testing tools like AgileLoad provide the facility to simulate the large user load from different geographical locations through cloud based load testing. Tests are monitored during the execution and their results are thoroughly analyzed against all the defined SLAs once all the tests are executed to check the application response against different user loads. Good performance testing tools like AgileLoad also provide the diagnostic feature to pin point the root cause of the problem for quick fix. Mobile Apps Performance Optimization Techniques Techniques for optimizing the mobile apps performance depend upon the specific application and nature of its bottlenecks. Here we will share generic set of techniques which can be used to optimize the mobile apps performance. Reducing the number of HTTP requests between the client and server, page load time can be greatly improved. Placing JavaScript and CSS into a single common file and sharing it across multiple pages is another technique to optimize the application. Although browser cashing is not very efficient for mobile application but HTML5 web storage is an alternative of browser caching. In-lining resources instead of using them as linked references can greatly increase the page loading time. Bandwidth consumption can be decreased by compressing and reducing page resources to make it faster. By resizing the images according to mobile screen can not only reduce the page size but also improve the processing power.

Conclusion There is no second thought about the exponential increase in importance and usage of mobile applications. Simultaneously better user experience will remain most important factor to attract and retain mobile users. The basics of load testing of mobile apps are not very different from traditional desktop apps. However performance engineers need to understand all types of mobile apps architecture, their fundamental differences completely (like bandwidth, processing power, screen size etc.) from desktop apps to test all the application parameters successfully.