当前位置:网站首页 > 移动端测试 > 正文

移动端性能测试介绍与最佳实践_移动端性能测试如何做

大家手机上都有用过各种不同类型的App,大家可以来说说,在App使用过程,你所关心的性能有哪些呢? 或者说有没有发现过你认为该情况是性能相关所导致的问题呢?

既然都有见过类似的问题,那为什么不考虑把App性能测试纳入到项目生命周期里面呢?

服务端性能测试在不断的实践中沉淀经验,制定并统一了性能压测计划、流程规范、度量指标等等,然而移动端性能在这些方面还是空白

虽然移动端性能普遍没有给予过多的关注和重视,但它却依旧在默默的发展和不断前进。在过去的几年里,一些自动化技术的出现也促使了移动端性能测试技术的快速成长。下面将从五个历程来概况总结一下

对于服务端的性能压测指标也是耳熟能详,如:接口指标:QPS、5XX、ReqTime;组件指标:MySQL、Redis、MQ、TW、Swoole;机器指标:CPU idle、MEM、磁盘IO、PHP-FPM等等。

移动端的性能指标较多,本期我们以电量为主,其他性能指标可后续作为系列课程进行分享。

目前我们常见的性能指标获取有这么几种途径方式:

MemoryTools的数据收集主要依靠安卓原生api。包含应用顶层Activity所在进程的PSS(Proportional Set Size,即实际使用内存)内存、Private Dirty(私

有内存)内存与全局占用内存,对于单进程应用,该数据表示该应用的内存占用情况;对于多进程应用,同CPU一样,Soloπ也支持自动切换顶层进程。

soloπ基于ActivityManager.MemoryInfo()方法获取内存信息。

本文介绍的电量统计的原理,并不涉及到硬件层面的功耗设计,仅从软件层面围绕以下几个问题进行分析:

手机上的任何系统服务、应用场景都是依赖于电量的基础上进行中,所以引起手机耗电的因素太多太多,下面列举了日常高频使用的一些耗电场景。

当用户点亮屏幕的时候,意味着系统的各组件要开始进行工作,界面也需要开始执行渲染。

当设备从休眠状态中,被应用程序唤醒时,可以看到在第一次唤醒时,出现一条电量使用高峰线。

360手机助手,当充上电的时候,才会自动清理手机垃圾,自动备份上传图片、联系人等到云端;再比如我们自己的APP,其中有一块业务是图片加载或课件下载

在手机上电压一般是恒定的,所以,计算耗电量只需要知道单位时间电流量即可。而单位时间电流量是由厂商给定的,定义在power_profile.xml中,

有了power_profile.xml这个文件描述的单位时间电流量,再收集硬件模块在不同状态下的使用时间,就能够近似的计算出耗电量了。

Uid与App关系:2个App签名和sharedUserId相同,则在运行时,他们拥有相同Uid。就是说processAppUsage统计的可能是多个App的耗电量数据,对于普通App,出现这种情况的几率较少,而对于Android系统应用则较为常见。

Android系统中各种子系统消耗的电量值、CPU运行速度值、总电量等信息都是以固定值的形式存储在power_profile.xml中。由于硬件之间的差异,各子系统耗电信息是不同的,因此此文件需要各生产厂商进行定制。

我们以高通8952的power_profile.xml为例

SystemServer在执行过程中首先会初始化一些系统变量,加载类库,创建Context对象,创建SystemServiceManager对象等之后才开始启动系统服务;

参考业界相关指标,先有后优策略

在 PC 上,通过 Android SDK 提供的ADB client 与同样运行于 PC 中的 ADB server 通信,再由 ADB server 通过 USB 与位于设备中的 Adbd 通信。要实现一套无线化的方案,必须要摆脱对 USB 线的依赖。好在 Android 系统还提供了一种基于 Socket 的 ADB 连接模式,既然是这样,那么只需要按照 ADB 通信协议在端上与本机的 5555 端口进行通信即可获得 ADB shell 的执行能力。

目前已经有一些实现 ADB 通信协议的 Java 开源项目,如 AdbLib ,他们封装了一套 ADB 的调试通信服务,能够替代 PC 上 ADB Server 的角色。我们在Soloπ应用中集成了 AdbLib 开源库,包装成一套 ADB 命令执行工具,为 Soloπ 后续各种专项测试能力的实现奠定了坚实的基础。

到此这篇移动端性能测试介绍与最佳实践_移动端性能测试如何做的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 苦于APP专项测试的专业性和复杂性,99%的测试人员很迷茫2024-10-30 21:13:33
  • 移动端测试要点,iOS 和 Android 测试的区别?2024-10-30 21:13:33
  • 移动APP测试的“22条”必测知识要点_移动app测试方法2024-10-30 21:13:33
  • 苦于APP专项测试的专业性和复杂性,99%的测试人员很迷茫_app专项测试用到哪些工具2024-10-30 21:13:33
  • 移动端测试要点,iOS 和 Android 测试的区别?2024-10-30 21:13:33
  • 移动APP测试的“22条”必测知识要点_移动app测试方法2024-10-30 21:13:33
  • 移动端测试要点,iOS 和 Android 测试的区别?2024-10-30 21:13:33
  • 苦于APP专项测试的专业性和复杂性,99%的测试人员很迷茫2024-10-30 21:13:33
  • 移动端性能测试介绍与最佳实践_移动端性能测试如何做2024-10-30 21:13:33
  • WEB端与移动端测试区别&总结_移动端和web端测试2024-10-30 21:13:33
  • 全屏图片