title: Performance Testing tools for native mobile applications in iOS and Android
body: <p>I have to do performance testing of native applications on the iOS and Android platforms. The current requirements from the tool are:</p>
  
  <pre><code>- The tool needs to check for the native applications CPU and memory usage.
  - If possible, we need to provide if there are any memory leaks also involved with the native application.
  - Check for network performance over the various networks - EDGE, 2G, 3G, 4G and wireless connections (various speeds).
  - If we can do Functional testing with the same application, it would be a great addition.
  </code></pre>
  
  <p>What I have been able to figure out is the following:</p>
  
  <pre><code>1.  UI Response Time
  ◦   Download times for intermediate action requests (patch or network downloads), to be reduced with better compression techniques
  ◦   User action and response rates of the application, need to be smoothened by employing better software rendering and faster animations
  ◦   Provide a progress indicator to the user, along with completion notification
  2.  Battery Life
  ◦   Battery drain is non-linear, so minimize radio wake-up calls and
  ◦   Use system events, instead of polling
  3.  Network Bandwidth
  ◦   Basically depends on - signal strength, carrier networks and network type (performance can be considered for slower networks, but no guarantee on the faster 2G &amp; above).
  ◦   Faster networks need to be checked basically for the functionality
  4.  Memory and CPU
  ◦   Overall device sluggishness needs to be monitored with respect to the response of the various actions. This can only be monitored by running the functional tests, and checking the actual RAM and CPU counters using a recording tool.
  ◦   No application crashes should be seen, even after keeping the application open for a few days.
  5.  Binary Size
  ◦   Effects application load time
  ◦   Effects load RAM size
  ◦   Download &amp; install times
  6.  Tools
  ◦   http://spb.com/pocketpc-software/wirelessmonitor/
  ◦   http://mobitest.akamai.com/m/index.cgi
  ◦   http://www.neotys.com/product/mobile-load-testing.html
  </code></pre>
  
  <p> </p>
  
  <p>My question is are there any other parameters which we can add to the above to test the Performance of a native application?</p>
  
  <p>Also, which other Open Source and Commercial tools would you suggest, which fulfils all the above criteria for performance testing of a native mobile application on the iOS, Android and WindowsOS platforms?</p>