如何高效的开展app的性能测试?

APP性能测试是什么

从网上查了一下,貌似也没什么特别的定义,我这边根据自己的经验给出一个自己的定义,如有巧合纯属雷同。

客户端性能测试就是,从业务和用户的角度出发,设计合理且有效的性能测试场景,制定各性能场景下的客户端性能指标(内存、CPU、卡顿数、帧率、电量、加载时长等),并制定规范化的执行流程,按照执行标准执行性能场景同时使用性能测试具收集性能数据,并对数据进行分析,如果有性能问题并对问题进行定位,配合开发进行修复验证发布,最后输出完整的性能报告。

从上面的定义中,我们可以得出,在APP的性能测试需要关注以下几方面,性能测试的场景的设计、性能指标的定义、规范化的执行流程、性能数据数据收集、性能数据分析、性能问题定位、性能测试报告

性能测试并不是说我们上来找个工具,随便跑个场景,拿到数据,输出个报告,就可以了。每一步都应该做到有的放矢,从而体现出测试人员的专业性。

APP性能测试怎么做

下面我们分别来看一下:

性能测试场景的设计

场景可能是一个操作的不断重复,也可能是几个操作的组合再重复,对于性能测试的场景来说,他一定有重复的操作或者持续的操作,目的是通过重复或者持续的操作,把性能问题放大到一定程度,能够让我们发现问题。

举个栗子:以B站推荐tab为例,想测试feed滑动情况下的性能表现,那性能场景可以设计成,feed滑动50次,每次滑动间隔2s。

性能指标的定义

常见的移动端性能指标有:内存、cpu、帧率、卡顿数、wakp up数、展示时长等,关注什么性能指标是依托于我们的性能测试场景。

举个栗子:以B站推荐tab为例,当我们冷启APP进入推荐tab的时候,更关注数据展示时长,滑动场景更关注卡顿数,为不同场景设计合理的性能指标也是我们需要认真考虑的。

规范化执行流程

场景和指标都定义好了以后,就要开始执行了,这里要求要规范化执行,规范化执行不是简单的按照场景的定义去执行就好,而是要有很多关注的点。

可以定义的规范有哪些:

 
  1. - 场景开始执行前需要等待多少s

  2. - 执行后需要等待多少s

  3. - 每次测试需不需要冷启或是必须重新安装

  4. - 安装好需要等待多久才可以开始测试

  5. - 测试账号、测试数据、设备、网络需不需要固定

每一个点都可能影响的性能数据的准确性,必须要定义规范,每次都要按着规范去执行,而且这个规范是动态,随着我们不断的测试,会发现很多影响性能数据的问题,都必须定制规范,加以规避。同时好的规范能够未我们后面进行性能数据分析打下基础。

性能数据数据收集

性能数据收集可能是整个客户端性能测试中最简单的部分了,有成熟的工具perfdog可以使用,方便简单,也可以使用商业化的perfdog service实现自动化的性能数据收集,就是需要花钱。

性能数据分析

在收集到性能数据之后,就要去分析数据,如何分析,下面我简单说一下,后面会出文章专门说如何对性能数据进行分析

  • 走势图,从走势图上我们大致可以看出该场景在当前版本的性能表现,可以得出以下结论:
    • 和之前版本的走势图进行对比,性能指标的波动情况
    • 性能指标峰值、场景的均值以及涨幅的变化
  • 场景的起始值与之前版本的变化
  • 场景结束后的值与之前版本的变化
性能问题定位

在进行完性能数据分析以后,如果有问题,就需要去定位问题是那一块业务的问题或者是哪一个mr引起的问题,就需要回溯。

  • 先找开发,和开发沟通一下,看能否根据问题表象确定问题,如果确认不了,就需要测试定位是哪个mr合入引起的
  • 列出本次版本合入所有mr,筛选出那些mr是性能问题所在的业务
  • 找mr合入前后的包重新跑,确认每个mr是否有影响
  • 当确定是哪个mr合入引起的性能问题后,再次和开发沟通
性能测试报告

性能测试报告的目的是给出当前版本的性能表现情况,需要包含一些核心的模块

  • 测试结论
  • 性能问题归因
  • 各个场景的性能指标数据
  • 测试环境以及方案
  • 各个场景的性能指标走势图

以上我对app性能测试的一些粗浅理解和经验,有问题可以留言,一起探讨。。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
App性能测试中,分析 CPU 的结果是评估应用程序性能的重要一环。下面是一些方法来分析 CPU 的性能测试结果: 1. 使用 Profiler 工具:现代的性能测试工具通常都提供了 Profiler 功能,可以帮助您分析 CPU 的使用情况。在 Android Studio 中,您可以使用 Android Profiler,在 Xcode 中,您可以使用 Instruments。这些工具会提供实时的 CPU 使用率、线程活动和函数调用栈等信息,以帮助您确定性能瓶颈。 2. 观察 CPU 使用率:CPU 使用率是评估应用程序性能的重要指标之一。通过观察 CPU 使用率的峰值和变化,您可以确定应用程序在不同场景下的 CPU 开销。如果 CPU 使用率持续高于预期,可能意味着存在性能问题或资源竞争。 3. 分析线程活动:线程活动是 CPU 使用的一个重要因素。通过观察线程活动情况,您可以确定应用程序中的并发操作和线程使用情况。如果存在过多的线程活动或线程竞争,可能会导致 CPU 资源过度消耗。 4. 查看函数调用栈:函数调用栈可以显示应用程序中函数的调用关系和执行时间。通过查看函数调用栈,您可以确定哪些函数占用了大部分的 CPU 时间,从而找到性能瓶颈或优化的重点。 5. 使用图表和报告:性能测试工具通常会提供图表和报告来可视化 CPU 的结果。您可以查看图表以观察 CPU 使用率的变化趋势,以及关键函数或线程的性能情况。同时,报告也可以提供更详细的信息,如函数调用次数、平均执行时间等。 在分析 CPU 的结果时,还要考虑其他因素,如设备规格和操作系统版本等。不同的设备和操作系统可能会对 CPU 的使用产生不同的影响。因此,在进行比较或优化时,请确保在相同的测试环境下进行。 希望这些方法对您有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值