Performance Testing for Mobile Apps – Is Your App Ready for the Worst?

Mobile apps are here to stay but the challenges to test these remain the same. We have already gone through the list of challenges when testing a mobile app — OS and device fragmentation, form factor variations, bandwidth issues, network speeds, recording user actions and load requirements which are varied in mobile. Testing web apps is equally challenging, since there are other set of factors like browser compatibility, form factors, geo location features etc. specific to the web that need to be considered.

No matter what the type of app is, native, hybrid or web based, it has to go through a very rigorous performance testing cycle to ensure that it can perform, under all conditions.

There are also some major performance application issues on the server and client side which need to be addressed. Key issue — mobile application testing for performance testing is NOT the same as traditional performance testing. Mobile is a whole new game and the testing requirements for all attributes are much steeper due to the unpredictability.

On the server side we need to understand variations in response times, streaming resource intensive packets, delays in delivery of messages, application crashes etc. On the client side — we need to address the usual discrepancy of application behavior on various platforms and handsets, memory and CPU consumption, loading speed and battery issues.

Let’s first clear some of the definitions that we often come across in the performance testing world. It’s important to understand the key differences of these terms. It’s mostly used interchangeably and considered to be same, but actually it’s not as their goals are different.

Testing Type Key Goals
Performance Testing · Establish a smooth, controlled, stable environment with a clear defined set of expectations (e.g. expected load, acceptable response time & throughput & record repeatable measurements · Eliminate required bottlenecks, while increasing load & establish a baseline for various load levels
Load Testing · Increase load constantly via automated tools to operate at predefined level & hence it’s part of the process of Performance testing [Incremental or Sequential] · Aim to break the software, but keep the software working at the highest load possible on peak hours

· Rectify bugs identified to ensure performance testing baseline is met

Stress Testing · Test the software under unpredictable scenarios like increasing load three times, sudden failure of DB connectivity etc. and try to crash the software or see how software reacts under unexpected failures/scenarios.

 

There are some tools in the market that can help you with the performance/load, and stress testing conundrum in the mobile and web based apps space.

  1. Recent announcement by MicroFocus about SilkPerformer 9.0 (2012)   supports Mobile Web & Native apps testing on iOS, Android & BB platforms
  2. HP LoadRunner supports mobile web & native apps testing on iOS, Android, BB & WM platforms
  3. NeoLoad supports mobile web & native mobile apps
  4. JMeter  supports mobile web app testing on simulators
  5. IBM Rational Performance Tester  (RPT)  supports mobile web app testing as well

But no matter what your mobile app is like, you need a strong testing team behind you to first plan the detailed diagnostics and determine the capacity. Then, bring the know-how to run the tests by selecting the right load generation and monitoring tools to make sure that your app can handle the worst, at all times.

 

Interested in our Testing Services?

Please enable JavaScript in your browser to complete this form.
Checkboxes
By submitting this form, you agree that you have read and understand Apexon’s Terms and Conditions. You can opt-out of communications at any time. We respect your privacy.

Other stories you may enjoy...

When Digital Is Everywhere, Performance Testing is Everything

Software is eating the world, as they say. You don’t need to be a tech company for software to run your universe. Last year, 3.7 billion people were affected by software...

Performance Testing and Monitoring in Agile Environments

Agile performance testing and monitoring are critical to a product’s success, that is no secret. But no matter how thorough pre-production testing and QA processes are, it’s...

No excuses. You need Performance Testing.

Okay, you've ironed out all the bugs you can find.  It works fine in your test environment and on the devices you've tried.  Ready to go?  Stop. A vastly under-employed form...