阿里QA导读:10月20日,阿里云移动研发平台EMAS应用质量管理沙龙,首站杭州取得圆满成功!此次沙龙邀请到淘宝高级技术专家韩锷,阿里云技术专家尚仁、玄工、宝文、州牧和大家进行分享交流。现场围绕无线性能测试解决方案、无线App线上质量监控实践、云原生移动DevOps解决方案、热修复服务展开分享交流。阿里云EMAS联合手淘技术,现场重磅发布了TMQ & MQC无线性能测试解决方案,方案基于上云场景进行共建,打造出通用的高标准性能分析工具。
前言
随着互联网的蓬勃发展,APP的快速用户增长已经度过了蜜月期,每个行业的竞品软件都多达数十甚至上百款。如何在众多竞品软件中脱颖而出,保持份额增长?除了业务上的创新外,用户体验也至关重要。
从淘宝的用户反馈中我们发现“卡顿”、“反应慢”、“发热”、“白屏”的反馈都特别多。可以看出,用户在使用软件的过程中,除了基本功能,对软件体验也有越来越高的要求。另外,从用户数据分析:页面响应时长直接影响页面的跳失率,应用的流畅度直接影响用户使用时长,发热、耗电等现象会导致应用打开频次降低。
性能测试成为客户端质量来说越来越重要的一环,手淘为解决性能测试,进行了不断的工具迭代。同时阿里云面向的B端客户也遇到了类似的问题场景。因此,手淘和云智能团队决定合作,建立一套通用的新一代无线性能测试解决方案,并于10.20正式发布。
性能测试的痛点
- 测试工具纷繁复杂,adb、Android studio、Instruments、N多其他内外部工具,每次拉群确认口径。
- 不同工具数据不一致,自动化和手工测试数据不一致,经常花式复测对数据
- 两端测试工具体验不一致,很多不熟悉客户端的同学工具学习成本高,学完Android还要学iOS
- 不同机型数据差距大,没有通用机型无法产出可对比报告
- 常规测试工具需要人工同步记录数据,没有可视化报告
- 性能测试有竞品对比的诉求,需要同时产生自己应用的数据和竞品数据
- 部分同学windows电脑,无法使用xcode进行iOS性能测试
通用性能测试需要解决的问题
- 通用性:不root,不越狱,不侵入
- 跨平台:mac, Win, Linux, 云测
- 易用性:一键安装环境,学习成本低,双端体验一致,持久化报告
- 稳定性:自身性能损耗小,数据准确
淘系性能测试演进之路
性能测试1.0:掌中测
- 这是一套做在客户端端测试包上的随身测试工具
- 优点:简单便捷,打开应用即可测试。
- 缺点:
- 很明显测试工具与被测应用在同一个进程下,对被测应用性能有损
- 测试数据需要人工记录,无法持久化对比。
- 工具只能集成到debug包,干扰较多,无法测试正式包性能
- 无法测试其他竞品应用
性能测试2.0:TMQLab
- 手淘性能测试桌面工具
- 优点:
- 采用非侵入方案,可以使用release包进行测试
- 缺点:
- 部分非客户端同学(比如H5开发),外包同学,本地甚至没有Java环境。
- 性能验收需要特定机型测试,用户本地没有该设备
性能测试3.0:新一代无线性能测试解决方案
- 基于远程真机平台的深度性能测试解决方案
- 解决了TMQLab的环境和设备问题,测试更稳定
- 采集能力云上通用,提供给集团更多平台,也提供给外部客户使用
其优点如下:
- 用户完全不需要准备环境,用户只需要使用账号登录到云真机平台即可测试。
- 双端的测试体验一致,Android iOS双端性能测试再无平台门槛
- 使用Android、iOS双端非侵入方案,无需对被测应用进行任何定制改动
- 云上的测试用例和测试报告管理,所有历史数据均可回溯和对比
- 测试手机部署在专业的实验室环境下,设备和网络稳定性都得到了非常大的提高
效率提升:
- 初次环境安装时间从1天降为0,包括Android Studio/Instruments等专业工具,以及java/adb/xcode等基础工具,且无需升级维护
- 减少手机环境准备时间,开发者选项、合适的数据线都不需要了
- 云真机平台的大量设备让你更轻松的找到合适的手机
- 自动生成的可对比的性能报告,节约了大量数据统计时间。
用户再也不需要在电脑上装各种这些基础工具,产品运营同学都可以玩转性能测试。测试环境准备时间从1 day降为0,单测性能验收时间从3h降为15min。
这样一套云上性能测试方案,可以满足阿里内部和外部客户的性能测试需求
新一代无线性能测试架构
淘系联合阿里云的新一代无线性能测试解决方案,将性能测试能力封装成通用sdk,通过agent-service部署在宿主机上
图1-云上性能测试部署方案
图2-PerfSDK架构图
阿里云应用质量管理主题沙龙现场
在10.20的阿里云应用质量管理主题沙龙现场,TMQ无线性能测试解决方案作为核心产品第一个进行发布。现场反应热烈,很多参会者提出各种各样的技术问题,远远超过预期,这也侧面说明性能测试是B端客户亟需的能力。
关注「阿里巴巴技术质量」阅读更多