Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / DevOps / testing

Performance Testing In Mobile Applications

0.00/5 (No votes)
10 Oct 2014CPOL4 min read 6.8K  
Performance testing in mobile applications

Introduction

The use of mobile applications has increased tremendously in today’s world.

With new development and technologies, the development of mobile applications has increased. As a result of this, there are a number of same type applications that serve the same purpose, so if the user is not satisfied with the applications’ performance, then they can easily switch to the next application available.

For quality assurance or mobile testing, the most important concern is the mobile user’s experience which basically depends on the performance of the application. Testing and analysing of the mobile application is not easy as web application, there are various criteria such as application structure (browser vs native), network used(3G,2G,WI-FI) and other payload structure.

When we do mobile performance testing, we should take the following points into account.

a) Device Application Performance

The device applications are of two types, native and browser based. There are some native applications also that remotely access the browser server. Practically, we can perform various device application testing, based on the application provided, like, buy a product using a native application that uses a browser (like the online shopping sites), check for the banking related things like check for your bank balance using the bank site that is installed, start an application, load a page which has multiple information like Wikipedia or any other site that has a large number of images and text attached to it. This can be followed in various devices.

For example, if we have a gaming application for testing, say a bowling game.

Then here, we can check the following points:

  1. Time taken to launch the game in various devices.
  2. Time taken to throw the ball to the destination, whether it hangs if the ball is thrown at a high speed.
  3. Play the game and also play the music at the same time, observe the behaviour of the application in various devices.
  4. Play the game and simultaneously keeping the game on, delete a large number of messages, check the behaviour of the application in various devices.
  5. Play the game and check for incoming calls/outgoing calls.
  6. Play the game and simultaneously open various other applications.

b) Network Performance

The application may behave differently in various networks. QA needs to test the application in various networks to check the variation in network latency. Factors like robustness of application, server capacity, battery life, do play an important part but the behaviour of the application with respect to network is very important for a better user experience.

Below mentioned are some of the desired features that can be considered while testing an application over network.

a) Network Disruption Testing

This can be explained as the ability to validate the mobile application functionality under network connections like connectivity loss.

For example, when a user is making a monetary transaction through a mobile application, and there is a connection loss in the middle of the transaction, even if the transaction is completed sometimes it shows a message “transaction is failed”, this is due to the inability of the application to identify the disconnection and hence is not handled properly.

b) Network Performance Testing

This includes the real time network conditions like bandwidth fluctuation, network types and also validate the end user experience under these conditions. This can be tested when multiple user uses the same network.

For example, when we open a video, a slow bandwidth would have impact on the video like buffering.

c) Network Congestion Testing

In simple words, network congestion can be explained as the data loss that occurs when data packets sent by client/server over a network do not reach the desired destination. The data loss has a severe impact in the user experience of the application if error conditions are not handled correctly.

For example, data loss in the application may result in an application screen freeze, a sudden application closure, or some features might stop working for some time.

d) Multi Network Testing

It is to check the ability of the application to validate the mobile application’s behaviour and network performance during a switch in the network.

For example, sometimes user faces a number of network changes like from wifi at office or home to 3G/2G connection when there is no wi-fi enabled. Hence if the network switch is not handled properly, then there might be a database corruption by the application.

e) Trace Testing

The mobile network testing solution should be able to test the network traces collected from a live network environment.

For example, a huge delay in the network environment may cause slow data transfer, as a result of this the application can show an error quickly or the user interface of the mobile application might get unresponsive.

Today businesses using mobile applications consider the impact of both the network as well as device testing to ensure the functional performance and flexibility of the application under varied devices and networks. Application versatility in multiple devices and networks should be taken into account, as the performance of the application has tremendous influence on the brand image of the company that built the mobile application.

In my next blog, I will be writing more about the major aspect of each application that is taken into account along with the performance, the “security testing” of mobile application testing.


License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)