《云栖TechDay》第9期:钉钉客户端自动化的应用

  • 时间:
  • 浏览:1
  • 来源:5分PK10_5分PK10官网

亲戚亲戚朋友现在采用的策略是哪些地方?一方面是执行,执行是指每日构建,每天至少跑一次针对mate版本去进行详细的构建,每周发布、每周报告。此人 面是维护,维护是外包的专人维护。目前的case数量在UI层面比较多,安卓和iOS加起来至少有三四百个,满足性能的case有一百多个,弱网至少是几3个,以后UI自动化成本比较大,越来越 最核心的功能评估后才中放UI自动化的层面做。

亲戚亲戚朋友有3个 多PTM工作台提供给客户端测试的人,他只越来越 去关心为社 发起执行,为社 查看执行结果,为社 判断当前版本的健康程度。经过简单的配置以后,它就能能执行以后收到全都结果。

应用

3结果展现

49日的云栖TechDay活动上,卞伟为亲戚亲戚朋友分享了钉钉客户端自动化的应用。

第一,   在业务中人工去测试APP的以后,做全都监控,比如,监控cpumem等等。

执行层面还哪些地方地方越来越 去解决?客户端同学通过PTM工作台发起case,如何评判效果?以后发现case失败了,为社 看case是以后哪些地方愿因失败的?亲戚亲戚朋友对自动化进行专门维护,针对失败进行分析,把失败的愿因分类通过全都 报告记录下来,下一次客户端同学能能根据全都 分析结果进行判断,比如,它的每一次执行,每个分类去分析每个结果。

基础的自动化是核心,在它互近有全都功能、性能、弱网。基础自动化是多机执行的,用sword作为安卓自动化的元素驱动,比如,多机case在聊天、设置、ding各个场景上不会用到,在业务utils封装上肯定也要考虑到多机执行。多组执行以后分布式执行,要考虑时间、设计系统配置,运行时在两组之间是并行执行,统一架构设计 ,在一组之间是串行执行的。多场景配置,比如,运行3个 多全量或核心的case,全量的case两百多个,三四十分钟,有以后以后只越来越 去验证很关键的点,在不想对全都的功能造成影响的请况下,就能能运行最核心的case。还有,性能case、弱网case也是通过场景列表的辦法 传给自动化的框架的。  

图中,在不同的场景看它的每个指标的信息。比如,首次打开、首次登陆、非首次登陆详细都是五百条未读信息等等。不同场景列下来,每3个 多场景有不同的性能指标。

屏蔽箱的手段是指,3个 多屏蔽箱隔绝了所有的信号,把手机中放屏蔽箱后,按照一定的设备通过显现式把它放大以后再衰减,先将它放大到3个 多值,以后再信号衰减,让亲戚亲戚朋友方便控制衰减到一定的值时,把信号引入屏蔽箱中。在全都 场景下,能能比较方便的进行弱网下的模拟和相应的测试。

自动化的价值形式,最核心的是UI操作。作为UI自动化肯定要有3个 多机制去驱动界面的元素识别和UI操作,安卓和iOS分别使用了两套基础UI操作库。安卓是3个 多叫Sword的内内外部操作框架的全都实现原理,与appium比较同类;iOS采用的是苹果655苹果655原生的instrumentsUI Automation)。 UI操作是最核心的功能,在此之上,以后把它自动化建立起来,在它的外围就越来越 有3个 多基础库,所谓基础库,比如case运行的信息打印、日志架构设计 ,包括设备一种产生的全都日志等,这是作为辅助排查问题报告 报告 的手段,截图跟日志的功能相辅相成,还包括配置、变量管理等。接下来是测试框架,选泽的是常见的junit,以后在其之上做了全都自定义runner的封装。最外层CIjenkins去执行,PTM工作台让客户端测试的人能能去方便的发现执行和查看结果,分布式执行是指把case分成不同的模块,和不同的等级,根据越来越 去驱动不同的等级和模块的case执行,万一越来越 全量执行,就采用分布式的辦法 在不同的机器、不同的手机上去执行,再做3个 多结果的汇总。报表邮件是自动化的延伸,让执行者和开发者能清楚的知道case运行的效果为社 样。

简介

钉钉产品是阿里的一款企业级IM工具,版本更新也很好快,在迭代过程中,团队通过UI自动化对核心功能进行验证,节约回归的人力成本,并在自动化框架的基础上,针对特定场景的性能、弱网下的聊天功能也进行了自动化的改造。

基础自动化

下面是Tech君架构设计 的技术观点。

5钉钉Android最近3个 多版本性能消耗

钉钉是3个 多工作辦法 。从需求的层面出发,钉钉是3个 多IM聊天的客户端工具,对于用户而言,最关注的是APP的实际运行的效果,全都全都主要针对安卓和iOS进行测试,PC和外国版目前也是通过人力测试来保证的。测试的场景有功能场景(包括核心场景、聊天场景、设置场景等)、弱网场景。

卞伟

弱网

功能自动化

9问题报告 报告 分类报告

4指标信息

全都全都性能测试的流程以后初始化操作,架构设计 数据(包括cpumem、流量、电量、响应时间),按照功能自动化的时间把功能一步步用自动化的case写好,刚结速了架构设计 ,上下滑动以后左右滑动去架构设计 FPS。哪些地方地方指标为社 去获得的呢?流量能能通过安卓系统希望文件直接获得上下行流量信息。加载时间通过打点的辦法 去做,通过服务端和客户端架构设计 日志。CPU由安卓系统一种拿到。内存能能通过安卓dumpsys meminfo拿到。电量把3个 多简单APP装载在手机上,根据时间辦法 来获得最终的电量消耗,APP装进去手机端通话时,架构设计 的以后去交货。FPS使用安卓的SurfaceFinger

性能测试有3个 多需求:

弱网测试是3个 多很实际的例子,2G3G所谓的3.5G到最后的4G不同的以后移动通信的标准,它对带宽的标准要求差别是比较大的。ITU规定的第三代移动通信无线传输技术的最低要求中,越来越 满足在以下3个 多环境的一种要求。即:快速移动环境,最高带宽达144kb/s;室外到室内或步行环境,最高带宽达384kb/s;室内环境,最高带宽达2Mb/s。在实际的应用、测试当中,离全都 标准差的还是很远的,2G下载是12kb/s,到4G是比较快的,离真正的ITU标准还是有一定距离的。越来越 ,在不同的网络请况下,为社 样进行弱网测试呢?

2 PTM工作台

509年加入百度,负责网页搜索核心模块测试,包括服务端模块的自动化、性能测试等,后负责众测平台、自动化测试框架的开发;2014年加入阿里巴巴,主要方向是手机端应用(来往、钉钉)的安卓端UI自动化建设,目前主要负责微应用的H5功能、性能等测试。

8更简单的方案

图为最进3个 多版本的性能消耗的对比,亲戚亲戚朋友能能和历史数据进行比较。通过自动化架构设计 信息的以后,亲戚亲戚朋友不会给它3个 多版本,每次在架构设计 数据的以后在数据库里会有记录,当越来越 版本对比的以后,直接拿历史数据进行对比就能能知道3个 多版本之间以后3个 多版本之间的差异有多大。

10分析汇总

1自动化的价值形式

6网络类型的带宽

在全都 结果中能能看一遍,最里面是3个 多简单的统计。比如,这次运行用了十好多个 case,跑了十好多个 时间,是是不是有疑似crash。运行的是哪个版本,通过了十好多个 ,失败了十好多个 ,有十好多个 个被跳过的。每个case,它的请况是通过以后没通过,以后全都 case失败了,自然有相应的截图,每个case之外的截图详细都是展现。比如,第一台设置在哪个界面,每个操作按照时间顺序一一记下来,以后作设备的标注,从前就方便事后复现在自动化中发现的全都问题报告 报告 。

以后,屏蔽箱比较昂贵,咋整呢?有3个 多更简单、更便宜的方案。用树莓派上加开源的弱网控制模块(FacebookATC)去达到模拟弱网测试的效果,就能能设置上下行流量等等。把手机连接WIFI时,树梅派实现模拟弱网的测试,这也是不同场景弱网的3个 多消耗。

性能

第二,   在自动化里面做全都固定的场景,就要去评判做全都很简单的功能case,以后把新功能的数据架构设计 到,性能case就能能从前做出来了。

7屏蔽箱的使用