The Challenges of Mobile Load Testing.

Author: Michael Wade

It is an obvious fact that mobile is here to stay. Smart devices are now the major media of interaction for businesses and consumers globally. The growth of mobile devices have made organizations integrate them with the computing environment.

Thus, mobile testing, integrated with mobile applications, now deliver complex functionality on platforms with limited resources for computing. This requires a performance assessment of the applications to ensure that an application will perform optimally under load with an extreme number of users.

Let us review the main challenges in Mobile Load Testing:

  • User Simulation

During a typical functional test of mobile applications, user actions such as tapping, swiping, zooming and text entering are emulated on the device emulator. The objective of load testing is not to evaluate the interaction experience of one user rather it is performed to see the handling requests from a large number of users and evaluate the response times.

An effective load testing needs to simulate a huge number of simultaneous users via the application under test. Here, it is impractical to to use real devices and emulators as it requires acquiring, configuring and synchronizing thousands of machines running emulators.

  • Network Simulation

Mobile Device access the servers over networks that are usually slower than those used by desktop computers. Network conditions put a significant effect on the user experience and this effect may be bigger or smaller depending upon the application. An application while being tested in the QA department of a company will access the first class server operating user an ideal phone network. It is tested with the assumption that the network conditions will be the same for all users. The real challenge occurs when a user in a rural area has a hard time executing the functions than in a modern suburbs. This makes network virtualization a top priority.

  • Simulating browsers and browser capabilities:

When a web browser requests for a resource from a web server, it identifies itself through the user-agent header sent with each request. This header contains the information about the browser and the platform on which it is running. For mobile applications, based on the information in the user-agent header, content is delivered accordingly with less text and smaller images for smaller screens. This eventually leads to bandwidth consumption and variable load times depending on the browser and the platform being used. While load testing it is important for the testing tool to be able to manipulate the user-agent header.

  • Identifying the most appropriate settings for realistic tests

Finding the most appropriate values for test settings can be a challenge. These key test settings can be the user-agent, bandwidth and the number of simultaneous connections. Advanced load testing tools can help to determine these values. The process is eased more when the tools can calculate the most appropriate settings for upload and download bandwidth based on the technology used.

  • Testing Via Cloud

For consumer facing apps, it is difficult to predict the number of users that the application may have to handle. Traffic spikes pertaining to special days such as offers, promotions, an unexpected social network buzz etc., can be substantial. Generating such loads in-house needs access to hardware resources. Cloud here provides an opportunity to increase the scale of testing, provide resources, most economically. However, it is to be noted that only the move to cloud is not the solution, rather it depends on the testing tool selected and how efficiently it uses cloud technology for its purpose.

  • Analyzing Results:

The default results of mobile load testing are generally quantified in averages. Averages do not provide an accurate picture of the application performance. Hence, to gain meaningful insights and validate the SLA’s and performance requirements for each condition, it is important to go beyond the default averages and analyze the results for every kind of user.

Conclusion

In many ways, Mobile Load Testing can be similar to web application testing. However, there are some very specific parameters that need to be addressed for mobile load testing. Addressing the challenges listed above is essential in order to ensure that mobile web applications are tested sufficiently prior to release and that they are capable of performing well under load in the production environment.