• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2021-08-09 02:06:38黎偉健胡斌柯樹森張建豪區(qū)德成
      科技資訊 2021年12期
      關(guān)鍵詞:自動化測試

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

      摘 ?要:該文以個人云盤為例,基于Jenkins持續(xù)集成框架與ATX自動化測試框架,通過模擬用戶真實操作,在終端設(shè)備上實現(xiàn)個人云盤應(yīng)用的關(guān)鍵性能指標(biāo)自動化測試,并通過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 ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼: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)鍵進程的各項指標(biāo)如CPU、內(nèi)存、帶寬、磁盤狀態(tài)、數(shù)據(jù)庫、業(yè)務(wù)接口等進行實時監(jiān)控,該方法可以精確發(fā)現(xiàn)業(yè)務(wù)運行過程中的各項數(shù)據(jù)異常并進行告警,但主要的不足在于產(chǎn)品實際體驗并不一定與監(jiān)控告警強相關(guān),部分指標(biāo)異常告警時由于業(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手機的自動化需額外準(zhǔn)備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”后,計算機的默認(rèn)瀏覽器啟動weditor界面,在首行處輸入手機序列號(此處為“7b3c713c”),點擊Connect,瀏覽器顯示手機屏幕內(nèi)容。

      (2)獲取控件信息。在手機端啟動和彩云App,切換至“我的”tab,刷新weditor頁面。以“活動中心”控件為例,在頁面上可以看到該控件的className、resourceId、text、Xpath、左上角坐標(biāo)與長寬等屬性(見圖2)。得到以上信息后,可以在ATX框架中對控件進行精準(zhǔn)定位,一般情況下使用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ì)量指標(biāo)進行性能數(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)鍵性能指標(biāo)的采集、處理與存檔,一方面相對人工撥測更加高效,一方面相對服務(wù)器數(shù)據(jù)監(jiān)控更加直觀,便于直接觀察到性能指標(biāo)的變動情況,對產(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.

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

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

      猜你喜歡
      自動化測試
      基于Java反射的APP自動化混合測試框架的研究與實現(xiàn)
      移動通信(2016年22期)2017-03-07 22:22:59
      Hadoop性能測試自動化研究
      數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的研究與應(yīng)用
      軟件(2016年4期)2017-01-20 09:56:35
      淺談空調(diào)控制器自動化測試
      東方教育(2016年7期)2017-01-17 21:28:10
      基于多總線結(jié)構(gòu)的電路板測試系統(tǒng)設(shè)計研究
      價值工程(2016年32期)2016-12-20 20:32:01
      航空航天與國防電子新形勢下自動化測試系統(tǒng)的應(yīng)用
      價值工程(2016年29期)2016-11-14 02:40:46
      基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動化測試框架的設(shè)計與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:45:45
      自動化測試實現(xiàn)研究
      中國市場(2016年34期)2016-10-15 04:20:40
      天線伺服自動化測試系統(tǒng)的設(shè)計與應(yīng)用
      一種航空交換機中CAN總線的自動化測試方法
      邓州市| 建德市| 永胜县| 仪陇县| 澳门| 嘉黎县| 民权县| 田东县| 青川县| 南溪县| 小金县| 博罗县| 合江县| 沅江市| 竹溪县| 新干县| 紫金县| 铁力市| 肃南| 施秉县| 若尔盖县| 方城县| 丹东市| 三江| 资兴市| 阳泉市| 勐海县| 冷水江市| 赣榆县| 元朗区| 四会市| 军事| 奉新县| 台湾省| 抚州市| 保康县| 永靖县| 伊春市| 依兰县| 砀山县| 长武县|