SoloPi现状

去年(2019年)7月份,蚂蚁团体正式对外开源了客户端自动化测试工具 SoloPi ,其次要包含三大模块:录制回放(用于功能测试)、性能工具(用于性能测试)以及一机多控(服务于兼容性测试)。从开源至今,咱们也陆续收到了公司内外对工具的不同声音,有的同学对这套工具能晋升测试同学的效率表白了反对态度,也有同学认为脱离了代码的自动化测试可能会限度测试同学的灵便度,让这种模式很难走远,还有同学认为这套工具只是过眼云烟,简略包装了一下PC上的工具,而不足理论的翻新。

其实,这套工具咱们从17年开始研发,至今曾经有三年的历史了,最开始SoloPi自身只是一个性能测试工具,随后逐渐扩大成涵盖功能测试、性能测试、兼容性测试、异样测试、Mock测试等一系列挪动端测试场景的测试框架,这一路走来,SoloPi就像咱们的孩子一样一步一步地成长,稳步且有打算的后退着。

回想当初,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不仅仅是一个挪动测试畛域的工具,咱们更心愿它是一个服务于宽广测试从业人员的产品。同时,咱们也始终在思考着一个问题:如何能进一步升高测试同学的学习和应用老本?在往年下半年,咱们打算推出一套更加轻量化的测试形式,可能真正让测试同学像失常应用利用一样进行测试,做到真正的智能化和简单化。

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