|By Steve Weisfeldt||
|January 7, 2013 08:00 AM EST||
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.
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.
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.
How do APIs and IoT relate? The answer is not as simple as merely adding an API on top of a dumb device, but rather about understanding the architectural patterns for implementing an IoT fabric. There are typically two or three trends: Exposing the device to a management framework Exposing that management framework to a business centric logic • Exposing that business layer and data to end users. This last trend is the IoT stack, which involves a new shift in the separation of what stuff hap...
Oct. 23, 2014 05:45 PM EDT Reads: 1,379
SYS-CON Events announced today that Utimaco 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. Utimaco is a leading manufacturer of hardware based security solutions that provide the root of trust to keep cryptographic keys safe, secure critical digital infrastructures and protect high value data assets. Only Utimaco delivers a general-purpose hardware security module (HSM) as a customiz...
Oct. 23, 2014 05:45 PM EDT Reads: 1,319
SYS-CON Events announced today that SOA Software, an API management leader, 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. SOA Software is a leading provider of API Management and SOA Governance products that equip business to deliver APIs and SOA together to drive their company to meet its business strategy quickly and effectively. SOA Software’s technology helps businesses to accel...
Oct. 23, 2014 05:15 PM EDT Reads: 1,355
Compute virtualization has been transformational, yet security policy implementation and enforcement has lagged behind in agility and automation. There are a number of key considerations when implementing policy in private and hybrid clouds. In his session at 15th Cloud Expo, Holland Barry, VP of Technology at Catbird, will discuss the impact of this new paradigm and what organizations can do today to safely move to software-defined network and compute architectures, including: How normal ope...
Oct. 23, 2014 05:15 PM EDT Reads: 422
Samsung VP Jacopo Lenzi, who headed the company's recent SmartThings acquisition under the auspices of Samsung's Open Innovaction Center (OIC), answered a few questions we had about the deal. This interview was in conjunction with our interview with SmartThings CEO Alex Hawkinson. IoT Journal: SmartThings was developed in an open, standards-agnostic platform, and will now be part of Samsung's Open Innovation Center. Can you elaborate on your commitment to keep the platform open? Jacopo Lenzi: S...
Oct. 23, 2014 05:00 PM EDT Reads: 2,046
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.
Oct. 22, 2014 09:00 PM EDT Reads: 1,215
SYS-CON Events announced today that ElasticBox is holding a Hackathon at DevOps Summit, November 6 from 12 pm -4 pm at the Santa Clara Convention Center in Santa Clara, CA. You can enter as an individual or team of up to 10 developers. A New Star Is Born Every Month! All completed ElasticBoxes will then be sent to a judging panel - 12 winners will be featured on the ElasticBox website in 2015. All entrants will receive five full enterprise licenses for one year + ElasticBox headphones + Elasti...
Oct. 22, 2014 01:00 PM EDT Reads: 1,456
Once the decision has been made to move part or all of a workload to the cloud, a methodology for selecting that workload needs to be established. How do you move to the cloud? What does the discovery, assessment and planning look like? What workloads make sense? Which cloud model makes sense for each workload? What are the considerations for how to select the right cloud model? And how does that fit in with the overall IT tranformation? In his session at 15th Cloud Expo, John Hatem, head of V...
Oct. 22, 2014 12:00 PM EDT Reads: 1,478
Cloud services are the newest tool in the arsenal of IT products in the market today. These cloud services integrate process and tools. In order to use these products effectively, organizations must have a good understanding of themselves and their business requirements. In his session at 15th Cloud Expo, Brian Lewis, Principal Architect at Verizon Cloud, will outline key areas of organizational focus, and how to formalize an actionable plan when migrating applications and internal services to...
Oct. 22, 2014 11:45 AM EDT Reads: 1,477
SAP is delivering break-through innovation combined with fantastic user experience powered by the market-leading in-memory technology, SAP HANA. In his General Session at 15th Cloud Expo, Thorsten Leiduck, VP ISVs & Digital Commerce, SAP, will discuss how SAP and partners provide cloud and hybrid cloud solutions as well as real-time Big Data offerings that help companies of all sizes and industries run better. SAP launched an application challenge to award the most innovative SAP HANA and SAP ...
Oct. 22, 2014 07:00 AM EDT Reads: 1,567
Ixia develops amazing products so its customers can connect the world. Ixia helps its customers provide an always-on user experience through fast, secure delivery of dynamic connected technologies and services. Through actionable insights that accelerate and secure application and service delivery, Ixia's customers benefit from faster time to market, optimized application performance and higher-quality deployments.
Oct. 21, 2014 09:00 PM EDT Reads: 1,464
SYS-CON Events announced today that Calm.io has been named “Bronze Sponsor” of DevOps Summit Silicon Valley, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Calm.io is a cloud orchestration platform for AWS, vCenter, OpenStack, or bare metal, that runs your CL tools puppet, Chef, shell, git, Jenkins, nagios, and will soon support New Relic and Docker. It can run hosted, or on premise and provides VM automation / expiry, self-service portals,...
Oct. 21, 2014 08:45 PM EDT Reads: 1,389
In her General Session at 15th Cloud Expo, Anne Plese, Senior Consultant, Cloud Product Marketing, at Verizon Enterprise, will focus on finding the right mix of renting vs. buying Oracle capacity to scale to meet business demands, and offer validated Oracle database TCO models for Oracle development and testing environments. Anne Plese is a marketing and technology enthusiast/realist with over 19+ years in high tech. At Verizon Enterprise, she focuses on driving growth for the Verizon Cloud pla...
Oct. 21, 2014 07:30 PM EDT Reads: 1,470
SYS-CON Events announced today that Aria Systems, the recurring revenue expert, 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. Aria Systems helps leading businesses connect their customers with the products and services they love. Industry leaders like Pitney Bowes, Experian, AAA NCNU, VMware, HootSuite and many others choose Aria to power their recurring revenue bu...
Oct. 21, 2014 06:00 PM EDT Reads: 1,390
The Internet of Things (IoT) is going to require a new way of thinking and of developing software for speed, security and innovation. This requires IT leaders to balance business as usual while anticipating for the next market and technology trends. Cloud provides the right IT asset portfolio to help today’s IT leaders manage the old and prepare for the new. Today the cloud conversation is evolving from private and public to hybrid. This session will provide use cases and insights to reinforce t...
Oct. 21, 2014 05:15 PM EDT Reads: 1,449
As Platform as a Service (PaaS) matures as a category, developers should have the ability to use the programming language of their choice to build applications and have access to a wide array of services. Bluemix is IBM's open cloud development platform that enables users to easily build cloud-based, creative mobile and web applications without having to spend large amounts of time and resources on configuring infrastructure and multiple software licenses. In this track, you will learn about the...
Oct. 21, 2014 05:00 PM EDT Reads: 1,460
Blue Box has closed a $10 million Series B financing. The round was led by a strategic investor and included participation from prior investors including Voyager Capital and Founders Collective, as well as the Blue Box executive team. This round follows a $4.3 million Series A closed in December of 2012 and led by Voyager Capital. In May of this year, the company announced general availability of its private cloud as a service offering, Blue Box Cloud. Since that release, the company has dem...
Oct. 21, 2014 01:45 PM EDT Reads: 1,555
SYS-CON Events announced today that Verizon has been named "Gold 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. Verizon Enterprise Solutions creates global connections that generate growth, drive business innovation and move society forward. With industry-specific solutions and a full range of global wholesale offerings provided over the company's secure mobility, cloud, strategic network...
Oct. 21, 2014 09:30 AM EDT Reads: 1,620
SimpleECM is the only platform to offer a powerful combination of enterprise content management (ECM) services, capture solutions, and third-party business services providing simplified integrations and workflow development for solution providers. SimpleECM is opening the market to businesses of all sizes by reinventing the delivery of ECM services. Our APIs make the development of ECM services simple with the use of familiar technologies for a frictionless integration directly into web applicat...
Oct. 20, 2014 10:00 PM EDT Reads: 1,707
The only place to be June 9-11 is Cloud Expo & @ThingsExpo 2015 East at the Javits Center in New York City. Join us there as delegates from all over the world come to listen to and engage with speakers & sponsors from the leading Cloud Computing, IoT & Big Data companies. Cloud Expo & @ThingsExpo are the leading events covering the booming market of Cloud Computing, IoT & Big Data for the enterprise. Speakers from all over the world will be hand-picked for their ability to explore the economic...
Oct. 20, 2014 07:00 PM EDT Reads: 2,054