云上的移动性能测试平台

本文涉及的产品
移动研发平台 EMAS,开发者版免费套餐
简介: 功能决定现在,性能决定未来。欢迎大家围观《云上的移动性能测试平台》, 了解EMAS性能测试平台的能力与规划。

1. 功能决定现在,性能决定未来

性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术变迁。

  • 当我们习惯于诺基亚时,智能机出现了;当我们学会native开发时,hybrid来了;当各种 hybrid 框架下的巨型应用倾向成熟时,小程序出现在了我们眼前;紧接着直播、iot、ar、vr、人工智能,新的技术与应用场景正在以无法想象的速度向前发展。性能测试技术在快速变化的场景与开发技术面前,面临着巨大的挑战,当我们还在纠结如何测试 a 时,b 就已经出来了。
  • 性能测试本身,有发展日渐成熟的解决方案,如线上性能监控APM、线下性能采集工具;有基于各个应用场景衍生的测试技术,如压力测试、稳定性测试、功耗测试等;也有基于各项性能指标(内存、cpu、电量、流量)而来的各种专项测试能力。

我们致力于打造线上线下一体的性能解决方案,希望能够帮助开发者发现、定位与解决一系列移动端性能问题。本文将着重介绍 EMAS 性能测试平台的能力与规划,还是那句话,功能决定现在,性能决定未来。

2. 云上的性能测试工具

通常我们在进行专项测试(内存、cpu、电量、流量等)时,需要准备测试机型、测试包、测试环境、测试数据,会遇到以下问题:

  • 机型样本数不够多。
  • debug包不一定真实反应生产包的性能,但Android Studio需要debug包才能测试。
  • Android/iOS 测试环境的搭建与跨平台困难。
  • 大量测试数据整理分析。

以上这些问题很容易导致整个测试效率的低下,甚至无法实施落地。
image.png

基于EMAS云真机的调试能力,MQC在云上提供了更加完美便捷的性能测试工具。

云真机天然提供多达600+款测试机型,支持调试测试所有已安装应用,不依赖任何本地环境配置,测试数据一键上传统计。

同时,EMAS性能测试工具有以下特点:

  • 基于 app_process 与 instruments 协议实现的移动双端、跨平台性能采集;
  • 无侵入、短间隔(采集间隔稳定1s),低延迟(性能数据延迟小于100ms)、低功耗(对设备性能影响低于1%);
  • 应用+进程的测试方案,满足hybrid、小程序的测试需求。

image.png
image.png

3. 云上数据看板

性能数据的意义在于它将我们常见的各种问题通过技术的手段进行度量与量化,可以帮助我们在产品功能上线前,尽可能的发现潜在的性能问题和风险。MQC性能测试平台将存储于云上的数据,以尽可能多的维度可视化给用户,把好版本发布前的关口。

3.1 任务

用户使用云真机进行的每一次测试任务与性能数据,都会直接保存成测试任务,方便再次查看与确认历史数据。
image.png

3.2 用例

在实际的测试过程中,我们很容易发现,不同应用场景的性能数据是完全没有可比性的,在统计方法上只看性能数据的平均值也很难直接给出定性和定量的判断,没办法影响开发、产品的决策。

即便看似相同的场景,不同的产品决策也可能带来很大的性能数据差距:比如大多数云盘的相册基于流量与性能的考虑,显示的都是压缩后的图片;而我们的本地的一些相册软件,显示的基本都是原图,这样产品上的选择便导致了内存开销上巨大的差异。

数据看板在最初设计的时候就吸取了功能自动化用例平台时的建设经验,将每一次性能测试任务分用例存储,并且按照不同的用例维度对性能数据进行统计。在 EMAS 移动测试 控制台,不同子账号查看和管理相同的app与用例,满足多用户云端协作的需求。

3.3 多维度聚合

在用例维度的基础上,MQC 性能测试平台提供了多个维度的数据统计、聚合与分析能力。

• 设备分级

根据设备硬件性能打分,划分为高、中、低三个级别。
由于不同等级机型对 APP 实际性能指标的影响较大,这个因子可以较大程度减少硬件性能对指标置信度的影响。

• 应用版本

对于性能指标来说,通常有三种问题判断标准:

  • 基于行业技术经验定义的基线指标,这通常是技术决策者基于用户体验、性能要求、大数据分析给开发提出的底线标准;
  • 同行业 APP 性能指标横向对比,学习行业内优秀的技术实现一直是互联网快速发展的重要原因之一;
  • 同 APP 不同版本间的纵向对比,快速的发现新版本的优化效果,新功能对 APP 的影响等。

image.png

• 指标分布

指标分布可以帮助开发者快速判断指标区间,定位可能的异常任务与异常指标区间,更加有针对性的去查阅任务报告。
image.png

4. 未来规划

• 丰富指标:我们将继续完善更多性能指标的采集方案,如电量、GPU、温度等;
• 行业指标:MQC 将基于云上开发者数据、专家测试数据,整理并统计各个行业性能指标作为参考分享出来;
• 性能基线:上文提到,通常性能指标的观察标准有三,同行业APP性能指标;同APP不同版本性能指标;基于技术方案与行业数据的性能标准。性能基线的定义可以更好的约束开发者对极致性能体验的追求,最大可能降低性能问题出现的概率,如OOM、ANR问题。

最后附上演示视频,请点击下方链接查看
https://developer.aliyun.com/live/245866

欢迎加入EMAS开发者钉钉交流群<<
群号:35248489
钉群二维码.png
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
5月前
|
关系型数据库 测试技术 数据库
使用Docker搭建测试用例管理平台TestLink:简易指南
使用Docker搭建TestLink测试管理软件的步骤如下:首先,拉取`bitnami/mariadb`和`bitnami/testlink-archived`镜像。然后,启动MariaDB容器,创建数据库。接着,启动TestLink容器并连接到MariaDB。检查容器状态确保它们已启动。最后,访问`localhost:8099`以使用TestLink,默认用户名为`user`,密码为`bitnami`。这样,你就能在本地便捷地进行测试管理了。
165 2
|
2月前
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
71 1
|
3月前
|
传感器 数据采集 监控
LabVIEW电池管理系统测试平台
LabVIEW电池管理系统测试平台
46 4
|
2月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
67 1
|
2月前
|
运维 Kubernetes 监控
|
4月前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
243 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
3月前
|
传感器 存储 数据采集
LabVIEW阀性能测试平台
LabVIEW阀性能测试平台
32 0
|
4月前
|
消息中间件 Kubernetes Kafka
AutoMQ 自动化持续测试平台技术内幕
Marathon 是一个针对流系统 AutoMQ 的自动化持续测试平台,旨在在模拟生产环境和各种故障场景中验证 SLA 的可靠性。设计原则包括易拓展、可观测和低成本。平台采用分布式架构,Controller 负责资源管理和任务编排,动态调整 Worker 数量和配置,而 Worker 是无状态的,用于生成负载和上报数据。系统基于 K8S,利用服务发现、事件总线和 Spot 实例降低成本并提高弹性。测试场景以代码形式描述,支持不同流量模型和断言,提供丰富的可观测性和告警功能。未来,Marathon 有望泛化为适用于各种分布式系统的测试平台。
48 0
AutoMQ 自动化持续测试平台技术内幕
|
4月前
|
jenkins Java 测试技术
电商返利平台的测试与持续集成
电商返利平台的测试与持续集成
|
5月前
|
数据挖掘 测试技术 网络安全
LabVIEW开发卫星测试平台
LabVIEW开发卫星测试平台
43 3
下一篇
无影云桌面