Jovie Sylvia

Mobile Application – Performance Testing & Engineering

Blog Post created by Jovie Sylvia on Aug 21, 2017

Why is #performance testing important for mobile apps?

Why is performance testing important and why should you be doing it? Well, very simply, it is the key to user engagement, getting people to use your app and continue using your app.

User engagement/experience is definitely a challenge on mobile. This graph is based on data from Apple and Google shows that 80% of apps are never used again after the first day they are downloaded and less than 4% are still used a month after they are downloaded. Looking at the graph, it’s evident that keeping users engaged with your mobile app is difficult.

A side point is that I have had people in the past say that while they accept this for consumer-facing apps, it’s not relevant to them because they are making employee facing apps or some other B2B type apps. But the reality is that adoption and engagement are just as much a challenge in employee facing apps as it is in B2B apps.

Going a bit further I would like to illustrate with two examples with data points, which basically impacts the impacts of performance of user engagement and ultimately the revenue

  • Amazon has reported that a 100-millisecond increase in response time of their app reduces revenue by 1%.
  • Google reported similar findings that a 100-400 milliseconds increase in search response time led to a $90 million dollar reduction in ad revenue.

It’s important to note that there’s nothing unique about Amazon or Google, meaning that this impacts them. So, clearly performance is critical to users, so we need to be testing it.

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 apps.

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.
  • 35% 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 the application if they still face the same issue(s) on their mobile device. Achieving and maintaining a good response time of a mobile application is more challenging for performance engineers than a desktop application due to its complex architecture and fewer resources it uses.

Difference between Traditional Desktop Web Apps & Mobile Apps

The both Desktop web applications and mobile applications are quite similar technologies and don’t need to select a unique performance testing tools for mobile apps.

Top 5 Mobile App performance related issues

Client Side

Server Side

  •  Network (Wi-Fi-/2G/3G/4G) impact of connectivity issues
  • CPU Usage
  • Memory Usage
  • 2d & 3d Graphics Card
  • Battery Usage consumption 
  • CPU Usage
  • Memory Usage
  • Cache
  • I/O
  • Bandwidth Usage
  • Connections

Top 3 Performance issues which we have encountered while carrying load testing of mobile based application and solution

S.NoIssueSolution
Bandwidth Consumption issue
1During our mobile app performance, test execution network bandwidth was high due to image & page size was hugeBandwidth consumption decreased by compressing and reducing page & image resources to make it faster
Response Time / Page Load issue
2During mobile app performance test execution, the page load time was high.Reducing the number of HTTP requests between the client and server.
Data Loss Issue
3We experienced in one of our microfinance client application while filling the forms and uploading the images in mobile application and if network connection loss/drops the middle of completing all the data will lose.Create an offline mode/data save option method in the mobile application so that whenever network drops the data won’t lose. We can resume the continued activity once the connection has been re-established. This kind of method will use for travel apps

 Conclusion

There is no choice about the exponential growth of mobile application usage in this world. To better user experience the mobile apps should be quick to respond as expected by the customer.

The Performance testing of mobile apps is not different from our traditional web/desktop applications. However, Performance engineers need to understand all types of mobile apps architecture and details completely (like Network bandwidth, screen size, processing power etc…)so that it will improve the user experience and apparently the user base & revenue.

References:

  1. http://www.testplant.com/2015/04/23/mobile-apps-need-performance-testing-too/ 
  1. http://www.agileload.com/agileload/blog/2013/01/14/mobile-performance-testing-overall-analysis—whitepaper

Outcomes