1. 性能决定当初,性能决定将来
性能测试在挪动测试畛域始终是一个大难题,它最直观的体现是用户在前台应用 App 时的主观体验,然而决定体验优劣的背地,波及到了许许多多的技术变迁。
- 当咱们习惯于诺基亚时,智能机呈现了;当咱们学会 native 开发时,hybrid 来了;当各种 hybrid 框架下的巨型利用偏向成熟时,小程序呈现在了咱们眼前;紧接着直播、iot、ar、vr、人工智能,新的技术与利用场景正在以无奈设想的速度向前倒退。性能测试技术在疾速变动的场景与开发技术背后,面临着微小的挑战,当咱们还在纠结如何测试 a 时,b 就曾经进去了。
- 性能测试自身,有倒退日渐成熟的解决方案,如线上性能监控 APM、线下性能采集工具;有基于各个利用场景衍生的测试技术,如压力测试、稳定性测试、功耗测试等;也有基于各项性能指标(内存、cpu、电量、流量)而来的各种专项测试能力。
咱们致力于打造线上线下一体的性能解决方案,心愿可能帮忙开发者发现、定位与解决一系列挪动端性能问题。本文将着重介绍 EMAS 性能测试平台的能力与布局,还是那句话,性能决定当初,性能决定将来。
2、云上的性能测试工具
通常咱们在进行专项测试(内存、cpu、电量、流量等)时,须要筹备测试机型、测试包、测试环境、测试数据,会遇到以下问题:
- 机型样本数不够多。
- debug 包不肯定实在反馈生产包的性能,但 Android Studio 须要 debug 包能力测试。
- Android/iOS 测试环境的搭建与跨平台艰难。
- 大量测试数据整顿剖析。
以上这些问题很容易导致整个测试效率的低下,甚至无奈施行落地。
基于 EMAS 云真机的调试能力,MQC 在云上提供了更加完满便捷的性能测试工具。
云真机人造提供多达 600+ 款测试机型,反对调试测试所有已装置利用,不依赖任何本地环境配置,测试数据一键上传统计。
同时,EMAS 性能测试工具有以下特点:
- 基于 app_process 与 instruments 协定实现的挪动双端、跨平台性能采集;
- 无侵入、短距离(采集距离稳固 1s),低提早(性能数据提早小于 100ms)、低功耗(对设施性能影响低于 1%);
- 利用 + 过程的测试计划,满足 hybrid、小程序的测试需要。
- 云上数据看板
==========
性能数据的意义在于它将咱们常见的各种问题通过技术的伎俩进行度量与量化,能够帮忙咱们在产品性能上线前,尽可能的发现潜在的性能问题和危险。MQC 性能测试平台将存储于云上的数据,以尽可能多的维度可视化给用户,把好版本公布前的关口。
3.1 工作
用户应用云真机进行的每一次测试工作与性能数据,都会间接保留成测试工作,不便再次查看与确认历史数据。
3.2 用例
在理论的测试过程中,咱们很容易发现,不同利用场景的性能数据是齐全没有可比性的,在统计办法上只看性能数据的平均值也很难间接给出定性和定量的判断,没方法影响开发、产品的决策。
即使看似雷同的场景,不同的产品决策也可能带来很大的性能数据差距:比方大多数云盘的相册基于流量与性能的思考,显示的都是压缩后的图片;而咱们的本地的一些相册软件,显示的根本都是原图,这样产品上的抉择便导致了内存开销上微小的差别。
数据看板在最后设计的时候就汲取了性能自动化用例平台时的建设教训,将每一次性能测试工作分用例存储,并且依照不同的用例维度对性能数据进行统计。在 EMAS 挪动测试 控制台,不同子账号查看和治理雷同的 app 与用例,满足多用户云端合作的需要。
3.3 多维度聚合
在用例维度的根底上,MQC 性能测试平台提供了多个维度的数据统计、聚合与剖析能力。
• 设施分级
依据设施硬件性能打分,划分为高、中、低三个级别。
因为不同等级机型对 APP 理论性能指标的影响较大,这个因子能够较大水平缩小硬件性能对指标置信度的影响。
• 利用版本
对于性能指标来说,通常有三种问题判断规范:
- 基于行业技术教训定义的基线指标,这通常是技术决策者基于用户体验、性能要求、大数据分析给开发提出的底线规范;
- 同行业 APP 性能指标横向比照,学习行业内优良的技术实现始终是互联网疾速倒退的重要起因之一;
- 同 APP 不同版本间的纵向比照,疾速的发现新版本的优化成果,新性能对 APP 的影响等。
• 指标散布
指标散布能够帮忙开发者疾速判断指标区间,定位可能的异样工作与异样指标区间,更加有针对性的去查阅工作报告。
4、将来布局
• 丰盛指标:咱们将持续欠缺更多性能指标的采集计划,如电量、GPU、温度等;
• 行业指标:MQC 将基于云上开发者数据、专家测试数据,整顿并统计各个行业性能指标作为参考分享进去;
• 性能基线:上文提到,通常性能指标的察看规范有三,同行业 APP 性能指标;同 APP 不同版本性能指标;基于技术计划与行业数据的性能规范。性能基线的定义能够更好的束缚开发者对极致性能体验的谋求,最大可能升高性能问题呈现的概率,如 OOM、ANR 问题。
最初附上演示视频,请点击下方链接查看
https://developer.aliyun.com/live/245866