APP性能测试指标选取与测试过程说明
2020-01-03 本文已影响0人
poptest研学圈
要弄懂APP性能测试的评估指标,我们还需要一步一步的从性能测试开始说起。
- 性能测试
1) 什么是性能测试
性能测试简单的描述就是验证AUT在不同场景下的行为反应与资源占用。这里的行为反应要和行为有一点区分,首先行为可以看做是一个动词而行为反应就是对行为的一个形容词。比如计算器的加法动作1+1=2,那行为反应就是指算的够不够快,能同时计算多少。
2)性能测试测什么
可以归纳为一个不同,两个方面:
•
一个不同,指的是不同使用场景,即AUT是在生么环境下进行的什么场景的操作的。对于一款app来说,是一分钟进行一次操作还是一分钟十次操作?是APP的activity状态下还是background状态下。
•
•
两个方面,一个方面AUT自身的行为反应,如操作是否迟缓,是否ANR,是否crash,行为的反应,另一个方面是AUT在指定测试场景下对资源的占用,如占用了多少CPU、多少内存、消耗了多少流量或者多少电量等。
•
3)怎么测
遵循如下过程,选取指标、选取场景、开发用例、运行测试并收集数据、分析数据并整理报告、结果评估
•
选取指标
•
对于APP来说,性能测试指标目前就5个,CPU、内存、流量、流畅度、耗电
•
选取场景
•
首先并不是所有的功能都需要进行性能测试的,但主要常用的业务必须进行性能测试。如内容类APP内容展示就是必测场景、流媒体类APP媒体播放就是必须测试场景。而且这些场景必须考虑到与系统的交互,最主要的就是使用状态与后台状态的交互。
•
开发用例
•
性能测试也是需要落实到case上的,既然是case就要有pass、fail,至于判定标准需要提前制定好,如果实在没有参照,由劣到优一次是行标、竞品、自身历史基线。
•
运行测试并收集数据
•
这个地方分了两个方面,一方面是运行测试,就是运行写好的case,前期场景复杂且变动大建议先手工运行下,如果重复量大或是场景固定也可以考虑自动化,如通过appium或adb shell。另一方面是收集测试过程数据,这里推荐研究一下腾讯的开源项目GT,目前感觉还是比较好用,其中iOS不用root但需要嵌入编译。
•
分析数据并整理报告
•
分析数据的主要工作就是将运行测试过程中收集的时点数据通过工具或xls生成时序折线图,并从中计算出每个场景的最大值、最小值与平均值数据,结合该次测试关注点进行整理成性能测试报告。
•
结果评估
•
这个评估嘛,就是评估而已。至于改不改,一看项目进度,二看严重程度了。