亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

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

        中圖分類號(hào):TP311 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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

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

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

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

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

        1 ?系統(tǒng)特點(diǎn)

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

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

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

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

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

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

        2 ?方案設(shè)計(jì)

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

        2.1 代碼庫管理

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

        2.2 持續(xù)集成平臺(tái)

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

        2.3 測(cè)試終端

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

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

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

        2.5 自動(dòng)化測(cè)試框架

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

        3 ?實(shí)例研究

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

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

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

        3.2 測(cè)試代碼編寫

        3.2.1 安裝ATX自動(dòng)化測(cè)試框架

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

        3.2.2 通過ATX連接手機(jī)

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

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

        List of devices attached

        7b3c713c ? ? ? ?device

        (2)測(cè)試手機(jī)安裝ATX組件。

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

        Successfully init AdbDevice(serial=7b3c713c)

        3.2.3 App控件信息獲取

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

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

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

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

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

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

        3.3 Jenkins任務(wù)配置

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

        3.4 結(jié)果分析

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

        4 ?結(jié)語

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

        參考文獻(xiàn)

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

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

        131-134.

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

        194-198.

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

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

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

        ①作者簡介:黎偉?。?973—),男,碩士,高級(jí)工程師,研究方向?yàn)樾畔⒓夹g(shù)。

        區(qū)德成(1993—),男,本科,助理工程師,研究方向?yàn)檐浖こ獭?/p>

        98色花堂国产精品首页| 国产成人午夜福利在线观看| 末成年女a∨片一区二区| 国产精品丝袜黑色高跟鞋| 中文字幕一区韩国三级| 人妻少妇偷人精品一区二区| 久久中文骚妇内射| 丰满少妇被猛男猛烈进入久久| 国产精品99久久国产小草| 91亚洲夫妻视频网站| 巨爆中文字幕巨爆区爆乳| 一区二区三区蜜桃av| 国产成人小视频| 狠狠躁夜夜躁人人爽天天不卡软件| 亚洲AV无码国产精品久久l| 国产一区二区不卡av| 丰满人妻被两个按摩师| 亚洲精品国偷自产在线99正片| 在线亚洲AV成人无码一区小说| 国产一区二区三区精品乱码不卡| 国产精品永久在线观看| 久久久www成人免费无遮挡大片| a午夜国产一级黄片| 视频一区视频二区自拍偷拍| 人妻洗澡被强公日日澡电影| 小12萝8禁在线喷水观看| 中文字幕无码免费久久| 亚洲天堂av一区二区| 帮老师解开蕾丝奶罩吸乳网站| 99热在线精品播放| 自拍偷拍另类三级三色四色| 人妻诱惑中文字幕在线视频| 情侣黄网站免费看| 亚洲一区二区在线视频播放| 在线观看的a站免费完整版| 午夜性色一区二区三区不卡视频| 国产精品高潮呻吟av久久无吗| 亚洲综合精品在线观看中文字幕 | 十八岁以下禁止观看黄下载链接| 日本精品久久性大片日本| 丝袜美腿亚洲综合一区|