我们为什么要做 SoloPi

SoloPi现状

去年(2019年)7月份,蚂蚁集团正式对外开源了客户端自动化测试工具 SoloPi ,其主要包括三大模块:录制回放(用于功能测试)、性能工具(用于性能测试)以及一机多控(服务于兼容性测试)。从开源至今,我们也陆续收到了公司内外对工具的不同声音,有的同学对这套工具能提升测试同学的效率表达了支持态度,也有同学认为脱离了代码的自动化测试可能会限制测试同学的灵活度,让这种模式很难走远,还有同学认为这套工具只是昙花一现,简单包装了一下PC上的工具,而缺乏实际的创新。

其实,这套工具我们从17年开始研发,至今已经有三年的历史了,最开始SoloPi本身只是一个性能测试工具,随后逐步扩展成涵盖功能测试、性能测试、兼容性测试、异常测试、Mock测试等一系列移动端测试场景的测试框架,这一路走来,SoloPi就像我们的孩子一样一步一步地成长,稳步且有计划的前进着。

d7eda5f0-fa40-4826-976b-1257abd501ee.png

回想当初,SoloPi最开始想解决的诉求很简单:测试很麻烦,我们想要更简便的测试方法。所以,我们从当时最麻烦的性能测试入手,以往的性能测试工具,无外乎三种形态:PC驱动工具、侵入式的测试模块、ROOT工具。

PC工具:除了Android Studio自带的性能测试工具,市面上大多数文档都是介绍命令行方法,而且各家方案存在差异,不少还存在错误,实际成型的工具也不多。

侵入式的测试模块:这类工具由于需要侵入到源码中,需要单独打包进行测试,工具本身也可能对性能产生影响。

ROOT工具:首先是需要Android系统的Root权限,对于权限管控越来越严格的Android系统,其路必将越走越窄。

为了解决测试同学性能测试难、标准不统一的问题,我们尝试从Android调试能力入手,研究一种能够在Android手机上不需要root也能实现应用提权的方案。经过长时间的研究,我们最终发现了一套通过Java实现的ADB远程调试方案 (https://github.com/cgutman/AdbLib) ,这套方案与Android调试端口进行通信,通过本地Socket方式实现shell权限的获取,从而达到本地应用提权(下述简称无线ADB提权方案)。

结合无线ADB提权方案,SoloPi针对每一种性能指标,进一步实现了对应的精确获取方案。测试同学不需要再费力搜寻/开发/优化性能测试工具,只需要一个SoloPi,短短几分钟即可快速完成以往动辄数小时的性能测试工作。

在性能测试领域得到应用后,我们继续扩展SoloPi在无线自动化方案的适用范围。这次,我们关注点是功能测试领域。传统的功能测试通常有两种方式:一种是人工手动执行测试,另一种则是编写基于测试框架的自动化脚本。前者成本巨大,为应付不断加速的产品迭代可能需要投入大量人力;而后者则对测试同学的代码能力有不小的要求,这也导致由手动测试转化为自动化测试从而节省人力的进度相对缓慢。结合我们在性能测试方面积累的经验,我们尝试将传统上仅能用于PC的自动化测试能力移植到了移动平台,并根据手机的使用习惯,开发了一套简单易用且功能强大的自动化测试框架,也就是当前的录制回放。通过录制回放,我们可以自豪的说,我们能够节省功能测试高达70%的时间。

在功能测试的方案完成后,我们又对这套自动化测试框架有了更多的期待。由此便诞生了一机多控这样一套兼容性测试利器。关于一机多控,最开始源于一次闲聊,如果将录制回放的过程拆分开,一台机器录制用例,由其他几台乃至数十台机器进行回放,不就能够极大地降低兼容性测试的成本。以往兼容性测试一直是无线测试的老大难问题,通过一机多控,就能实现指数级的提效。通过在测试机房环境的部署,我们已逐渐培养起测试同学通过一机多控进行兼容性测试的习惯。在支付宝内部实践过程中,曾有一位测试同学反馈,没有了一机多控甚至不知道怎么测兼容性了。

为了进一步降低广大从业同学的测试成本,我们继续就整个研发流程进行挖掘、优化,并已在一些节点(如数据准备、异常场景、小程序H5等)上尝试和发力。围绕着测试提效的核心,SoloPi不断地为节省人力成本开发和更新着一系列的测试工具。

SoloPi未来趋势

随着测试技术的不断发展,智能化、简单化的测试趋势日益明显,以19年MTSC大会为例,有超过半数的议题都与AI相关,围绕测试提效的核心,我们也将在这方面进行进一步的挖掘,将AI+测试带给每一个从业人员。

在我们开源的这一年间,我们也发现了游戏领域从业人员对类似工具的诉求,目前SoloPi仍然是以支持传统应用的测试能力为主,所以我们也将在游戏场景做进一步的融合,我们希望能够对类似Unity 3D、Cocos2d-X、虚幻等引擎做进一步支持,从而也能更好地降低游戏测试成本。

SoloPi不仅仅是一个移动测试领域的工具,我们更希望它是一个服务于广大测试从业人员的产品。同时,我们也一直在思考着一个问题:如何能进一步降低测试同学的学习和使用成本?在今年下半年,我们计划推出一套更加轻量化的测试方式,能够真正让测试同学像正常使用应用一样进行测试,做到真正的智能化和简单化。

 

 

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

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

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

相关文章

华为发布2020年年报:收入8914亿元,华为云增速最高达168%

今天,华为发布了2020年度报告。2020年,华为实现销售收入8914亿元人民币,同比增长3.8%;净利润646亿元人民币,同比增长3.2%。其中,企业业务收入同比增长23%至1003亿元人民币。华为轮值董事长胡厚崑在年报发布…

从单体到混乱的微服务,阿里云托管式服务网格是如何诞生的?

作者 | 王夕宁 阿里巴巴高级技术专家 参与阿里巴巴云原生文末留言互动,即有机会获得赠书福利! 在服务网格技术使用之前,为了更快更灵活地进行业务创新, 我们常常会把现有应用进行现代化改造, 把单体应用程序分拆为分布式的微服务架构。通常…

MongoDB数据日期显示相差8小时 原因和解决方案

文章目录一、透过现象看本质1. 背景调研2. 原因分析3. 影响评估二、解决方案2.1. 客户端显示问题2.2. 查询数据不正确2.3. 效果验证一、透过现象看本质 1. 背景调研 最近因为项目需要使用到了MongoDB,使用Navicat Premium 15 客户端可视化工具查询数据&#xff0c…

Kubernetes 和 Docker,到底什么关系?

来源 | 无敌码农责编 | 寇雪芹头图 | 下载于视觉中国作为一名容器时代的程序员相信你已经或多或少接触过Docker,但同时你也会发现Docker虽然流行了多年,但之前却很少有公司直接将线上应用通过Docker容器进行大规模地部署。但最近三年,你会发现…

SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(优雅上下线)

前言 上篇我们讲的是发布回滚过程,尤其是在 Kubernetes 的回滚过程中,原生有提供 Rollout 到上一个版本的能力,能保证我们在发布过程中遇到问题时快速回退的能力。然而在每一次上线的过程中,我们最难处理的就是正在运行中的流量&…

菜鸟+Hologres=智能物流

作者:阿里巴巴菜鸟物流团队(弃疾,孝江,姜继忠) 一、业务背景 菜鸟智能物流分析引擎是基于搜索架构建设的物流查询平台,日均处理包裹事件几十亿,承载了菜鸟物流数据的大部分处理任务。 智能物流…

这个宝藏工具,会给你一种黑客般的感觉

明天要交作业了,吴检正在宿舍熬夜爆肝拼命敲代码,劈里啪啦的键盘声和咔咔的鼠标声格外嘈杂,室友陈琛瞥了一眼,背过身,沉沉睡去,留下他一人在深夜无尽的黑暗中,断断续续却又没有尽头的咔咔声中凌…

全民加速节:解读CDN的应用场景与产品价值

8月12日,全民加速节第二次直播中,阿里云CDN产品专家寒丰进行了《阿里云CDN产品解读》的主题分享,从CDN的趋势、变迁、价值三个方面来阐述思考,并对阿里云CDN产品的业务架构和价值进行解读。 当下,互联网的应用服务已经…

抖音实战~评论数量同步更新

文章目录一、快速入门1. 子组件2. 父组件3. 子组件回调父页面4. 父组件接收回调5. 组件调用流程二、抖音评论数量2.1. 流程图2.2. 流程简述2.3. 流程图效果图鉴赏一、快速入门 1. 子组件 <view clickchildBackHome></view>2. 父组件 父组件说明&#xff1a; bac…

实时化或成必然趋势?新一代 Serverless 实时计算引擎

作者&#xff1a;高旸&#xff08;吾与&#xff09;&#xff0c;阿里巴巴高级产品专家 本文由阿里巴巴高级产品专家高旸&#xff08;吾与&#xff09;分享&#xff0c;主要介绍新一代Serverless实时计算引擎的产品特性及核心功能。 一&#xff0e;实时计算 Flink 版 – 产品定…

抢先看!Kubernetes v1.21 新特性一览

作者 | 倪朋飞来源 | 漫谈云原生头图 | 下载于视觉中国Kubernetes v1.21 下个月就要发布了&#xff08;v1.21.0 将于 4 月 8 日发布&#xff09;&#xff0c;本文梳理该版本带来的新特性&#xff0c;以便你为下个月的升级做好准备。PodSecurityPolicy 弃用PodSecurityPolicy&am…

阿里云ARMS助力「叫叫阅读」解锁系统定位分析技能包

叫叫阅读系列是成都书声科技有限公司&#xff08;铁皮人&#xff09;旗下的教育Apps。 主要针对3-12岁孩子&#xff0c;以儿童身心发展规律为依据&#xff0c;秉承叶圣陶先生的语文教育论&#xff0c;多读书&#xff0c;读好书&#xff0c;勤思考。由小学语文老师、幼小衔接专家…

开放下载!《AliOS Things快速开发指南》

简介&#xff1a; 《AliOS Things快速开发指南》手把手教你从环境准备到线上、线下开发调试&#xff0c;更有两大典型场景实践等你参与。你的物联网开发从这里开始&#xff01;快来get新技能吧~ AliOS Things致力于搭建云端一体化IoT基础设施&#xff0c;具备极致性能、极简开…

低代码,填补业务技术鸿沟 or 紧贴业务的开发时代?

作者 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于视觉中国 低代码在技术界一波又一波的讨论中&#xff0c;仍在不断发展中。3 月 30 日&#xff0c;国内企业数字化服务商奥哲举行品牌全新升级暨新品发布&#xff0c;并推出面向业务人员的新产品&#xff1a;数字化管理工具“奥…

我在阿里写代码学会的六件事

简介&#xff1a; 从团队的角度来看&#xff0c;写好代码是一件非常有必要的事情。如何写出干净优雅的代码是个很困难的课题&#xff0c;我没有找到万能的 solution&#xff0c;更多的是一些 trade off&#xff0c;可以稍微讨论一下。 写了多年的代码&#xff0c;始终觉得如何写…

FLOWABLE 流程中的自动跳过

文章目录1. 背景2. 流程3. 实施方案1. 背景 在实际场景中&#xff0c;我们往往会有这样的需求&#xff0c;当流程到达某一个节点的时候&#xff0c;当某角色或岗位不存在时直接跳过当前节点&#xff0c;到下一个节点&#xff08;我们让其自动的跳过去&#xff0c;不做任何操作…

减少运维工作量,如何通过 ROS 轻松实现资源编排新方式

简介&#xff1a; 以“基础设施即代码”的理念代替“重复劳动”。 在日常工作中&#xff0c;我们一定遇到过需要快速构建系统的工作情形&#xff1a; 作为资源管理人员&#xff0c;需要接收一定数量以及配置的资源申请&#xff0c;这些申请要求网络、存储设备按需到位&#xf…

开放下载!《无需从0开发 平头哥教你1天上手蓝牙Mesh应用解决方案》

当你疲惫了一天&#xff0c;回到家里&#xff0c;点点手机灯就亮了&#xff0c;再唤醒天猫精灵放首歌&#xff0c;这样智能的家&#xff0c;恐怕这是很多人梦寐以求的吧。而蓝牙 MESH 智能灯&#xff0c;是智能家居系统中最基础的设施。蓝牙 MESH 智能灯是如何实现轻松、高效地…

2020 年微服务项目活跃度报告

简介&#xff1a; 2020 年 8 月 18 日&#xff0c;首届云原生微服务大会于线上召开&#xff0c;会议首日&#xff0c;阿里云资深技术专家、CNCF TOC 李响 Keynote 演讲中正式发布了《 2020 年微服务领域开源数字化报告》。 导读&#xff1a;2020 年 8 月 18 日&#xff0c;首届…

又一低代码平台火了!15 分钟小白轻松开发在线课堂,人人都是开发者时代来了?

据艾瑞咨询统计&#xff0c;2020 年中国在线教育行业市场规模 2573 亿元&#xff0c;过去 4 年的复合增长率达 34.5%。如今在线教育行业如火如荼&#xff0c;亟待一款好的在线教育平台。 此时&#xff0c;不少开发者和教育机构遇到新的难题&#xff1a;如果使用标准化 SaaS 平…