做性能测试,需要关注那些性能指标

来源:互联网 发布:c语言定义n长度数组 编辑:程序博客网 时间:2024/05/29 12:28


 

不可置否,在对APP的整个测试环节中,性能测试是一个很重要的环节,它直接影响了用户的体验,那么,对于APP的性能测试,我们到底需要关注那些点呢?


其实,我们可以想想在软件设计、部署、使用、维护中一共有哪些角色参与,然后再考虑这些角色各自关注的性能点是什么,那么作为一个软件性能测试工程师,我们就能够从中总结出,对于APP的性能测试主要应该关注哪些比较重要的点。


1.从用户角度出发


开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。


对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。也就是我们所说的响应时间,当响应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要考虑到如何更好地结合这两部分达到用户最佳的体验。如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检索,这时用户并不知道我们后台在做什么。


简单地说,用户最关注的其实就是其操作的响应时间。


2.站在管理员的角度考虑需要关注的性能点


(1)、 响应时间
(2)、 服务器资源使况是否合理
(3)、 应用服务器和数据库资源使用是否合理
(4)、 系统能否实现扩展
(5)、 系统最多支持多少用户访问、系统最大业务处理量是多少
(6)、 系统性能可能存在的瓶颈在哪里
(7)、 更换那些设备可以提高性能
(8)、 系统能否支持7×24小时的业务访问


3.站在开发(设计)人员角度去考虑


(1)、 架构设计是否合理
(2)、 数据库设计是否合理
(3)、 代码是否存在性能方面的问题
(4)、 系统中是否有不合理的内存使用方式
(5)、 系统中是否存在不合理的线程同步方式
(6)、 系统中是否存在不合理的资源竞争


4.站在测试工程师角度考虑


那么从用户、管理员、开发者的角度去总结了其关注的性能指标之后,笔者最终认为,对于测试工程师来说,他们在做性能测试的时候,主要应该关注的测试指标应该是:


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


(2)崩溃
这个已无需多言。APP的崩溃,就是用户的崩溃。当用户使用你的App出现闪退或崩溃时,他们很有可能跑去App Store赠送你一个“一星”差评。


(3)系统交互(电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等)
在APP使用过程中,可能会遇到各种中断场景,那么一旦发生这些场景,APP就卡死或者闪退,想必也没有多少用户愿意持续使用你的APP。


(4)弱网下的运行情况
电梯里、地铁上,网络信号差时,APP页面的菊花转不停,界面卡死,同时错误提示一堆,这样的情况怎能不让用户抓狂。


(5) CPU使用问题
CPU频率设置过高时会导致过热,过热导致耗电更严重,CPU频率设置过低导致手机滞后,应用处理缓慢同样会导致耗电。更多时候,用户解决CPU超载问题只能关闭甚至卸载App,App就被Kill了!


那么针对以上所说的几个比较突出的性能测试点,没有开发者希望用自测的方式去解决,耗时耗力不说,最终的效果也不敢完全保证,那么大多数人能够想到的解决方法就是寻求自动化测试工具的帮助,但是目前很多自动化测试工具存在很多的局限性,一是大多自动化测试工具不方便维护;二是虽然很多自动化测试工具很强大,但对代码的能力要求很高,大大的增加了测试门槛;三是自动化投入的成本较高,相对于目前APP开发周期短的现状来说,是很不划算的。


因此,对于这些问题,目前来说最好的解决办法就是寻求第三方测试机构的帮助,而我们需要的便是他们在崩溃分析、弱网模拟测试、中断测试、压力测试以及深度功能测试这几个方面的测试经验与技术。那么,在笔者的了解中,目前能够非常好地胜任这几个方面测试工作的第三方公司没有很多,其中包括国外的Testdroid以及国内的TestBird等。

它们的技术与经验在业界中居首 ,对于以上提及的测试点,它们能够提供一套完善成熟的测试服务,同时由于它们拥有非常丰富的经验,可能见过更多的测试问题,所有在测试的时候能够帮你发掘更多需要的测试点,想你所想,虑其未虑,帮你将所有重要的性能测试点测试到位,完善产品品质,最终势必能够帮你的产品留住用户。



 

0 0
原创粉丝点击