999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

個人云盤自動化監(jiān)控系統(tǒng)的實現(xiàn)

2021-08-09 02:06:38黎偉健胡斌柯樹森張建豪區(qū)德成
科技資訊 2021年12期

黎偉健 胡斌 柯樹森 張建豪 區(qū)德成

摘 ?要:該文以個人云盤為例,基于Jenkins持續(xù)集成框架與ATX自動化測試框架,通過模擬用戶真實操作,在終端設(shè)備上實現(xiàn)個人云盤應(yīng)用的關(guān)鍵性能指標自動化測試,并通過7×24 h任務(wù)調(diào)度與分省部署,開展分省測試數(shù)據(jù)采集,實現(xiàn)多地域常態(tài)化品質(zhì)監(jiān)控。通過該系統(tǒng)實時獲取個人云盤產(chǎn)品的真實使用數(shù)據(jù),并加以多維度分析,一方面可以發(fā)現(xiàn)產(chǎn)品突發(fā)或潛在的性能缺陷,另一方面也可以快速針對產(chǎn)品功能改動、運營策略調(diào)整得到測試數(shù)據(jù)的反饋,達到全面把控產(chǎn)品關(guān)鍵性能表現(xiàn)的目的。

關(guān)鍵詞:持續(xù)集成 ?自動化測試 ?ATX ?品質(zhì)監(jiān)控

中圖分類號:TP311 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:1672-3791(2021)04(c)-0006-05

Implementation of Automatic Monitoring System for Personal Cloud disk

LI Weijian ?HU Bin ?KE Shusen ?ZHANG Jianhao ?OU Decheng

(Quality Management Department, China Mobile Internet Co., Ltd., Guangzhou, Guangdong Province, 510640 ?China)

Abstract:Taking personal cloud disk as an example, based on Jenkins continuous integration framework and ATX automated testing framework, this paper realizes the automatic testing of the key performance indicators of personal cloud disk application on terminal devices by simulating the real operation of users, and carries out provincial test data collection through 7×24 hour task scheduling and provincial deployment to achieve multi-regional normal quality monitoring. Through the system to obtain the real usage data of personal cloud disk products in real time and make multi-dimensional analysis, on the one hand, we can find sudden or potential performance defects of the product, on the other hand, we can quickly get the feedback of the test data according to the product function change and operation strategy adjustment, so as to achieve the purpose of comprehensively controlling the key performance of the product.

Key Words:Continuous integration; Automated testing; ATX; Quality monitoring

對于運營商的互聯(lián)網(wǎng)應(yīng)用產(chǎn)品來說,產(chǎn)品基礎(chǔ)功能的穩(wěn)定是第一要務(wù)。如何實時感知用戶對產(chǎn)品的實際使用體驗、獲知產(chǎn)品當(dāng)前的基礎(chǔ)功能表現(xiàn)情況,并與歷史數(shù)據(jù)對比來判斷產(chǎn)品當(dāng)前的品質(zhì)表現(xiàn),一直是各互聯(lián)網(wǎng)公司亟待解決的問題。針對這個問題,目前主要有兩種解決方法:人工撥測與服務(wù)器數(shù)據(jù)監(jiān)控。但這兩種方法均存在一定缺陷。

人工撥測主要依賴人力,定期對產(chǎn)品主要功能點進行撥測以判斷是否正常。此方法存在的缺陷顯而易見,手工測試的時間覆蓋粒度大,某個用例被執(zhí)行后需等待較長時間方能再次被執(zhí)行,難以及時發(fā)現(xiàn)異常,若提高覆蓋粒度則人力成本倍增。此外,人工撥測也難以進行7×24 h的實時監(jiān)控。

服務(wù)器數(shù)據(jù)監(jiān)控主要針對服務(wù)器與業(yè)務(wù)關(guān)鍵進程的各項指標如CPU、內(nèi)存、帶寬、磁盤狀態(tài)、數(shù)據(jù)庫、業(yè)務(wù)接口等進行實時監(jiān)控,該方法可以精確發(fā)現(xiàn)業(yè)務(wù)運行過程中的各項數(shù)據(jù)異常并進行告警,但主要的不足在于產(chǎn)品實際體驗并不一定與監(jiān)控告警強相關(guān),部分指標異常告警時由于業(yè)務(wù)系統(tǒng)設(shè)計的冗余機制或自動修復(fù),仍可保證產(chǎn)品功能正常。因此,此方法實際執(zhí)行過程中需熟悉運維工作與業(yè)務(wù)的人員進行告警分析,或輔以人工撥測驗證,未能直接獲知用戶的實際體驗。

綜合以上原因,中移互聯(lián)網(wǎng)有限公司品質(zhì)管理部基于Jenkins持續(xù)集成框架與ATX自動化測試框架,以和彩云App為例搭建了一套互聯(lián)網(wǎng)產(chǎn)品品質(zhì)監(jiān)控系統(tǒng),對以上兩種方法的不足之處進行補充。

1 ?系統(tǒng)特點

該系統(tǒng)基于Jenkins持續(xù)集成框架[1]與ATX自動化測試框架搭建,主要具備以下特點。

(1)基于Jenkins配置定時持續(xù)集成任務(wù),每次執(zhí)行任務(wù)時從Gitlab代碼倉庫拉取最新版本測試腳本執(zhí)行自動化測試,達到7×24 h全天候自動化數(shù)據(jù)采集。

(2)采用控件、文本、圖像、xpath等多種方式對手機設(shè)備進行通用的自動化定位與控制,避免復(fù)雜機型、分辨率帶來的適配難題。

(3)具備高度可拓展性,可簡單拓展至多個分省,開展批量多地數(shù)據(jù)采集。

(4)配合多臺測試終端、用例錯峰執(zhí)行等任務(wù)調(diào)度策略,測A試覆蓋粒度小,可以及時發(fā)現(xiàn)異常,同時因測試過程模擬了用戶真實操作,故能直接定位異常功能點。

(5)多地測試數(shù)據(jù)存儲于同一中央數(shù)據(jù)庫,方便開展多維度數(shù)據(jù)分析,尋找產(chǎn)品潛在問題。

2 ?方案設(shè)計

該系統(tǒng)主要由統(tǒng)一代碼庫、持續(xù)集成平臺、測試終端、數(shù)據(jù)存儲系統(tǒng)與數(shù)據(jù)分析工具組成,系統(tǒng)架構(gòu)見圖1。

2.1 代碼庫管理

為方便多人協(xié)作開發(fā)測試腳本、多測試節(jié)點實時保持腳本更新,該方法使用代碼版本控制VCS[2](Version Control System)進行代碼庫管理。該司已采用基于分布式代碼管理系統(tǒng)Git實現(xiàn)的Gitlab進行開發(fā)團隊的統(tǒng)一代碼管理,該方法使用公司Gitlab創(chuàng)建獨立代碼倉庫進行代碼管理與版本控制,Gitlab的使用方法該文不進行贅述。

2.2 持續(xù)集成平臺

該系統(tǒng)采用主流的持續(xù)集成平臺Jenkins作為中心管理系統(tǒng)。Jenkins是一個用Java編寫的開源工具,可以自動化開展集成、測試、部署等重復(fù)性工作,且具備友好的GUI配置界面與操作界面。在該系統(tǒng)中主要利用Jenkins的自動化特性,承擔(dān)任務(wù)調(diào)度工作以及報告定期輸出。

2.3 測試終端

該系統(tǒng)主要針對移動端App開展品質(zhì)監(jiān)控,所以該系統(tǒng)的測試終端主要包括Android與iOS兩種系統(tǒng)的手機。其中Android設(shè)備無需root,但需開啟調(diào)試模式;執(zhí)行iOS手機的自動化需額外準備Mac系統(tǒng)的服務(wù)器與iOS開發(fā)者賬號。

2.4 數(shù)據(jù)存儲系統(tǒng)與分析工具

基于該系統(tǒng)的數(shù)據(jù)規(guī)模與使用需求,采用MySQL數(shù)據(jù)庫作為數(shù)據(jù)存儲系統(tǒng)。MySQL支持多線程,可以充分利用CPU,性能表現(xiàn)出色。分析工具方面,MySQL數(shù)據(jù)庫也提供了豐富的API接口并支持多種開發(fā)語言,該系統(tǒng)使用Python進行分析工具開發(fā)。

2.5 自動化測試框架

ATX是一個基于Python語言的開源自動化測試框架[3],可以實現(xiàn)對Android與iOS手機的自動化操作,如運行App、獲取App控件屬性、點擊屏幕、輸入文本等。該系統(tǒng)通過ATX的自動化接口,模擬真實用戶操作對手機進行自動化控制。

3 ?實例研究

以該司產(chǎn)品和彩云Android客戶端App為例,采用上文介紹的互聯(lián)網(wǎng)產(chǎn)品監(jiān)控系統(tǒng)設(shè)計方案,完成環(huán)境搭建、測試代碼編寫、任務(wù)調(diào)度與測試結(jié)果輸出,并展示部分歷史數(shù)據(jù)分析結(jié)果。

3.1 持續(xù)集成平臺與數(shù)據(jù)庫搭建

分別從Jenkins官網(wǎng)(https://www.jenkins.io/download/)與MySQL官網(wǎng)(https://www.mysql.com/downloads/)下載安裝包,推送至Linux服務(wù)器上完成安裝并部署服務(wù)。

3.2 測試代碼編寫

3.2.1 安裝ATX自動化測試框架

ATX是一個開源的Python第三方庫,安裝之前需確保計算機安裝了Python環(huán)境。在命令行界面下,分別通過pip安裝atx、weditor、opencv-python等組件。

3.2.2 通過ATX連接手機

(1)通過ADB連接Android手機。

Android手機在設(shè)置菜單的開發(fā)者選項中開啟USB調(diào)試后,通過數(shù)據(jù)線連接計算機,在命令提示符窗口輸入“adb devices”命令,若得到以下信息,則表示已成功連接(7b3c713c為示例手機的序列號)。

List of devices attached

7b3c713c ? ? ? ?device

(2)測試手機安裝ATX組件。

在命令提示符窗口輸入“python -m uiautomator2 init”,若得到以下信息,則表示測試手機已成功安裝ATX組件。

Successfully init AdbDevice(serial=7b3c713c)

3.2.3 App控件信息獲取

ATX框架提供了weditor組件用于App控件的獲取,這種基于App控件的點擊方式擺脫了手機屏幕尺寸與分辨率的限制。

(1)啟動weditor。在命令提示符窗口輸入“python -m weditor”后,計算機的默認瀏覽器啟動weditor界面,在首行處輸入手機序列號(此處為“7b3c713c”),點擊Connect,瀏覽器顯示手機屏幕內(nèi)容。

(2)獲取控件信息。在手機端啟動和彩云App,切換至“我的”tab,刷新weditor頁面。以“活動中心”控件為例,在頁面上可以看到該控件的className、resourceId、text、Xpath、左上角坐標與長寬等屬性(見圖2)。得到以上信息后,可以在ATX框架中對控件進行精準定位,一般情況下使用resourceId與text等屬性;若頁面出現(xiàn)多個相同resourceId且不具備text屬性的控件時,可以使用Xpath屬性。

3.2.4 執(zhí)行自動化操作

以和彩云App為例,模擬用戶啟動和彩云并進行文件下載的簡單代碼[4-5],具體見圖3。后續(xù)可通過數(shù)據(jù)庫操作代碼、監(jiān)控告警代碼等可以將數(shù)據(jù)進行進一步處理。

上述代碼使用resourceId與text兩個控件屬性對和彩云App客戶端的頁面控件元素進行了定位與點擊操作,并通過查找toast的方式來判斷執(zhí)行結(jié)果。而ATX除了模擬定位、點擊等操作外,還支持模擬雙擊、拖曳、長按、輸入文本等常見用戶操作。

3.3 Jenkins任務(wù)配置

通過ATX模擬用戶真實操作,完成和彩云一系列主要功能如登錄、文件上傳、文件下載、圖片預(yù)覽、視頻觀看等測試代碼編寫后,將其提交至Gitlab項目主分支,在Jenkins任務(wù)中,配置Gitlab項目地址與賬號密碼與定時構(gòu)建功能。至此,系統(tǒng)已初步搭建完成,Jenkins根據(jù)定時規(guī)則,7×24h訪問Gitlab獲取最新代碼,并通過在測試手機上執(zhí)行代碼,獲取最接近客戶感知的真實測試數(shù)據(jù),存儲進MySQL數(shù)據(jù)庫。

3.4 結(jié)果分析

通過將該系統(tǒng)進行分省部署,從多地域、多網(wǎng)絡(luò)、多機型分別針對和彩云App的關(guān)鍵質(zhì)量指標進行性能數(shù)據(jù)采集,并將數(shù)據(jù)匯總至中央數(shù)據(jù)庫,對和彩云的性能表現(xiàn)開展監(jiān)控,挖掘產(chǎn)品潛在的性能短板,保障用戶的使用體驗。通過地域這一維度,可以清晰反映和彩云在全國各省的性能表現(xiàn),有助于開展分省的點對點性能提升[6],具體見圖4、圖5。

4 ?結(jié)語

通過搭建該互聯(lián)網(wǎng)產(chǎn)品品質(zhì)監(jiān)控系統(tǒng),實現(xiàn)了個人云盤產(chǎn)品的自動化關(guān)鍵性能指標的采集、處理與存檔,一方面相對人工撥測更加高效,一方面相對服務(wù)器數(shù)據(jù)監(jiān)控更加直觀,便于直接觀察到性能指標的變動情況,對產(chǎn)品的改動、運營的調(diào)整能很快得到測試數(shù)據(jù)的反饋。另外,通過將該系統(tǒng)進行分省部署,結(jié)合不同地域、不同網(wǎng)絡(luò)、不同設(shè)備環(huán)境下產(chǎn)品性能數(shù)據(jù)的對比,可實現(xiàn)對產(chǎn)品性能情況的全面把握。

參考文獻

[1] 雷建勝,蘇曉,金明磊.一種分布式可持續(xù)集成自動化測試平臺[J].計算機與現(xiàn)代化,2020(4):14-18.

[2] 王真.版本控制工具在軟件開發(fā)項目管理中的應(yīng)用——以GIT為例[J].項目管理技術(shù),2020,18(6):

131-134.

[3] 蔡維婷,黎偉健,范敏.Android自動化測試工具鏈的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2018,35(11):

194-198.

[4] 梁俊.基于Selenium與TestNG的自動化測試框架的設(shè)計與實現(xiàn)[D].山東科技大學(xué),2018.

[5] Chun W.Python核心編程[M].孫波翔,李斌,李晗,譯.3版.北京:人民郵電出版社,2016:198-255.

[6] 柳萌萌,趙書良,韓玉輝,等.多尺度數(shù)據(jù)挖掘方法[J].軟件學(xué)報,2016,27(12):3030-3050.

①作者簡介:黎偉健(1973—),男,碩士,高級工程師,研究方向為信息技術(shù)。

區(qū)德成(1993—),男,本科,助理工程師,研究方向為軟件工程。

主站蜘蛛池模板: 91视频精品| 国产精品无码作爱| 永久免费精品视频| 亚洲欧美国产五月天综合| 麻豆精品在线| 99青青青精品视频在线| 国产日本视频91| 国产午夜一级毛片| 香蕉视频国产精品人| 高清无码手机在线观看| 国产精品久久久久久久伊一| 九九热精品视频在线| 精品無碼一區在線觀看 | 美女扒开下面流白浆在线试听 | 99免费在线观看视频| 福利国产在线| 天堂成人av| 亚洲美女高潮久久久久久久| 青青操视频免费观看| 日本欧美成人免费| 这里只有精品在线播放| 国产丰满大乳无码免费播放| 国产成人综合亚洲欧美在| 久久国产免费观看| AV老司机AV天堂| 亚洲综合专区| 久久人人97超碰人人澡爱香蕉| 日本在线国产| 呦系列视频一区二区三区| 亚洲成人一区二区三区| 久久精品人人做人人爽电影蜜月| 午夜视频在线观看免费网站 | 国产美女自慰在线观看| 激情国产精品一区| 色综合成人| 真实国产乱子伦视频| 国产精品亚洲片在线va| 二级毛片免费观看全程| 99无码中文字幕视频| 国产成人精品一区二区三在线观看| 一级片一区| 成人在线观看一区| 国产第三区| a色毛片免费视频| 国产精品自在线天天看片| 精品综合久久久久久97超人该| 国产av无码日韩av无码网站| 国产免费人成视频网| 在线精品亚洲一区二区古装| 蜜桃臀无码内射一区二区三区| 一本色道久久88亚洲综合| 久久一日本道色综合久久| 91在线中文| 欧洲日本亚洲中文字幕| 99视频只有精品| 亚洲第一视频网站| 成人午夜久久| 亚洲色成人www在线观看| 国产日韩欧美一区二区三区在线| 青青草原国产精品啪啪视频| 91精品国产91欠久久久久| 欧美日本不卡| 亚洲精品国产成人7777| 亚洲国产精品日韩欧美一区| 亚洲 成人国产| 自拍亚洲欧美精品| 亚洲AV成人一区二区三区AV| 欧美 国产 人人视频| 狠狠色丁香婷婷综合| 亚洲精品国产乱码不卡| 亚洲成人黄色在线观看| 国产高清在线观看91精品| 国产91麻豆视频| 国产欧美精品一区二区| 性做久久久久久久免费看| 伊人久久精品亚洲午夜| 国产麻豆91网在线看| 欧美亚洲欧美| 精品伊人久久大香线蕉网站| 永久免费无码日韩视频| 欧美va亚洲va香蕉在线| 97超碰精品成人国产|