Importance of Mobile Apps
Few years back there were limited mobile phone users and they used it for communication purposes only. However, since the advent of smart phones, the mobile phones are being used in a much more diverse way. Today besides communication, mobile phones are being used for conducting business, socializing purposes, booking travel plans online, advertising, playing games and capturing snapshots of priceless moments etc. Following stats show the importance of mobile phones in our lives:
- At the end of year 2011 there were more than 6 Billion mobile phone users (with over one billion smart phone users).
- There were 0.3 million mobile phone users in Pakistan in year 2000 which shot to 110 million by the end of 2011.
- By the end of 2014 mobile internet usage will surpass the desktop internet usage.
- 91% of US citizens have smartphones and on average they spend 2.7 hours daily on social media apps on their Mobile Phones which is twice the time they spend in eating and 1/3 of sleeping.
- In 2011, nearly 30 Billion apps were downloaded and more than 60% of mobile phones usage time was consumed on the apps only. On average every US user downloaded 22 mobile apps.
- 1/3 of 600 million+ daily Facebook users use it on mobile, out of 165 million twitter users; 50% use it on their mobile devices and similarly more than 200 million users daily access the YouTube on their mobile devices.
Importance of Mobile Apps Performance Testing
As the usage of mobile phones is increasing, simultaneously the importance of mobile apps performance is also increasing. Mobile users are more demanding and less patient. 71% of the mobile web users expect a website to open on their mobile devices as fast as on their desktop. 5 seconds is considered as the maximum response time for mobile application or website. 74% users leave the mobile website and 50% mobile app users leave after 5 seconds and 1/3 users go to competitors’ application. Normally mobile phone users try to access the troubled application twice and nearly half of the users never return to application if they still have trouble accessing it on their mobile devices.
Difference between Mobile and Desktop Apps Performance
Phone users usually get slower apps as compared to the desktop users. There are some architectural limitations with mobile apps which limit their performance as compared to the desktop apps. Some of these are:
- Desktop apps use fat client which directly delivers the application from server with more throughput while mobile apps use thin client and data travel from tower to tower which provides lesser throughput.
- Mobile devices resources (CPU, Memory) are less powerful as compared to the desktop computers which impact the mobile apps performance.
- Low network connectivity of mobile devices decreases their performance as compared to the desktop applications.
- Due to different architecture, mobile apps performance matrices (Response Time, Battery, Network, Memory & CPU and Binary Size) are also different from desktop apps.
Challenges in Mobile Apps Performance
Performance of mobile apps is extremely important and simultaneously it’s very challenging to conduct performance test and tune them. Simulating network and bandwidth of wireless protocols, recording on mobile devices and supporting wide range of devices are the key challenges in mobile apps performance testing. There are various types of mobile applications like native, browser based, hybrid and secured native apps and all have different architectures. Moreover, mobile applications are built on different platforms like iOS, Android etc. and all have their own architecture and testing an app by covering all these diverse abilities is a real challenge.
Mobile Apps Performance Testing Tools
Mobile Apps performance is an emerging domain and still lots need to be conquered in this domain. Today there are dozens of tools that support traditional desktop applications performance testing but when it comes to mobile apps (especially native/secure native mobile apps) there are limited choices. There is hardly any tool for secured native apps and no open source tool for native mobile apps either. Some of the mobile apps testing tools are HP LoadRunner, NeoLoad, IBM Rational Performance Tester, AgileLoad, CloudTestLite and JMeter etc.
Do you use any mobile performance testing tools ? We would love to hear your experiences in testing a mobile app performance.