Mobile & Web Performance Testing

It is common knowledge that mobile applications don’t function in the same way as their web-based counterparts. The user experience is affected by a few other factors such as device and network capability. If you are building out a performance testing strategy for your mobile website or native mobile application, avoid migrating your existing test plans to a mobile environment because it’s not that easy. There are extreme differences between performance testing mobile and web applications, and you need a plan that gives those factors the attention they deserve.

Mobile & Web Performance Testing is not similar to each other. Mobile apps require specialized testing strategies along three key vectors that don’t typically apply to traditional web-based apps. In this blog, we will impart the best of knowledge to build a suitable set of test plans. It is your responsibility to ensure your users get an excellent experience irrespective of the device – Desktop or mobile.

The Device is the Key Difference

Web servers are aware of the device an existing user has and will often send users different content – or to a completely different mobile version of the site. Plus, responsive web applications are designed to adjust their look, feel and behavior based on the size of the screen being used.

This makes performance testing of your web or mobile application with different devices extremely important because each device has the tendency to translate the content of the application differently – which could affect the performance in great ways.

It is essential to have a clear performance testing plan to understand how these iterations affect your application’s performance features. Your mobile performance testing plan needs to take into account different factors that include processing power, screen size, bandwidth capabilities, platform, parallel connections, and more.

Key takeaways:

  • Test a wide variety of devices with different screen sizes – not just for functional differences, but for performance differences as well
  • Select a range of physical devices to test various levels of processing power, platform, and parallel connections
  • Incorporate emulators and real devices into your mix to flesh out as much variety in device as possible

Network – an importance factor

Mobile devices in this generation 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. 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 WiFi and broadband. Since the latency increases with any time added to each request and web pages are composed of many sub-requests, the time required to load a webpage on a mobile device greatly depends on the latency. In fact, latency can become a bigger bottleneck than performance due to physical limitations of networks. Even connections with very high bandwidth can’t get around latency issues. 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.

Key takeaways:

  • Test across a varying range of connection speeds with different signal strengths
  • Incorporate simulated latency and packet loss to see how applications behave and recover
  • Incorporate regional or geographic-based testing for best results

High Expectations are liable

According to a survey conducted by EffectiveUI, a majority of the 780 individuals surveyed will abandon a mobile app if the performance is slow or difficult or confusing to use. Similarly, if a web application is too slow, even by milliseconds (according to Google engineers), users will abandon your website.

In the fast pacing world, when you load test your application with user experience in mind you have to take into account a new set of failure scenarios too. Reset the criteria of good and bad performance according to your users. Analyse if your users will bear any kind of delay on their device? Or will they switch applications? Take into account the responsiveness on the device. Is the content being downloaded and accessed quickly enough to keep users happy and interested? If yes it is, then bingo!,  you are heading in the right direction.

Key takeaways:

  • Conduct usability tests with real users to understand how they perceive the difference in performance on PCs and mobile devices
  • Adjust your acceptance criteria to incorporate faster user expectations on mobile devices
  • Compare your mobile site responsiveness to benchmarks

As an organisation or as a tester, try and empathise with the end user experience and design test scenarios accordingly. Remember the customer don’t really give chances to applications if they don’t work, they instead leave the application. This impacts the business and thus the reputation of the organisation/application.