个人云盘自动化监控系统的实现_第1页
个人云盘自动化监控系统的实现_第2页
个人云盘自动化监控系统的实现_第3页
个人云盘自动化监控系统的实现_第4页
个人云盘自动化监控系统的实现_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人云盘自动化监控系统的实现摘 要:该文以个人云盘为例,基于Jenkins持续集成框架与ATX自动化测试框架,通过模拟用户真实操作,在终端设备上实现个人云盘应用的关键性能指标自动化测试,并通过7×24h任务调度与分省部署,开展分省测试数据采集,实现多地域常态化品质监控。通过该系统实时获取个人云盘产品的真实使用数据,并加以多维度分析,一方面可以发现产品突发或潜在的性能缺陷,另一方面也可以快速针对产品功能改动、运营策略调整得到测试数据的反响,到达全面把控产品关键性能表现的目的。关键词:持续集成 自动化测试 ATX 品质监控中图分类号:TP311&#

2、160;            文献标识码:A文章编号:1672-3791202104c-0006-05ImplementationofAutomaticMonitoringSystemforPersonalClouddiskLIWeijian HUBin KEShusen ZHANGJianhao OUDechengQualityManagementDepartment,ChinaMobileInternetCo.,Ltd.,Guan

3、gzhou,GuangdongProvince,510640 ChinaAbstract:Takingpersonalclouddiskasanexample,basedonJenkinscontinuousintegrationframeworkandATXautomatedtestingframework,thispaperrealizestheautomatictestingofthekeyperformanceindicatorsofpersonalclouddiskapplicationonterminaldevicesbysimulatingtherealoperatio

4、nofusers,andcarriesoutprovincialtestdatacollectionthrough7×24hourtaskschedulingandprovincialdeploymenttoachievemulti-regionalnormalqualitymonitoring.Throughthesystemtoobtaintherealusagedataofpersonalclouddiskproductsinrealtimeandmakemulti-dimensionalanalysis,ontheonehand,wecanfindsuddenorpotent

5、ialperformancedefectsoftheproduct,ontheotherhand,wecanquicklygetthefeedbackofthetestdataaccordingtotheproductfunctionchangeandoperationstrategyadjustment,soastoachievethepurposeofcomprehensivelycontrollingthekeyperformanceoftheproduct.KeyWords:Continuousintegration;Automatedtesting;ATX;Qualitymonito

6、ring对于运营商的互联网应用产品来说,产品根底功能的稳定是第一要务。如何实时感知用户对产品的实际使用体验、获知产品当前的根底功能表现情况,并与历史数据比照来判断产品当前的品质表现,一直是各互联网公司亟待解决的问题。针对这个问题,目前主要有两种解决方法:人工拨测与效劳器数据监控。但这两种方法均存在一定缺陷。人工拨测主要依赖人力,定期对产品主要功能点进行拨测以判断是否正常。此方法存在的缺陷显而易见,手工测试的时间覆盖粒度大,某个用例被执行后需等待较长时间方能再次被执行,难以及时发现异常,假设提高覆盖粒度那么人力本钱倍增。此外,人工拨测也难以进行7×24h的实时监控。效劳器数据监控主要针

7、对效劳器与业务关键进程的各项指标如CPU、內存、带宽、磁盘状态、数据库、业务接口等进行实时监控,该方法可以精确发现业务运行过程中的各项数据异常并进行告警,但主要的缺乏在于产品实际体验并不一定与监控告警强相关,局部指标异常告警时由于业务系统设计的冗余机制或自动修复,仍可保证产品功能正常。因此,此方法实际执行过程中需熟悉运维工作与业务的人员进行告警分析,或辅以人工拨测验证,未能直接获知用户的实际体验。综合以上原因,中移互联网品质管理部基于Jenkins持续集成框架与ATX自动化测试框架,以和彩云App为例搭建了一套互联网产品品质监控系统,对以上两种方法的缺乏之处进行补充。1 系统特点该系

8、统基于Jenkins持续集成框架【1】与ATX自动化测试框架搭建,主要具备以下特点。1基于Jenkins配置定时持续集成任务,每次执行任务时从Gitlab代码仓库拉取最新版本测试脚本执行自动化测试,到达7×24h全天候自动化数据采集。2采用控件、文本、图像、xpath等多种方式对设备进行通用的自动化定位与控制,防止复杂机型、分辨率带来的适配难题。3具备高度可拓展性,可简单拓展至多个分省,开展批量多地数据采集。4配合多台测试终端、用例错峰执行等任务调度策略,测A试覆盖粒度小,可以及时发现异常,同时因测试过程模拟了用户真实操作,故能直接定位异常功能点。5多地测试数据存储于同一中央数据库,

9、方便开展多维度数据分析,寻找产品潜在问题。2 方案设计该系统主要由统一代码库、持续集成平台、测试终端、数据存储系统与数据分析工具组成,系统架构见图1。2.1代码库管理为方便多人协作开发测试脚本、多测试节点实时保持脚本更新,该方法使用代码版本控制VCS【2】VersionControlSystem进行代码库管理。该司已采用基于分布式代码管理系统Git实现的Gitlab进行开发团队的统一代码管理,该方法使用公司Gitlab创立独立代码仓库进行代码管理与版本控制,Gitlab的使用方法该文不进行赘述。2.2持续集成平台该系统采用主流的持续集成平台Jenkins作为中心管理系统。Jenkin

10、s是一个用Java编写的开源工具,可以自动化开展集成、测试、部署等重复性工作,且具备友好的GUI配置界面与操作界面。在该系统中主要利用Jenkins的自动化特性,承担任务调度工作以及报告定期输出。2.3测试终端该系统主要针对移动端App开展品质监控,所以该系统的测试终端主要包括Android与iOS两种系统的。其中Android设备无需root,但需开启调试模式;执行iOS的自动化需额外准备Mac系统的效劳器与iOS开发者账号。2.4数据存储系统与分析工具基于该系统的数据规模与使用需求,采用MySQL数据库作为数据存储系统。MySQL支持多线程,可以充分利用CPU,性能表现出色。分析工具方面,

11、MySQL数据库也提供了丰富的API接口并支持多种开发语言,该系统使用Python进行分析工具开发。2.5自动化测试框架ATX是一个基于Python语言的开源自动化测试框架【3】,可以实现对Android与iOS的自动化操作,如运行App、获取App控件属性、点击屏幕、输入文本等。该系统通过ATX的自动化接口,模拟真实用户操作对进行自动化控制。3 实例研究以该司产品和彩云Android客户端App为例,采用上文介绍的互联网产品监控系统设计方案,完成环境搭建、测试代码编写、任务调度与测试结果输出,并展示局部历史数据分析结果。3.1持续集成平台与数据库搭建分别从Jenkins官网 s:/

12、 jenkins.io/download/与MySQL官网 s:/ mysql /downloads/下载安装包,推送至Linux效劳器上完成安装并部署效劳。3.2测试代码编写3.2.1安装ATX自动化测试框架ATX是一个开源的Python第三方库,安装之前需确保计算机安装了Python环境。在命令行界面下,分别通过pip安装atx、weditor、opencv-python等组件。3.2.2通过ATX连接1通过ADB连接Android。Android在设置菜单的开发者选项中开启USB调试后,通过数据线连接计算机,在命令提示符窗口输入“adbdevices命令,假设得到以下信息,那么表示已成功

13、连接7b3c713c为例如的序列号。Listofdevicesattached7b3c713c    device2测试安装ATX组件。在命令提示符窗口输入“python-muiautomator2init,假设得到以下信息,那么表示测试已成功安装ATX组件。SuccessfullyinitAdbDeviceserial=7b3c713c3.2.3App控件信息获取ATX框架提供了weditor组件用于App控件的获取,这种基于App控件的点击方式摆脱了屏幕尺寸与分辨率的限制。1启动weditor。在命令提示符窗口输入“python-mweditor后,

14、计算机的默认浏览器启动weditor界面,在首行处输入序列号此处为“7b3c713c,点击Connect,浏览器显示屏幕内容。2获取控件信息。在端启动和彩云App,切换至“我的tab,刷新weditor页面。以“活动中心控件为例,在页面上可以看到该控件的className、resourceId、text、Xpath、左上角坐标与长宽等属性见图2。得到以上信息后,可以在ATX框架中对控件进行精准定位,一般情况下使用resourceId与text等属性;假设页面出现多个相同resourceId且不具备text属性的控件时,可以使用Xpath属性。3.2.4执行自动化操作以和彩云App为例,模拟用户

15、启动和彩云并进行文件下载的简单代码4-5,具体见图3。后续可通过数据库操作代码、监控告警代码等可以将数据进行进一步处理。上述代码使用resourceId与text两个控件属性对和彩云App客户端的页面控件元素进行了定位与点击操作,并通过查找toast的方式来判断执行结果。而ATX除了模拟定位、点擊等操作外,还支持模拟双击、拖曳、长按、输入文本等常见用户操作。3.3Jenkins任务配置通过ATX模拟用户真实操作,完成和彩云一系列主要功能如登录、文件上传、文件下载、图片预览、视频观看等测试代码编写后,将其提交至Gitlab工程主分支,在Jenkins任务中,配置Gitlab工程地址与账号密码与定

16、时构建功能。至此,系统已初步搭建完成,Jenkins根据定时规那么,7×24h访问Gitlab获取最新代码,并通过在测试上执行代码,获取最接近客户感知的真实测试数据,存储进MySQL数据库。3.4结果分析通过将该系统进行分省部署,从多地域、多网络、多机型分别针对和彩云App的关键质量指标进行性能数据采集,并将数据汇总至中央数据库,对和彩云的性能表现开展监控,挖掘产品潜在的性能短板,保障用户的使用体验。通过地域这一维度,可以清晰反映和彩云在全国各省的性能表现,有助于开展分省的点对点性能提升【6】,具体见图4、图5。4 结语通过搭建该互联网产品品质监控系统,实现了个人云盘产品的自动化关键性能指标的采集、处理与存档,一方面相对人工拨测更加高效,一方面相对效劳器数据监控更加直观,便于直接观察到性能指标的变动情况,对产品的改动、运营的调整能很快得到测试数据的反响。另外,通过将该系统进行分省部署,结合不同地域、不同网络、不同设备环境下产品性能数据的比照,可实现对产品性能情况的全面把握。参考文献【1】雷建胜,苏晓,金明磊.一种分布式可持续集成自动化测试平台J.计算机与现代化,20214:14-18.【2】王真.版本控制工具在软件开发工程管理中的應用以GIT为例J.工程管理技术,2021,186

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论