Welcome!

Cloud Expo Authors: Yeshim Deniz, Shelly Palmer, Elizabeth White, Liz McMillan, Hovhannes Avoyan

Related Topics: Wireless, Java, SOA & WOA, Web 2.0, Open Web, Cloud Expo

Wireless: Article

Best Practices for Load Testing Mobile Applications | Part 2

How to conduct realistic tests and how to best analyze the results

Mobile applications and mobile websites have become a major channel for conducting business, improving employee efficiency, communicating, and reaching consumers. In Part I of this article we discussed the differences between testing traditional and mobile applications, specific challenges associated with mobile load testing, mobile testing basics and best practices for recording mobile load test scenarios. In this Part 2 of the article, we will look at how to conduct realistic tests and how to best analyze the results.

How to Run Realistic Load Tests
Once you've recorded a mobile test scenario, you need to be parameterize it so that it can emulate users with different identities and behaviors as it is played back to produce a realistic load on the server. This step is required for traditional and mobile web applications, and the tools used to complete it are the same. When playing back the test scenarios, however, there are several challenges specific to mobile load testing.

Simulating Network Conditions
Today's mobile devices generally access the server over networks that are slower than those used by desktop computers. Network conditions have a significant effect on the user experience, and the effect may be more or less pronounced depending on the application. Network characteristics including bandwidth, latency and packet loss have a huge impact on client response times and on the way the server is loaded. By simulating different network conditions in a test lab environment you can forecast the effects of changes in the network infrastructure on the application's performance. Doing so also allows you to discover application issues in the development cycle, therefore reducing costs.

Bandwidth, Latency and Packet Loss
For example, low bandwidth increases the time it takes to download a resource, which then results in higher page load times. If the customer is connected longer, front-end servers hold sockets longer, load balancers have more active TCP sessions and application servers use more threads.

Mobile networks have limited bandwidth and high latency compared to Wi-Fi and broadband. Since the latency is a time added to each request and webpages are composed of many sub-requests, the time required to load a webpage on a mobile device greatly depends on the latency.

Limiting bandwidth and simulating latency and packet loss during a load test allows you to check that all of your users, including mobile users, will get the best user experience and acceptable response times while ensuring your servers won't have problems under load.

Bandwidth and Response Times
The bandwidth is directly correlated with how long it takes to download data from the server. The lower the bandwidth, the higher the response time. A server that provides acceptable response times for desktop users using DSL or another high-speed broadband service may deliver a poor end-user experience to mobile users with lower bandwidth.

It is important to validate your service-level agreements (SLAs) and performance objectives with tests that use the same bandwidth limitations as your users to avoid making decisions based on misleading test results. Such tests must incorporate bandwidth simulation, which is the process of artificially slowing down the traffic during a test to simulate a slower connection.

Bandwidth and Server Load
Clients using lower bandwidth connections also affect the server. The lower the bandwidth, the longer the connections. Longer connections, in turn, lead to more simultaneous connections on your web server and your application server. Thus, mobile users tend to consume more connections than their wired counterparts. Most servers have settings that limit the number of simultaneous connections that they can handle. Without a testing tool that realistically simulates bandwidth, these settings cannot be properly validated.

Simulating Bandwidth Limitations for Individual Virtual Users
When load testing, effective bandwidth simulation requires the ability to individually limit the bandwidth for each user or groups of users, independent of the others.

Consider a situation in which you need to verify performance when 100 mobile users are accessing the server. In this scenario, you'd want to simulate 100 virtual users, with each user limited to a 1Mbps 3G connection. In this case, the total bandwidth for all users is 100Mbps (100 users * 1Mbps/user). Though it is possible to use WAN emulation software or a network appliance to globally limit the bandwidth for the load generation machine to 100 Mbps (or any other arbitrary limit), in practice this does not provide a realistic test because it does not impose a strict 1Mbps constraint on each user. Bandwidth simulation support must be integrated in the load testing tool to enable bandwidth limits to be applied to individual virtual users.

To conduct an even more realistic test, you'll want to simulate a mixed population of users accessing your application with a variety of bandwidths. With a tool capable of bandwidth simulation on a per virtual user basis, you can determine the response times for users at each bandwidth across a range of bandwidths in a single test. This saves times when you need to compare the response times of web applications and business transactions for clients who have different bandwidth limits.

Simulating Browsers and Browser Capabilities
When a browser requests a resource from a web server, it identifies itself via the user-agent header sent with each request. This header contains information about the browser and the platform on which it is running. Servers use this information to deliver different versions of the content based on the client system. As noted earlier, many web applications deliver different content to mobile users and desktop users. Some further differentiate mobile users into subgroups based on information in the user-agent header, delivering less text and smaller images to devices with small screens. This can lead to bandwidth consumption and loading times that vary widely with the browser and platform being used.

As a result, the ability to manipulate the user-agent header is essential not only for recording test scenarios, but also for playing them back. Tools that lack this capability will fail to retrieve the appropriate content from the server.

Simulating Parallel Connections
Mobile browsers, like desktop browsers, can generate the HTTP requests needed to retrieve the static resources of a web page in parallel. Rather than waiting for each image to finish loading before requesting the next, this approach requests multiple images at once to shorten the overall page load time. To measure response times accurately, load testing tools must replicate this behavior by generating multiple requests in parallel. Moreover, they must simulate the appropriate number of parallel connections as this number may differ from one mobile browser to another. Again, tools that lack this capability are not performing realistic tests, placing the results they deliver into question.

Identifying the Most Appropriate Settings for Realistic Tests
Finding the appropriate values for key test settings - such as the user-agent, bandwidth, and number of simultaneous connections - can be a challenge. More advanced load testing tools can help testers set these values. For example, test scenario playback is greatly simplified by tools that can automatically inform the tester of which user-agent string and number of parallel connections to use based on the browser name, version, and platform. The process is further streamlined when the tools can suggest the most appropriate upload and download bandwidth settings based on the technology used (for example, Wi-Fi, 3G, 3G+, and so on) and the quality of the signal (for example, poor, average, or good).

Using the Cloud
You can use load testing with the cloud after (or in conjunction with) on-premise testing in the lab to improve the realism of your tests by generating high loads and testing from different locations, while saving time and lowering costs.

Generating a High Load
For consumer-facing apps and websites, it's often difficult to predict the number of users your applications will have to handle. Traffic spikes that results from a promotion, marketing campaign, new product release, or even unexpected social network buzz can be substantial. To generate a similar load in-house, you would need a significant investment in hardware. Using the cloud, you can generate the same high load using on-demand resources at a much lower cost.

Testing from Different Geographies
Your web application's real users likely access the server from many different geographical locations and use different networks. To properly validate the application and the server infrastructure, your virtual users should operate under similar real world conditions.

Testing the Entire Application Delivery Chain
When your real users are located outside the firewall, you should run your virtual users from the cloud to validate the parts of the application delivery chain that are not tested when testing from the lab, including the firewall, load balancers, and other network equipment.

Tools for Testing with the Cloud
While the cloud represents an opportunity to rapidly increase the scale and improve the realism of load testing at low costs, cloud testing is most effective when it's used to complement internal load testing. Note that the primary factor in the success of load testing with the cloud is not the move to the cloud, rather it's the tool you select and how well it uses cloud technology. In particular, it's best to select a solution that is integrated with multiple cloud platforms, enables in-house test assets to be reused in the cloud, and supports realistic, large-scale tests across multiple geographical regions.

Analyzing Results
The default results of a load test are frequently delivered as averages. For example, load testing tools will typically show what errors occurred and the average response times for a request, web page, or business transaction regardless of the type of users being simulated or the bandwidth available to them.

Because bandwidth may vary widely for the different kinds of users simulated, the errors and response times can also vary widely. Taking an average of results with significant variation does not provide an accurate picture of what is really happening. To gain meaningful insights and to validate your SLAs and performance requirements for each network condition, it is important to go beyond the default results and analyze the results for each kind of user.

Conclusion
In many ways, mobile load testing is similar to load testing classic web applications. As a result, testers can leverage much of their existing knowledge and reuse existing techniques - like using the cloud for realistic, large-scale tests. However, there are specific requirements for testing mobile applications that are not addressed by traditional load testing techniques. Recording mobile test scenarios, conducting realistic tests that simulate real-world bandwidth and browser characteristics, and properly analyzing the results are some of the key areas that require special attention for mobile applications. Addressing challenges in these areas is essential to ensuring mobile web applications are sufficiently tested prior to release and that they will perform well under load in production.

More Stories By Steve Weisfeldt

Steve Weisfeldt is a Senior Performance Engineer at Neotys, a provider of load testing software for Web applications. Previously, he has worked as the President of Engine 1 Consulting, a services firm specializing in all facets of test automation. Prior to his involvement at Engine 1 Consulting, he was a Senior Systems Engineer at Aternity. Prior to that, Steve spent seven years at automated testing vendor Segue Software (acquired by Borland). While spending most of his time at Segue delivering professional services and training, he was also involved in pre-sales and product marketing efforts.

Being in the load and performance testing space since 1999, Steve has been involved in load and performance testing projects of all sizes, in industries that span the retail, financial services, insurance and manufacturing sectors. His expertise lies in enabling organizations to optimize their ability to develop, test and launch high-quality applications efficiently, on-time and on-budget. Steve graduated from the University of Massachusetts-Lowell with a BS in Electrical Engineering and an MS in Computer Engineering.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Cloud Expo Latest Stories
14th International Cloud Expo, held on June 10–12, 2014 at the Javits Center in New York City, featured three content-packed days with a rich array of sessions about the business and technical value of cloud computing, Internet of Things, Big Data, and DevOps led by exceptional speakers from every sector of the IT ecosystem. The Cloud Expo series is the fastest-growing Enterprise IT event in the past 10 years, devoted to every aspect of delivering massively scalable enterprise IT as a service.
As more applications and services move "to the cloud" (public or on-premise) cloud environments are increasingly adopting and building out traditional enterprise features. This in turn is enabling and encouraging cloud adoption from enterprise users. In many ways the definition is blurring as features like continuous operation, geo-distribution or on-demand capacity become the norm. NuoDB is involved in both building enterprise software and using enterprise cloud capabilities. In his session at 15th Cloud Expo, Seth Proctor, CTO at NuoDB, Inc., will discuss the experiences from building, deploying and using enterprise services and suggest some ways to approach moving enterprise applications into a cloud model.
Until recently, many organizations required specialized departments to perform mapping and geospatial analysis, and they used Esri on-premise solutions for that work. In his session at 15th Cloud Expo, Dave Peters, author of the Esri Press book Building a GIS, System Architecture Design Strategies for Managers, will discuss how Esri has successfully included the cloud as a fully integrated SaaS expansion of the ArcGIS mapping platform. Organizations that have incorporated Esri cloud-based applications and content within their business models are reaping huge benefits by directly leveraging cloud-based mapping and analysis capabilities within their existing enterprise investments. The ArcGIS mapping platform includes cloud-based content management and information resources to more widely, efficiently, and affordably deliver real-time actionable information and analysis capabilities to your organization.
In his session at 15th Cloud Expo, Mark Hinkle, Senior Director, Open Source Solutions at Citrix Systems Inc., will provide overview of the open source software that can be used to deploy and manage a cloud computing environment. He will include information on storage, networking(e.g., OpenDaylight) and compute virtualization (Xen, KVM, LXC) and the orchestration(Apache CloudStack, OpenStack) of the three to build their own cloud services. Speaker Bio: Mark Hinkle is the Senior Director, Open Source Solutions, at Citrix Systems Inc. He joined Citrix as a result of their July 2011 acquisition of Cloud.com where he was their Vice President of Community. He is currently responsible for Citrix open source efforts around the open source cloud computing platform, Apache CloudStack and the Xen Hypervisor. Previously he was the VP of Community at Zenoss Inc., a producer of the open source application, server, and network management software, where he grew the Zenoss Core project to over 10...
Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity. In his session at Internet of @ThingsExpo, Mac Devine, Distinguished Engineer at IBM, will discuss bringing these three elements together via Systems of Discover.
Cloud and Big Data present unique dilemmas: embracing the benefits of these new technologies while maintaining the security of your organization’s assets. When an outside party owns, controls and manages your infrastructure and computational resources, how can you be assured that sensitive data remains private and secure? How do you best protect data in mixed use cloud and big data infrastructure sets? Can you still satisfy the full range of reporting, compliance and regulatory requirements? In his session at 15th Cloud Expo, Derek Tumulak, Vice President of Product Management at Vormetric, will discuss how to address data security in cloud and Big Data environments so that your organization isn’t next week’s data breach headline.
The cloud is everywhere and growing, and with it SaaS has become an accepted means for software delivery. SaaS is more than just a technology, it is a thriving business model estimated to be worth around $53 billion dollars by 2015, according to IDC. The question is – how do you build and scale a profitable SaaS business model? In his session at 15th Cloud Expo, Jason Cumberland, Vice President, SaaS Solutions at Dimension Data, will give the audience an understanding of common mistakes businesses make when transitioning to SaaS; how to avoid them; and how to build a profitable and scalable SaaS business.
SYS-CON Events announced today that Gridstore™, the leader in software-defined storage (SDS) purpose-built for Windows Servers and Hyper-V, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Gridstore™ is the leader in software-defined storage purpose built for virtualization that is designed to accelerate applications in virtualized environments. Using its patented Server-Side Virtual Controller™ Technology (SVCT) to eliminate the I/O blender effect and accelerate applications Gridstore delivers vmOptimized™ Storage that self-optimizes to each application or VM across both virtual and physical environments. Leveraging a grid architecture, Gridstore delivers the first end-to-end storage QoS to ensure the most important App or VM performance is never compromised. The storage grid, that uses Gridstore’s performance optimized nodes or capacity optimized nodes, starts with as few a...
SYS-CON Events announced today that Solgenia, the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Solgenia is the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions. Designed to “Bridge the Gap” between personal and professional social, mobile and cloud user experiences, our solutions help large and medium-sized organizations dramatically improve productivity, reduce collaboration costs, and increase the overall enterprise value by bringing collaboration and infrastructure solutions to the cloud.
Cloud computing started a technology revolution; now DevOps is driving that revolution forward. By enabling new approaches to service delivery, cloud and DevOps together are delivering even greater speed, agility, and efficiency. No wonder leading innovators are adopting DevOps and cloud together! In his session at DevOps Summit, Andi Mann, Vice President of Strategic Solutions at CA Technologies, will explore the synergies in these two approaches, with practical tips, techniques, research data, war stories, case studies, and recommendations.
Enterprises require the performance, agility and on-demand access of the public cloud, and the management, security and compatibility of the private cloud. The solution? In his session at 15th Cloud Expo, Simone Brunozzi, VP and Chief Technologist(global role) for VMware, will explore how to unlock the power of the hybrid cloud and the steps to get there. He'll discuss the challenges that conventional approaches to both public and private cloud computing, and outline the tough decisions that must be made to accelerate the journey to the hybrid cloud. As part of the transition, an Infrastructure-as-a-Service model will enable enterprise IT to build services beyond their data center while owning what gets moved, when to move it, and for how long. IT can then move forward on what matters most to the organization that it supports – availability, agility and efficiency.
Every healthy ecosystem is diverse. This is especially true in cloud ecosystems, where portability and interoperability are more important than old enterprise models of proprietary ownership. In his session at 15th Cloud Expo, Mark Baker, Server Product Manager at Canonical/Ubuntu, will discuss how single vendors used to take the lead in creating and delivering technology, but in a cloud economy, where users want tools of their preference, when and where they need them, it makes no sense.
The 15th International Cloud Expo has just expanded its conference program, to bring together Cloud Computing, APM, APIs, Security, Big Data, Internet of Things, DevOps and WebRTC at one location. Cloud Expo is the single show where delegates and technology vendors can meet to experience and discuss the entire world of the cloud. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to learn about the latest technology developments and solutions.
SYS-CON Events announced today that Bsquare Corporation, a leading enabler of smart connected systems, has been named “Bronze Sponsor” of SYS-CON's Internet of @ThingsExpo, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Bsquare is a global leader of embedded software solutions. We enable smart connected systems at the device level and beyond that millions use every day and provide actionable data solutions for the growing Internet of Things (IoT) market. We empower our world-class customers with our products, services and solutions to achieve innovation and success.
SYS-CON Events announced today that NuoDB, Inc., the leader in webscale distributed database technology, has been named “Bronze Sponsor” of SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. NuoDB was launched in 2010 by industry-renowned database architect Jim Starkey and accomplished software CEO Barry Morris to deliver a webscale distributed database management system that is specifically designed for the cloud and the modern datacenter.