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—),男,本科,助理工程師,研究方向為軟件工程。

主站蜘蛛池模板: 亚洲精品午夜无码电影网| 久久特级毛片| 国产欧美视频综合二区| 看你懂的巨臀中文字幕一区二区| 亚洲国产成人无码AV在线影院L| 亚洲综合经典在线一区二区| 国产精品短篇二区| 婷婷在线网站| 国产制服丝袜91在线| 久久99精品国产麻豆宅宅| 亚洲青涩在线| 亚洲高清中文字幕| 人妻少妇久久久久久97人妻| 午夜小视频在线| 国产香蕉97碰碰视频VA碰碰看| 国产精品久久久久久久久久久久| 永久免费AⅤ无码网站在线观看| 72种姿势欧美久久久久大黄蕉| 精品无码日韩国产不卡av| 色欲色欲久久综合网| 无码AV日韩一二三区| 片在线无码观看| 国产99欧美精品久久精品久久| 午夜少妇精品视频小电影| 欧美成人影院亚洲综合图| 美女国产在线| 99国产在线视频| 一级成人a做片免费| 无码福利视频| 国产亚洲精品精品精品| 2020国产精品视频| 亚洲国产天堂在线观看| 欧美日韩国产成人在线观看| 欧美五月婷婷| 九色视频一区| 色香蕉网站| 国产一区二区精品高清在线观看| 99在线观看国产| 欧美激情一区二区三区成人| 女人爽到高潮免费视频大全| 欧美日韩一区二区在线播放 | 中文字幕人妻av一区二区| 日韩精品久久久久久久电影蜜臀| 99热线精品大全在线观看| 乱系列中文字幕在线视频| 一本色道久久88综合日韩精品| 无码日韩精品91超碰| 99久久精品无码专区免费| 日本伊人色综合网| 视频二区亚洲精品| 欧美自拍另类欧美综合图区| 中文字幕亚洲电影| 日韩在线影院| 成人噜噜噜视频在线观看| a级毛片毛片免费观看久潮| 91小视频在线观看| 九九精品在线观看| 国产中文一区二区苍井空| 啦啦啦网站在线观看a毛片| 久久免费视频播放| 亚洲国产日韩视频观看| 国产精品视频a| 中文字幕亚洲乱码熟女1区2区| 亚洲资源站av无码网址| 精品成人一区二区三区电影 | 国产精品无码一二三视频| 中文一区二区视频| 2021无码专区人妻系列日韩| 亚洲侵犯无码网址在线观看| 日韩在线永久免费播放| 成人毛片免费观看| 久久天天躁狠狠躁夜夜2020一| 亚洲a免费| 国产三级国产精品国产普男人 | 国产成人高清精品免费5388| 成人午夜免费视频| 亚洲av无码人妻| 国产特级毛片aaaaaaa高清| 亚洲成人福利网站| 亚洲黄色激情网站| 国产特级毛片aaaaaaa高清| 国产全黄a一级毛片|