【转】性能测试注意点

来源:互联网 发布:java shiro demo 编辑:程序博客网 时间:2024/05/16 07:12

1、为什么要关注性能问题?

现在APP处于一个“红利期”,要想从中厮杀出来,简直就是天方夜谭。那么不能成功突围,问题和瓶颈在哪里?多数开发者会将原因归结于产品设计、产品逻辑等有密切关系的环节,但反而会忽视一个盲区,就是性能问题。

之前看到过一组统计数据:

· 71%用户希望在手机上打开网页能同电脑上一样快

· 5秒钟被认为是用户能忍受的最长响应时间

· 如果响应时间超过5秒,74%上网用户和50%移动应用用户会放弃

· 三分之一失望的用户会转向竞争对手的应用

·

因此可见性能的监测和优化对于用户的留存是非常重要的。性能问题足以吞噬用户,这相当于跟用户说“再见”,而且可能是永久性流失。在移动互联网注意力成本不断提高的今天,试想,哪款应用能禁得起这样的折腾?

性能优化技术,简而言之,就是提高程序的性能,让我们的应用更快,更少使用CPU资源,更少使用内存。验证了那句话:“别人有的我们也有,而且比他们的要好要快。


2、如何才能提升APP性能?

1)首先,得了解APP性能有哪些问题。

应用性能表现是一个相当模糊的概念,出现的频率与错误种类绝对超乎想象。如果面向5079个不同机型、1172种操作系统以及18家运营商分析,应用性能问题组合为5.79*1173*18=1亿零700万种。

那么其中,最常见的性能问题有哪些?根据听云平台的监测数据统计发现,在这些应用性能问题组合中,有十种应用性能问题危害最大,是导致用户流失的罪魁祸首,分别为:连接超时、闪退、卡顿、崩溃、黑白屏、网络劫持、交互性能差、CPU使用率问题、内存泄露、不良接口。

而每日由于十大应用性能问题所造成的用户流失达活跃用户的5%,其中Android系统每日用户流失占比61%,iOS占比39%。


而在这些问题中,“连接超时”、“崩溃”和“CPU使用问题”是三大头号杀手!


其中,网络错误是App关闭的首要问题,而在移动应用中网络错误数据比例报错中最高的就是连接超时错误。想象一下当你花重金好不容易把你的App推广到用户手机上,而在用户初次尝试时发生连接超时无法正常使用,多数用户会选择再也不会打开你的应用第二次。


崩溃就不用再说了,APP崩溃就是用户的崩溃。至于“CPU使用问题”,根据搜索数据,有275W条“手机过热死机”的搜索结果。但是请不要把用户的问题都归结为手机电池。


事实上,CPU超载是杀死App的第三大杀手。CPU频率设置过高时会导致过热,过热导致耗电更严重,CPU频率设置过低导致手机滞后,应用处理缓慢同样会导致耗电。更多时候,用户解决CPU超载问题只能关闭甚至卸载App。


2)如何去解决这些性能问题?

我前面所说,如果面向5079个不同机型、1172种操作系统以及18家运营商分析,应用性能问题组合为5.79*1173*18=1亿零700万种。对于中小应用开发者来说,如果只是靠自己单薄的技术力量进行优化、而不依靠没开放、公共的平台来支持的话,这几乎无解。


针对移动开发者,行业里并不缺乏适配和测试平台,有很多,我就不一一列数了,但仅仅解决上线前的环节,并不能解决上线后应用性能的核心问题。这个环节缺位的话,就谈不上应用性能的管理,用户留存率低和流失现象就没法根治。


那么应用不能在上线后“裸奔”,应该首先从监测做起,可以用一些第三方平台提供的监测工具,实时监测出自己APP性能的问题,从而进行针对性优化。如果要推荐的话,国内比较火的第三方监测工具有基调网络公司的听云平台,他们监测的比较全面,而且又是永久免费的,只要部署两行代码即可查看数据,可以试试。


结尾的话:

可喜的是大家越来越重视性能问题,可期待的是由于目前关于性能优化的知识性文章还是很少,希望能在未来看到更多优秀的经验分享。

最后用雷军在7月22日小米发布会上说的话做结尾:“抛开性能问题谈体验都是耍流氓”,送给广大开发者。


作者:席秦
链接:https://www.zhihu.com/question/24643132/answer/28581516
来源:知乎

1 0