2013-01-16 117 views
9

我必须在iOS和Android平台上对原生应用程序进行性能测试。从工具目前的要求是:用于iOS和Android原生移动应用程序的性能测试工具

- 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. 

我已经能够找出如下:

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 & 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 & 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 

我的问题是,是否有其他的参数,我们可以添加到上面来测试本机应用程序的性能?

另外,您会推荐哪些其他开源和商用工具,它们满足上述所有iOS,Android和WindowsOS平台上原生移动应用程序性能测试的标准?

回答

2

当涉及到移动应用程序的性能测试时,这是一篇非常全面的文章。我有几件小事要补充: 关于内存: 1.您可能还想在任何时刻监控峰值内存消耗。这在Android上尤为重要,因为应用程序的可用内存实际上可能因设备而异。因此,尽管它可能不会对正在进行测试的设备造成问题,但可能会导致其他一些低端设备出现问题。

  1. 以类似的方式,你可能也想监视垃圾收集发生的情况,有多少是并发的,有多少是基于gc的alloc。因为gc可能会影响应用程序响应时间,尤其是如果它是由alloc引起的。

关于电池寿命: 1.您可能需要验证应用程序获取的任何唤醒锁定是否正在及时发布。 2.应用程序尽可能使用不精确的定时器而不是精确的定时器(例如,使用setInexactRepeating而不是AlarmManager的setRepeating方法)。

其他一些标准: 1.验证应用程序是否适当地缓存数据 - 例如,不刷新屏幕方向更改时已有的内容。 2.甚至更好的应用程序,实际上可能会根据所连接的网络类型调整其数据消耗 - 如果连接到Wifi,则会疯狂并预取所需内容,但如果连接到蜂窝数据,则获取的积分较少。

希望这会有所帮助。

相关问题