Performance testing on mobile apps

Tram Ho

For any mobile application, performance is critical. If your Mobile Application is not working well, end users will uninstall your application, find another application that works better.

Your mobile application needs to be thoroughly tested before being released to end users.

In this tutorial, you will learn:

  • Mobile application testing strategy
  • Device performance
  • Server / API performance
  • Network performance
  • Troubleshoot mobile application performance
  • Useful mobile application testing tool
  • challenges
  • Set up mobile application performance testing environment
  • Mobile application performance checklist
  • summary

Mobile application testing strategy

Application performance on a mobile phone or any smart device is usually measured in the following three categories.

  • Device performance
  • Server / API performance
  • Network performance

Device performance

When customers experience slow apps, they feel uncomfortable. For device performance, you would check:

  • Start the application
    How much time does your application start up? This is the first performance parameter evaluated by the user. According to the rule of thumb, after the user touches the application icon, the first screen will show after 1-2 seconds.
  • Battery usage time while using the application
    When used continuously, some mobile applications consume a large amount of battery and heat up the phone. This factor greatly adds to the performance of any mobile application and can often occur when your application is using more resources than required. Excessive resource usage puts a burden on the processor and the phone gets heated up.
  • Memory consumption
    When testing an application, it is necessary to check the memory consumption of an application. By performing certain functions in the application, memory consumption also increases. For example, in Android applications when push notifications are implemented, memory consumption will increase.

    In some cases, it has been noticed that memory usage of the entire operating system is only 14%, but a new application is consuming 11%. Therefore, these factors must be handled before deploying the application to the real world or given to customers.

  • Hardware / software change
    When testing a mobile application, it is mandatory to test the applications on different devices. It may be the case that the application is running smoothly on one device but not on another. Just like with different Android device vendors, we can test apps on Samsung, HTC, and Lenovo phones. Similarly, the application should be tested with different RAM and processor specifications such as 1 GB or 2 GB.
  • Use with other applications
    When the test application is running in parallel with other applications, there will be no interference. The best way to test it is by converting the application under test and other applications.
  • Application in the background
    An application running in the background is removed, it will remain in the same state as before. If this scenario is not handled properly, data will be lost. Again, you must enter data from the beginning when retrieving the application.

Server / API performance

When the application interacts with the server via the API, response time becomes important to performance. For Server performance, you would check:

  • Data comes from the server
    The application will effectively process data sent from the server. It does not take too long while downloading data. In certain applications, data is sent in a specific format. Therefore, before displaying it in the application, it should be converted to a relevant format. During this process, applications sometimes become slower and response time becomes longer.
  • API calls made from the application
    The number of calls from the Application being checked to the server created from the application will be less. In some cases, multiple API calls are made for the same function. For better performance, this should be handled with fewer call numbers.
  • Server downtime
    For any reason if the server is down or inaccessible, we can save the data in the original database. Therefore, whenever the server is down, we can display the data stored in the original database. Another solution might be failover database servers, that is, if one of the servers is down or under maintenance, the backup server will be ready to switch. Backup / backup server must be replicated and synchronized continuously with the primary server.

Network performance

Application performance on different networks and network properties should be measured. For network performance, you will check the following:

  • Jitters
    When there is a delay in receiving information online, it is called a jitter. It is a problem with disconnected or packet-switched networks. When information is distributed into packets, packets can travel a different path from the sender to the receiver. When the data reaches the intended location, it will be disturbed compared to the original. In the case of Jitters, the mobile application must be able to handle it.
    You need to display the appropriate message to the end user, to resubmit the request or wait until the system responds.
  • Package lost
    In the event of complete package loss, the application will be able to resubmit a request for information or will generate a corresponding warning. If the data is incomplete, then the user will not be able to understand the information displayed in the Application. This can be stressful for users. So it is better to display an appropriate message or prompt the user to try again.
  • Network speed
    Applications need to be tested on multiple networks at variable rates. Application should be tested on 2.5G, 3G and 4G networks. Both Wi-Fi and mobile networks are included in this. In addition, application behavior should be monitored. In particular, when both networks are available and the transition occurs from one network to another.

    For example, a problem could arise in an application for users while switching the phone network from 4G to WIFI and vice versa. In this case, the application becomes unresponsive and may require a restart of the application for use.

Troubleshoot mobile application performance

After discovering the issues / problems while checking performance. This is the time to monitor and correct errors.
Issue 1: The slow or slow response of Mobile Apps.
The cause of this delay may be RAM, Cache, etc.
You need to kill unnecessary processes or clear cache. Addressing connection issues can resolve a number of issues that are creating delays

Issue 2: Restarting the application, locking, freezing or not responding.
It can be corrected by several steps:

  • Optimizing application code
  • Software should be patched and updated.
  • Automatic recovery
  • Manage RAM or in some cases ROM while using an external card
  • Delete buffer partition
  • Verify apps work with other third party apps and APIs
  • Mobile application mapping by device

Useful mobile application testing tool

Mobile application testing tools vary by device or mobile operating system. Some common mobile applications, performance testing tools are:

  • Robotium: It’s like Selenium for mobile apps. The reviewer can record and take some necessary steps to carry out the test.
  • Monkey Runner: MonkeyRunner can run tests on real devices connected to a PC or emulator. This tool has an API, which allows controlling smartphones, tablets or emulators from outside the Android code.


  • Automator (Mac): Automator is an application developed by Apple for OS X. It performs point-and-click work creation (or drag and drop) to automate repetitive tasks into tasks. batch to change faster. This saves time and effort for human intervention to manually change each file individually.


The main challenges faced during a performance test include:

  • Organize various mobile platforms and their operating systems
  • Simulate connections such as Edge, 3G, 4G or WiFi, etc.
  • Limitations of mobile devices such as battery and resource consumption
  • Ability to use a mobile phone
  • Various types of mobile devices to run the same application

Set up mobile application performance testing environment

To configure Test Environment, you need to:

  • Understanding mobile applications needs to be tested
  • Determine the different operating systems that the application needs to run
  • Build test setup
    • Build an emulator or emulator
    • Create samples of realistic settings
  • Choose the right tool to test

Mobile application performance checklist

Performance testing of mobile applications is an important measure prior to release. Performance tests are performed for testing

  • How much RAM is required to use this application?
  • To verify the speed and response time of the APP in different networks and circumstances.
  • Ensure realistic user experience in a number of network conditions
  • Ensure necessary results are achieved in case of multiple connections
  • Ensure the application does not crash.
  • Ensure mobile applications work well while using data, Wi-Fi or other connection
  • Track uptime and bottlenecks using APIs on mobile devices
  • To ensure the maximum number of concurrent users
  • Finally, to test mobile applications to its limits


  • Performance testing requires an understanding of Mobile Applications, resource users, virtual users, emulators and many testing strategies.
  • Mobile application performance is measured in the following three categories.
    • Device performance
    • Server performance
    • Network performance – Performance testing challenges include the compact size of a mobile device, resource availability, cost and budget.

Reference source:

Translated from:

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo