Mobile usage for accessing and using business applications is on the rise. Performance of the mobile application is based on the trends. To measure the performance we need to test the mobile application on the precise configuration and scenarios. Performance testing is limited by its host system, the system it is running the hardware on, other application running that may impact the environment, connectivity and other issues. Mobile devices have lower resolution than desktop machines and support HTML or java script, but the JS interpreter loads JS very slowly. Even if they support those features, the device may have slower CPU or less bandwidth. To get around these issues many companies or mobile development teams develop mobile interfaces that have limited functionality and optimised for small screens.
There are many challenges to test the performance of the application and broadly can be categorized as below:
1) Extent to custom protocols
2) Nature of components in the complete mobile solutions
3) Rapid scalability
4) Lack of monitoring solutions
5) Lack of diagnostic tools
6) Selection of load testing tools
7) Time to market
8) Simulation (Test environment, work flow, High concurrency
Mobile applications invite a wider and more complex set of performance validation challenges on the server and client side
Server side performance issue:
1) Variation in the response time
2) Streaming resource intensive multimedia packet
3) Delay or delay in delivery of message/mails
4) Application crash
5) In-efficient use of resources
Client side Performance issue:
1) Application behave differently on various platform and handsets
2) High memory and CPU consumption
3) Mobile application too slow to load
4) Application causing battery drain out
There are number of tools available to improve the testing of mobile applications, but these tools cannot prove with certainty how an application will perform in the given environment. When the tester needs to test the application on too many environments, then it is better to establish a reasonable baseline. If you test the application first time and you get reasonable performance results, then you can set the baseline to do the testing of other applications. If there are older versions of the same application, you can compare the newer version’s application performance with the older version’s application performance.
Solutions to the above mobile application performance testing challenges are
1) Load testing tools capability to cater custom protocols
2) Record workflow using mobile clients or simulators
3) Simulate the external components using stubs
4) Include performance testing in early development lifecycle
5) Use tools like J2ME profilers, Android trace during development