3测试图片显示置信度_云上的移动性能测试平台

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

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

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

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

2. 云上的性能测试工具

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

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

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

689898006ef2504b8c7d75fc73c5a1ab.png

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

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

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

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

5f5a65ef80fd62b1e56f51883b8ee3b9.png

3. 云上数据看板

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

3.1 任务

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

5efc5d85e2cda91f2a370e20cf7ff7b1.png

3.2 用例

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

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

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

3.3 多维度聚合

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

• 设备分级

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

• 应用版本

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

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

• 指标分布

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

dfdf6a3bd570c924c2ae7d6d08db0167.png

4. 未来规划

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

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络 --- 网络层重要协议

动态IP分配协议 --- DHCP协议 主机如何获得IP地址: 静态配置 包括IP地址,子网掩码,默认网关 动态配置 由DHCP服务器来分配 DHCP协议: 动态主机配置协议DHCP是应用层协议,使用客户、服务器方式,客户端和…

java 并发_Java并发防范机制

1.背景并发程序开发不可避免地要涉及多线程、多线程协作、数据共享和线程安全等问题。在多线程并发场景下,由于采用数据共享的线程通信模型可能导致多个线程之间并发时相互干扰,影响到程序的正常逻辑、无法保证正常的结果。为了保证程序在并发环境的正确…

水晶底是什么材质_都是红酒杯,水晶的和玻璃的有什么区别?

除了看酒杯的形状外,材质也是我们选酒杯不可忽视的一环。酒杯材质可简单分为玻璃酒杯和水晶酒杯。那么,水晶酒杯和玻璃酒杯到底有何不同?普通玻璃杯二氧化硅是主要成分,价格低廉,容易清洗普通玻璃酒杯材质较厚&#xf…

计算机网络 --- 网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。(分组是把数据报进行切割形成) 网络层主要功能 路由选择与分组转发异构网络互联拥塞控制 如果所有结点都来不及接收分组&#xff0…

mac 串口调试工具_MACamp;串口调试

上一篇文章讲了Mac下进行stm32开发wlzz:Mac下stm32开发(clion)​zhuanlan.zhihu.com不可避免的遇到了串口调试的问题,发现mac下进行串口调试还真的不太容易。下了不少网上的软件,发现都不是特别好用,有很多已经不支持现在的macos系统版本了。于是在CLion下搜索了一下…

golang atomic load 性能_设计模式之Golang单例模式

今天给大家讲下什么是单例模式,以及在Go语言中如何用正确的姿势实现它。其实单例模式是一种在平时开发中经常用到的软件设计模式。在设计模式结构中,其核心是只包含一个被称为单例的特殊类。通过单例模式可以确保系统中一个类只有一个实例,且…

计算机网络 --- 传输层

传输层概述 传输层是只有主机才有的层次(路由器没有),为应用层提供通信服务,使用网络层的服务 传输层的功能 传输层提供进程与进程之间的逻辑通信(网络层提供主机之间的逻辑通信)。复用和分用传输层对收…

手机相机里面的m_荣耀V30 PRO详细评测:Matrix Camera相机矩阵开启5G视频时代

【IT168 评测】随着手机摄像头的配置越来越高,手机上已经能实现不俗的拍照效果,甚至超越了数码相机(DC)成为了人们最常用的拍照工具。进入今年的下半年,随着5G的商用,手机厂商对于手机的摄像头功能优化已经不局限于拍照&#xff0…

计算机网络 --- 传输层UDP协议

UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。 UDP的主要特点 UDP是无连接的,减少开销和发送数据之前的时延。UDP使用最大努力交付,即不保证可靠交付。UDP是面向报文的,适合一次性传输少量数据的网络应用。…

怎么调整字段长短_【芝士蛋糕怎么总烤不熟呢?】

烘焙群一位同学发来图片问,不是说看蛋糕有没有烤熟,要用牙签检测吗?可我这个芝士蛋糕,怎么扎都会带出面糊,烤不熟怎么办?看到这个被扎成刺猬的舒芙蕾芝士,原谅Windy 不厚道的笑了。也是Windy 疏…

计算机网络 --- 传输层TCP协议

TCP协议的特点 TCP是面向连接(虚连接)的传输层协议。每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。可靠有序,不丢不重。TCP提供全双工通信。…

java 委托_java 能不能自己写一个类叫 java.lang.System/String 正确答案

来自:一汪清水 | 责编:乐乐链接:blog.csdn.net/tang9140/article/details/42738433正文 最近学习了下java类加载相关的知识。然后看到网上有一道面试题是能不能自己写个类叫java.lang.System?网上提供的答案:通常不可…

中奖人js滚动效果_js使用transition效果实现无缝滚动

作者:李大雷出自:SegmentFault 思否原文:segmentfault.com/a/1190000023945464前言无缝轮播一直是面试的热门题目,而大部分答案都是复制第一张到最后。诚然,这种方法是非常标准,那么有没有另类一点的方法呢…

计算机网络 --- 应用层

应用层概述 应用层对应用程序的通信提供服务。 应用层协议定义: 应用进程交换的报文类型,请求还是响应各种报文类型的语法,如报文中的各个字段及其详细描述字段的语义,即包含在字段中的信息的含义进程何时,如何发送…

opencv机器学习线性回归_Python机器学习之?线性回归入门(二)

线性回归原理介绍文章目录机器学习分类线性回归原理线性回归定义线性回归背后矩阵运算机器学习分类机器学习的主要任务便是聚焦于两个问题:分类和回归分类相信大家都不会陌生,生活中会见到很多的应用,比如垃圾邮件识别、信用卡发放等等&#…

php 邮件发送是html 没样式_使用python发送邮件

发送邮件这个功能非常实用,比如你写了一个爬虫,可以通过邮件来接收程序异常或者任务完成的通知,再比如你搭了一个网站,别人只需留下他的邮箱,你就可以自动给他发送邮件。总之我觉得邮件通知非常适合那些处理批量、大量…

easypoi设置黑色边框_迷人的G-SHOCK MTG-B1000XBD,碳纤维与黑色金属的魅力

美国最大的奢侈腕表盛会,第五届纽约WatchTime于2019年10月25日至26日在曼哈顿中城的Gotham Hall举行,共有37个参展品牌展出了最新的腕表款式,卡西欧(Casio)在G-SHOCK高级系列MT-G中展示了最新作品“ MTG-B1000XBD”和“ MTG-B1000…

c语言 单词变复数_【热点】浅谈 :怎样学好C语言?

是新朋友吗?记得先点蓝字关注我哦~本文共 1900 字,预计阅读时间: 7 分钟。最近有好多朋友和我抱怨说C语言真的太难学了,你有没有什么好的意见?嗯,的确如此,我上个学期学C语言的时候也…

安川机器人报错代码_今日 IPO|对标库卡机器人的先惠技术上市 近八成收入靠上汽...

面对全球金融体系的重构,与中国资本市场的变革。「晚点」希望从小处入手,以每日 IPO 公司的快速报道,记录这个时代的变化。通过「晚点早知道」,我们希望可以让读者只需要花几分钟时间,就可以了解到当天上市公司里&…