9

我必须在 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 平台上对原生移动应用程序进行性能测试的标准?

4

1 回答 1

2

在移动应用程序的性能测试方面,这是一篇非常全面的文章。我有几件小事要补充: 关于内存: 1. 您可能还想随时监控峰值内存消耗。这在 Android 上尤其重要,因为应用程序的可用内存实际上可能因设备而异。因此,即使它可能不会在进行测试的设备上给您带来问题,但它可能会在其他一些低端设备上引起问题。

  1. 类似地,您可能还想监控垃圾收集的发生情况以及有多少是并发的以及有多少是基于分配的 gc。因为 gc 可能会影响应用程序的响应时间,特别是如果它是由分配引起的。

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

其他一些标准: 1. 验证应用程序是否正在适当地缓存数据 - 例如,当屏幕方向改变时不刷新它已经拥有的内容。2. 甚至更好的应用程序,实际上可能会根据连接的网络类型来调节它们的数据消耗——如果连接到 Wifi,就会发疯并预取内容,但如果连接到蜂窝数据,则获取的积极性会降低一些。

希望这可以帮助。

于 2013-02-07T06:20:52.867 回答