• 
    

    
    

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

      一種基于數(shù)據(jù)工廠和CDC的測試數(shù)據(jù)聚合分析及還原的方法和系統(tǒng)

      2021-03-25 10:48:26王語杰歐陽鵬辛存生沈桐喬子真
      新型工業(yè)化 2021年12期
      關(guān)鍵詞:測試人員測試數(shù)據(jù)字段

      王語杰,歐陽鵬,辛存生,沈桐,喬子真

      (1.國網(wǎng)匯通金財(北京)信息科技有限公司,北京 100053;2.國網(wǎng)電子商務(wù)有限公司,北京 100053)

      0 引言

      相比于傳統(tǒng)的測試方法,數(shù)據(jù)工廠在幫助測試人員提升測試效率上已經(jīng)有了很大的進步,因此數(shù)據(jù)工廠及其相關(guān)技術(shù)和業(yè)務(wù)在過去幾年得以推廣,并且已經(jīng)開始應(yīng)用于各種實際的測試場景中,如大批量數(shù)據(jù)多表關(guān)聯(lián)的測試場景、高并發(fā)的壓力測試場景等,已經(jīng)成為測試開發(fā)人員最關(guān)注的測試工具之一[1]。

      但是由于數(shù)據(jù)工廠這個解決方案本身還處在發(fā)展階段,所以在設(shè)計上依然存在許多可以優(yōu)化的方向。傳統(tǒng)的數(shù)據(jù)工廠僅負(fù)責(zé)生成數(shù)據(jù),在測試過程中需要測試人員手工查看哪些數(shù)據(jù)發(fā)生了哪些變化,是否符合預(yù)期;如果測試過程中發(fā)現(xiàn)問題則需要手動還原數(shù)據(jù),而對于批服務(wù)測試和壓力測試,測試人員有時希望能夠快速地把測試數(shù)據(jù)重置為初始狀態(tài)。因此,本發(fā)明旨在在數(shù)據(jù)工廠的基礎(chǔ)上解決如下兩個問題:一是對于測試中測試數(shù)據(jù)及其關(guān)聯(lián)數(shù)據(jù)的狀態(tài)變動的監(jiān)控和顯示;二是當(dāng)測試結(jié)果并不符合預(yù)期或者測試場景需要時,將測試數(shù)據(jù)及其關(guān)聯(lián)數(shù)據(jù)恢復(fù)成初始狀態(tài)。

      1 行業(yè)現(xiàn)狀

      目前已經(jīng)投入給測試人員使用的數(shù)據(jù)工廠大體分為兩大類型,一種是主要提供自動生成測試數(shù)據(jù)的方法,其能夠根據(jù)實際場景的需要,向數(shù)據(jù)庫大批量地寫入測試數(shù)據(jù),從而幫助測試人員提高數(shù)據(jù)的生成效率和質(zhì)量[2]。另一種則將測試中需要用到的數(shù)據(jù)以數(shù)據(jù)模板的形式統(tǒng)一管理,在自動化測試系統(tǒng)中,實現(xiàn)測試數(shù)據(jù)的記錄,保存,復(fù)用等功能,也可以整體性地提高測試的效率以及自動化系統(tǒng)的代碼復(fù)用率[3]。

      然而現(xiàn)存的方法都僅關(guān)注測試數(shù)據(jù)的生成和復(fù)用,在實際應(yīng)用中對于測試人員來說存在大量的問題:

      一是因為傳統(tǒng)的數(shù)據(jù)工廠僅負(fù)責(zé)批量生成符合測試要求的數(shù)據(jù)[4],但是對于測試過程中后續(xù)的流程沒有任何參與,測試人員往往需要手工對測試數(shù)據(jù)進行一一校驗,而這個過程往往十分耗時耗力,占用大量測試資源。

      二是傳統(tǒng)的測試人員人工校驗測試數(shù)據(jù)變動情況時,一般只能獲取測試完成后的數(shù)據(jù)終態(tài),對測試過程中的數(shù)據(jù)變化,無法有效的捕獲和分析。

      三是由于難以保證開發(fā)人員的代碼是正確的,如果測試過程中發(fā)生錯誤需要重新進行測試,而測試數(shù)據(jù)已經(jīng)產(chǎn)生了一定程度的變化,會影響到后續(xù)的測試進程,導(dǎo)致測試人員需要手工刪除批量插入的數(shù)據(jù)及其流轉(zhuǎn)過程中產(chǎn)生的新數(shù)據(jù),占用大量的測試時間并且容易出現(xiàn)錯刪漏刪的現(xiàn)象。

      2 解決方案

      本文提出的方案按功能劃分由以下六個模塊組成:

      (1)抽數(shù)提取模塊。抽數(shù)提取模塊用于將數(shù)據(jù)庫表變動的信息明細(xì)提供給聚合分析模塊使用。其原理是利用CDC抽數(shù)獲得數(shù)據(jù)變化的日志信息,依據(jù)日志中的數(shù)據(jù)變化明細(xì)生成操作表、操作類型、操作前后狀態(tài)等信息,然后發(fā)送至消息隊列中間件。

      (2)數(shù)據(jù)工廠模塊。數(shù)據(jù)工廠負(fù)責(zé)創(chuàng)建單條或批量生成數(shù)據(jù)的任務(wù),并將數(shù)據(jù)生成任務(wù)與數(shù)據(jù)生成的結(jié)果關(guān)聯(lián)起來,便于后續(xù)針對單個數(shù)據(jù)生成任務(wù)進行監(jiān)控和聚合分析。

      (3)監(jiān)控配置模塊。針對某個數(shù)據(jù)生成任務(wù)中生成的某些數(shù)據(jù),即需要關(guān)注的測試數(shù)據(jù),可以設(shè)定特定的監(jiān)控和聚合分析配置規(guī)則,如監(jiān)控流水表中支付狀態(tài)字段的插入和更新情況,隨后便可以以表名、監(jiān)控字段和操作類型為標(biāo)記進行聚合統(tǒng)計分析。此模塊生成的配置規(guī)則,會傳遞到聚合分析模塊后生效。

      (4)聚合分析模塊。如圖1所示當(dāng)聚合分析模塊從消息隊列中間件獲取數(shù)據(jù)后,會根據(jù)監(jiān)控配置模塊配置的規(guī)則,篩選過濾特定表、特定操作類型及關(guān)注字段的變動信息,進行數(shù)據(jù)歸類匯總并進行數(shù)量和比例的統(tǒng)計,從業(yè)務(wù)角度統(tǒng)計出測試過程中數(shù)據(jù)表中數(shù)據(jù)的變動。

      圖1 數(shù)據(jù)流轉(zhuǎn)關(guān)系圖

      (5)數(shù)據(jù)恢復(fù)模塊。數(shù)據(jù)恢復(fù)模塊可以依據(jù)數(shù)據(jù)流轉(zhuǎn)關(guān)系,即測試流程中數(shù)據(jù)的傳遞和變化涉及的,自動在數(shù)據(jù)批量生成開始前生成備份表,支持?jǐn)?shù)據(jù)恢復(fù)和備份表自動刪除等功能。

      (6)交互展示模塊。交互展示模塊可以配置需要監(jiān)控的數(shù)據(jù)表、操作類型、關(guān)注字段等配置,同時會將數(shù)據(jù)表變動的結(jié)果直觀地展示出來。

      整個系統(tǒng)執(zhí)行的流程步驟如圖2所示:

      圖2 系統(tǒng)流程圖

      步驟1:測試人員在測試平臺中的數(shù)據(jù)工廠模塊配置需要批量添加的數(shù)據(jù),并添加數(shù)據(jù)流轉(zhuǎn)相關(guān)的表,點擊生成后自動對相關(guān)表進行備份,隨后開始批量生成數(shù)據(jù),生成數(shù)據(jù)結(jié)束后配置要監(jiān)控的數(shù)據(jù)表、操作類型、關(guān)注字段等信息并點擊開始監(jiān)控。

      步驟2:測試平臺在收到開始監(jiān)控的命令后會開始獲取消息隊列中間件中當(dāng)前時間之后的數(shù)據(jù)變動信息,并根據(jù)配置的聚合分析規(guī)則開始實時聚合分析。

      步驟3:當(dāng)測試過程結(jié)束后,測試人員點擊監(jiān)控結(jié)束,平臺接收到請求后終止接收消息隊列中間件數(shù)據(jù),并將期間收集到的信息,依據(jù)數(shù)據(jù)表、操作類型、關(guān)注字段等配置將數(shù)據(jù)歸類匯總,生成測試過程中數(shù)據(jù)流轉(zhuǎn)的整體結(jié)果,并展示在前端頁面。

      步驟4:測試人員依據(jù)前端展示的數(shù)據(jù)流轉(zhuǎn)結(jié)果對測試結(jié)果進行判斷,如果認(rèn)為結(jié)果存在問題,則可以點擊數(shù)據(jù)恢復(fù),平臺收到請求后會清空關(guān)聯(lián)的所有數(shù)據(jù)庫表,并將備份表中數(shù)據(jù)復(fù)制進原表中;如果認(rèn)為測試結(jié)果不存在問題,則在一段時間后,自動刪除該備份表。

      要實現(xiàn)數(shù)據(jù)庫表數(shù)據(jù)監(jiān)控還可以通過觸發(fā)器實現(xiàn),而CDC抽數(shù)相對觸發(fā)器的方式有以下優(yōu)點:

      (1)通過CDC抽數(shù)的方式更加容易實現(xiàn)[5-6],只需要配置CDC即可將數(shù)據(jù)發(fā)送至消息隊列中間件,而觸發(fā)器需要針對表和字段進行配置,需要表級、字段級去手動維護,需要使用JMS監(jiān)聽Oracle AQ才可以實現(xiàn)相同的效果。

      (2)成本更低。如圖3所示,CDC本身就可以將數(shù)據(jù)轉(zhuǎn)化為容易處理的json格式,而觸發(fā)器一般需要提供一個轉(zhuǎn)換工廠類將Oracle類型轉(zhuǎn)換為Java類型才可以進行處理。

      圖3 數(shù)據(jù)格式圖

      (3)占用資源更少。觸發(fā)器的使用需要占用額外的數(shù)據(jù)庫及系統(tǒng)資源,而CDC僅捕獲數(shù)據(jù)變化的日志信息,可以一定程度上降低系統(tǒng)資源的消耗。

      3 結(jié)語

      本文提出的方案將數(shù)據(jù)工廠和CDC抽數(shù)相結(jié)合,先通過CDC抽數(shù)將數(shù)據(jù)庫數(shù)據(jù)的變化提取出來,然后通過聚合分析將符合條件的數(shù)據(jù)進行匯總展示,可以方便地查看測試結(jié)果,定位錯誤點,方便代碼優(yōu)化和問題排查。同時對數(shù)據(jù)變動的實時收集和實時分析,使得測試人員能夠在關(guān)注數(shù)據(jù)終態(tài)之外同時關(guān)注測試數(shù)據(jù)的變動過程,擴大測試的有效范圍;同時在生成數(shù)據(jù)時自動對涉及的關(guān)聯(lián)表進行備份,幫助測試人員對數(shù)據(jù)進行還原,更加方便可靠地將測試數(shù)據(jù)初始化。

      猜你喜歡
      測試人員測試數(shù)據(jù)字段
      移動應(yīng)用眾包測試人員信譽度復(fù)合計算模型研究
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      測試數(shù)據(jù)管理系統(tǒng)設(shè)計與實現(xiàn)
      高校分析測試中心測試隊伍建設(shè)方案初探
      山東化工(2018年20期)2018-04-02 16:30:53
      淺析軟件測試中的心理學(xué)應(yīng)用
      基于自適應(yīng)粒子群優(yōu)化算法的測試數(shù)據(jù)擴增方法
      空間co-location挖掘模式在學(xué)生體能測試數(shù)據(jù)中的應(yīng)用
      體育科技(2016年2期)2016-02-28 17:06:21
      CNMARC304字段和314字段責(zé)任附注方式解析
      無正題名文獻著錄方法評述
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      嘉定区| 禄丰县| 平昌县| 磐安县| 沁水县| 临沭县| 长海县| 荥阳市| 米泉市| 合肥市| 璧山县| 东丰县| 寻乌县| 土默特左旗| 祁阳县| 时尚| 云安县| 离岛区| 桂阳县| 嘉义县| 晋江市| 赤壁市| 南雄市| 临邑县| 克山县| 龙川县| 奉节县| 循化| 夹江县| 友谊县| 富裕县| 镇坪县| 平果县| 嘉祥县| 布拖县| 县级市| 蓝田县| 莲花县| 故城县| 阿图什市| 济宁市|