国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      業(yè)務(wù)鏈路自動(dòng)化覆蓋方法和裝置與流程

      文檔序號(hào):11959584閱讀:474來(lái)源:國(guó)知局
      業(yè)務(wù)鏈路自動(dòng)化覆蓋方法和裝置與流程

      本公開(kāi)涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,具體涉及一種測(cè)試方法,特別涉及一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法和裝置。



      背景技術(shù):

      隨著計(jì)算機(jī)應(yīng)用技術(shù)的迅猛發(fā)展,常常通過(guò)實(shí)現(xiàn)各種業(yè)務(wù)來(lái)為人們提供各種各種樣的服務(wù)。對(duì)于業(yè)務(wù)的實(shí)現(xiàn)而言,其大都是涉及多部門(mén)或者多團(tuán)隊(duì)的項(xiàng)目。換而言之,業(yè)務(wù)所提供的服務(wù)將是由多個(gè)功能模塊實(shí)現(xiàn)的,各功能模塊均有負(fù)責(zé)的部門(mén)或者團(tuán)隊(duì)。

      在大多數(shù)情況下,部門(mén)或者團(tuán)隊(duì)僅會(huì)對(duì)自己負(fù)責(zé)的功能模塊做一些自動(dòng)化測(cè)試用例,以覆蓋對(duì)外接口調(diào)用部分的檢查。

      由此,對(duì)于多部門(mén)或者多團(tuán)隊(duì)所實(shí)現(xiàn)的業(yè)務(wù)而言,不同部門(mén)或者不同團(tuán)隊(duì)做的自動(dòng)化測(cè)試用例并沒(méi)有成體系的關(guān)聯(lián)起來(lái),而是零散存在的,因此,業(yè)務(wù)中自動(dòng)化測(cè)試的實(shí)現(xiàn)存在著缺乏整體性的局限性。



      技術(shù)實(shí)現(xiàn)要素:

      為了解決相關(guān)技術(shù)中存在的業(yè)務(wù)中自動(dòng)化測(cè)試的實(shí)現(xiàn)存在著缺乏整體性的技術(shù)問(wèn)題,本公開(kāi)提供了一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法和裝置。

      一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法,包括:

      在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包;

      獲取所述業(yè)務(wù)鏈路上的功能模塊;

      將抓取得到的所述通訊包轉(zhuǎn)換成與所述功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合。

      一種業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置,所述裝置包括:

      監(jiān)聽(tīng)模塊,用于在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包;

      功能獲取模塊,用于獲取所述業(yè)務(wù)鏈路上的功能模塊;

      轉(zhuǎn)換模塊,用于將抓取得到的所述通訊包轉(zhuǎn)換成與所述功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合。

      本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:

      對(duì)于多個(gè)功能模塊所實(shí)現(xiàn)的業(yè)務(wù),將在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取自身業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包,獲取業(yè)務(wù)鏈路上的功能模塊,將抓取得到的通訊包轉(zhuǎn)換成與功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合,由此使得自動(dòng)化測(cè)試用例組合是與業(yè)務(wù)的多個(gè)功能模塊相匹配的,因此,提高了業(yè)務(wù)中實(shí)現(xiàn)自動(dòng)化測(cè)試的整體性。

      應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開(kāi)。

      附圖說(shuō)明

      此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并于說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。

      圖1是根據(jù)本公開(kāi)所涉及的實(shí)施環(huán)境的示意圖;

      圖2是根據(jù)一示例性實(shí)施例示出的一種裝置的框圖;

      圖3是根據(jù)一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法的流程圖;

      圖4是根據(jù)一示例性實(shí)施例示出的對(duì)在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包步驟的細(xì)節(jié)進(jìn)行的描述的流程圖;

      圖5是根據(jù)一示例性實(shí)施例示出的對(duì)將抓取得到的通訊包轉(zhuǎn)換成與功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合步驟的細(xì)節(jié)進(jìn)行的描述的流程圖;

      圖6是一業(yè)務(wù)實(shí)現(xiàn)從系統(tǒng)層面上看的功能模塊示意圖;

      圖7是根據(jù)一示例性實(shí)施例對(duì)根據(jù)層級(jí)中待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試用例內(nèi)容,填充自動(dòng)化測(cè)試用例內(nèi)容生成輸入的通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例步驟的細(xì)節(jié)進(jìn)行的描述流程圖;

      圖8是根據(jù)一示例性實(shí)施例示出的對(duì)進(jìn)行通訊包的解析,獲得通訊包對(duì)應(yīng)功能模塊的自動(dòng)化測(cè)試用例內(nèi)容,并存儲(chǔ)步驟的細(xì)節(jié)進(jìn)行的描述的流程圖;

      圖9是一個(gè)示例性實(shí)施例中抓包工具的工作過(guò)程的流程圖;

      圖10是業(yè)務(wù)鏈路中通訊包的示意簡(jiǎn)圖;

      圖11是圖10中將所有功能模塊作為一整體的示意簡(jiǎn)圖;

      圖12是圖10中將所有功能模塊劃分成大模塊的示意簡(jiǎn)圖;

      圖13是圖10中進(jìn)行模塊細(xì)分的示意簡(jiǎn)圖;

      圖14是根據(jù)一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置的框圖

      圖15是圖14對(duì)應(yīng)實(shí)施例中監(jiān)聽(tīng)模塊的框圖;

      圖16是圖14對(duì)應(yīng)實(shí)施例中轉(zhuǎn)換模塊的框圖;

      圖17是圖16對(duì)應(yīng)實(shí)施例中用例生成單元的框圖;

      圖18是圖16對(duì)應(yīng)實(shí)施例中解析單元的框圖。

      具體實(shí)施方式

      這里將詳細(xì)地對(duì)示例性實(shí)施例執(zhí)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。

      圖1是根據(jù)本公開(kāi)所涉及的實(shí)施環(huán)境的示意圖。該實(shí)施環(huán)境包括:至少一個(gè)服務(wù)器110和數(shù)據(jù)中心130。

      服務(wù)器110和數(shù)據(jù)中心130之間的關(guān)聯(lián)方式,包括網(wǎng)絡(luò)協(xié)議以及二者之間往來(lái)的數(shù)據(jù)關(guān)聯(lián)方式。

      圖2是根據(jù)一示例性實(shí)施例示出的一種裝置200的框圖。例如,裝置200可以是圖1所示實(shí)施環(huán)境中的服務(wù)器110。參照?qǐng)D2,裝置200可以包括以下一個(gè)或多個(gè)組件:處理組件202,存儲(chǔ)器204,電源組件206以及通信組件208。

      處理組件202通??刂蒲b置200的整體操作,處理組件202可以包括一個(gè)或多個(gè)處理器210來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件202可以包括一個(gè)或多個(gè)模塊,便于處理組件202和其他組件之間的交互。

      存儲(chǔ)器204被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置200的操作。這些數(shù)據(jù)的示例包括用于在裝置200上操作的任何應(yīng)用程序或方法的指令。存儲(chǔ)器204可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤(pán)或光盤(pán)。存儲(chǔ)器204中還存儲(chǔ)有一個(gè)或多個(gè)模塊,該一個(gè)或多個(gè)模塊被配置成由該一個(gè)或多個(gè)處理器210執(zhí)行,以完成上述圖3、4、圖5、圖7和圖8所對(duì)應(yīng)實(shí)施例的全部或者部分步驟。

      電源組件206為裝置200的各種組件提供電力。電源組件206可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置200生成、管理和分配電力相關(guān)聯(lián)的組件。

      通信組件208被配置為便于裝置200和其他設(shè)備之間有線或無(wú)線方式的通信。在一個(gè)示例性實(shí)施例中,通信組件208經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件208還包括寬帶(UWB)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。

      在示例性實(shí)施例中,裝置200可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。

      圖3是根據(jù)一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法的流程圖。該業(yè)務(wù)鏈路自動(dòng)化覆蓋方法用于圖1所示實(shí)施環(huán)境的服務(wù)器110。如圖3所示,該業(yè)務(wù)鏈路自動(dòng)化覆蓋方法,可以由服務(wù)器110執(zhí)行,可以包括以下步驟。

      在步驟310中,在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包。

      其中,所指的業(yè)務(wù)被部署于多個(gè)機(jī)器中,以用于實(shí)現(xiàn)某些特定服務(wù)。例如,業(yè)務(wù)被部署于服務(wù)器集群中,通過(guò)用戶與服務(wù)器集群之間的數(shù)據(jù)交互來(lái)實(shí)現(xiàn)其相應(yīng)服務(wù)。對(duì)于部署于多個(gè)機(jī)器中的業(yè)務(wù),其將相應(yīng)形成業(yè)務(wù)鏈路,并且是通過(guò)業(yè)務(wù)鏈路上各功能模塊的相互配合來(lái)實(shí)現(xiàn)此業(yè)務(wù)所能夠提供的服務(wù)。

      基于此,業(yè)務(wù)鏈路上存在著若干個(gè)通訊包,例如,業(yè)務(wù)鏈路上輸入的通訊包和最終輸出的通訊包,以完成一請(qǐng)求回路。

      通過(guò)部署業(yè)務(wù)的機(jī)器所實(shí)現(xiàn)的業(yè)務(wù)鏈路上,通訊包是由機(jī)器中配置的端口輸入或者輸出的,因此,為實(shí)現(xiàn)業(yè)務(wù)鏈路上測(cè)試用例的自動(dòng)化覆蓋,將進(jìn)行部署業(yè)務(wù)的機(jī)器中端口的監(jiān)聽(tīng),以抓取通訊包。

      進(jìn)一步的,業(yè)務(wù)鏈路上的多個(gè)功能模塊是相互關(guān)聯(lián)的,并且功能模塊是通過(guò)一通訊包的輸入和另一通訊包的輸出來(lái)實(shí)現(xiàn)其自身功能的。對(duì)于功能模塊所進(jìn)行的通訊包輸入和輸出,都是通過(guò)機(jī)器上配置的端口實(shí)現(xiàn)的。因此,通過(guò)進(jìn)行端口的監(jiān)聽(tīng),能夠抓取得到業(yè)務(wù)鏈路上的通訊包,并且基于相互關(guān)聯(lián)的功能模塊,所抓取得到的通訊包也是相互關(guān)聯(lián)的。

      在步驟330中,獲取業(yè)務(wù)鏈路上的功能模塊。

      其中,所獲取的功能模塊是指業(yè)務(wù)鏈路上的多個(gè)功能模塊。換而言之,多個(gè)功能模塊所實(shí)現(xiàn)功能之間的相互配合便實(shí)現(xiàn)了業(yè)務(wù)所提供的服務(wù)。

      在步驟350中,將抓取得到的通訊包轉(zhuǎn)換成與功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合。

      其中,根據(jù)功能模塊的層級(jí)劃分來(lái)使用相應(yīng)的通訊包生成自動(dòng)化測(cè)試用例組合。由于無(wú)論功能模塊如何進(jìn)行層級(jí)劃分,其都構(gòu)成整個(gè)業(yè)務(wù)鏈路,因此,由此所生成的自動(dòng)化測(cè)試用例便也覆蓋了整個(gè)業(yè)務(wù)鏈路,進(jìn)而保證了業(yè)務(wù)中自動(dòng)化測(cè)試的整體性。

      需要說(shuō)明的是,自動(dòng)化測(cè)試用例組合包括多個(gè)相互關(guān)聯(lián)的自動(dòng)化測(cè)試用例,此自動(dòng)化測(cè)試用例將是根據(jù)功能模塊的層級(jí)劃分而生成的,由此將與業(yè)務(wù)鏈路的功能模塊相匹配。

      通訊包存在著源網(wǎng)絡(luò)地址和目的網(wǎng)絡(luò)地址、端口信息以及業(yè)務(wù)數(shù)據(jù)。因此,可作為相應(yīng)功能模塊的自動(dòng)化測(cè)試用例的測(cè)試數(shù)據(jù),以生成自動(dòng)化測(cè)試用例。

      功能模塊的層級(jí)劃分指的是對(duì)業(yè)務(wù)鏈路上的多個(gè)功能模塊按照其各自的分布情況進(jìn)行的層級(jí)劃分,所劃分的層級(jí)將根據(jù)業(yè)務(wù)的實(shí)際運(yùn)營(yíng)情況靈活確定,在此不進(jìn)行限定。

      通過(guò)如上所述的通訊包抓取和通訊包轉(zhuǎn)換獲得業(yè)務(wù)鏈路的自動(dòng)化測(cè)試用例組合。該自動(dòng)化測(cè)試用例組合中包含的自動(dòng)化測(cè)試用例能夠覆蓋業(yè)務(wù)鏈路的各功能模塊,即將各自動(dòng)化測(cè)試用例基于功能模塊成體系的關(guān)聯(lián)起來(lái),而不再是存在于業(yè)務(wù)鏈路上零散的自動(dòng)化測(cè)試用例,避免了業(yè)務(wù)鏈路上的覆蓋缺失,提高整體性。

      圖4是根據(jù)一示例性實(shí)施例示出的對(duì)步驟310的細(xì)節(jié)進(jìn)行的描述。該步驟310用于圖1所示實(shí)施環(huán)境的服務(wù)器110,如圖4所示,該步驟310,可以包括以下步驟。

      在步驟311中,獲取業(yè)務(wù)的配置信息。

      其中,業(yè)務(wù)的配置信息包括各功能模塊所相關(guān)的配置信息。一方面,業(yè)務(wù)的配置信息標(biāo)示了各功能模塊在機(jī)器中配置的端口,該端口用于實(shí)現(xiàn)相應(yīng)功能模塊的通訊包輸入和輸出。

      另一方面,業(yè)務(wù)的配置信息在進(jìn)行業(yè)務(wù)部署時(shí)被存儲(chǔ),業(yè)務(wù)的配置信息中標(biāo)示了業(yè)務(wù)部署的每一機(jī)器自身的配置情況,例如,機(jī)器中的端口配置,其是與記錄的服務(wù)地址相對(duì)應(yīng)的。

      具體的,部署業(yè)務(wù)的機(jī)器中,根據(jù)網(wǎng)卡名獲取本地所對(duì)應(yīng)的服務(wù)地址,即網(wǎng)卡名所對(duì)應(yīng)機(jī)器的服務(wù)地址,由此根據(jù)服務(wù)地址即可獲得存儲(chǔ)的業(yè)務(wù)的配置信息。

      在步驟313中,根據(jù)機(jī)器的服務(wù)地址從配置信息獲取對(duì)應(yīng)的端口。

      其中,首先獲取部署業(yè)務(wù)的機(jī)器所對(duì)應(yīng)的服務(wù)地址,根據(jù)服務(wù)地址得以在配置信息中獲取對(duì)應(yīng)的端口,此獲取得到的端口即為服務(wù)器中為實(shí)現(xiàn)業(yè)務(wù)的部署而配置的端口,例如,對(duì)于根據(jù)一機(jī)器的服務(wù)地址從配置信息獲取得到的端口而言,其包括了業(yè)務(wù)鏈路上運(yùn)行在這一機(jī)器的功能模塊所對(duì)應(yīng)的輸入端口和輸出端口。

      在具體實(shí)現(xiàn)中,配置信息存儲(chǔ)于與數(shù)據(jù)中心綁定的機(jī)器,例如,部署了zookeeper(分布式應(yīng)用程序協(xié)調(diào)服務(wù))的機(jī)器,因此,對(duì)于部署業(yè)務(wù)的機(jī)器而言,連接存儲(chǔ)了配置信息的機(jī)器即可以獲取配置信息。

      在步驟315中,對(duì)端口進(jìn)行監(jiān)聽(tīng),抓取端口的通訊包得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包。

      其中,部署業(yè)務(wù)的各機(jī)器都配置了抓包工具,通過(guò)抓包工具進(jìn)行機(jī)器中端口的監(jiān)聽(tīng),以抓取端口中的通訊包。以此類推,對(duì)于形成整個(gè)業(yè)務(wù)鏈路的所有機(jī)器而言,將由各機(jī)器中配置的抓包工具抓取得到通訊包,由此便得各功能模塊所分別對(duì)應(yīng)的若干個(gè)通訊包,其將構(gòu)成業(yè)務(wù)鏈路上完整的請(qǐng)求回路,因此,成為業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包。

      圖5是根據(jù)一示例性實(shí)施例示出的對(duì)步驟350的細(xì)節(jié)進(jìn)行的描述。該步驟350用于圖1所示實(shí)施環(huán)境的服務(wù)器110,如圖5所示,該步驟350,可以包括以下步驟。

      在步驟351中,進(jìn)行功能模塊的層級(jí)劃分得到各層級(jí)包含的待測(cè)試模塊。

      其中,如前所述的,業(yè)務(wù)鏈路上包含了多個(gè)功能模塊,其分布于進(jìn)行業(yè)務(wù)部署的各機(jī)器中。

      例如,如圖6所示的,一業(yè)務(wù)的實(shí)現(xiàn)從系統(tǒng)模塊層面上看,共12個(gè)功能模塊,并由三個(gè)團(tuán)隊(duì)負(fù)責(zé)。

      由此,可對(duì)這12個(gè)功能模塊進(jìn)行層級(jí)劃分,并根據(jù)各層級(jí)中進(jìn)行的通訊包輸入來(lái)獲得此層級(jí)所包含的待測(cè)試模塊。

      比如,將圖6所示的12個(gè)功能模塊劃分為三個(gè)層級(jí),其中,一層級(jí)是將所有功能模塊劃分為一整體,由此所包含的待測(cè)試模塊為功能模塊1;下一層級(jí)是將所有功能模塊劃分成大模塊,即,如圖6中豎線的劃分,由此所包含的待測(cè)試模塊為功能村1、功能模塊5和功能模塊9;再下一層級(jí)是單模塊,即包含的待測(cè)試模塊為各功能模塊。

      通過(guò)如上所述的層級(jí)劃分,構(gòu)建了由業(yè)務(wù)鏈路整體至單模塊的待測(cè)試模塊組合,各層級(jí)之間是相對(duì)功能模塊劃分的粗細(xì)程序各不相同,待測(cè)試模塊之間存在著某個(gè)特性關(guān)聯(lián)且相互之間也是相互關(guān)聯(lián)的,因此,為后續(xù)自動(dòng)化測(cè)試用例中整體性的提高奠定基礎(chǔ)。

      在步驟353中,按照層級(jí)中待測(cè)試模塊相對(duì)功能模塊劃分的粗細(xì)程度和輸入通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例內(nèi)容,逐層級(jí)生成待測(cè)試模塊的自動(dòng)化測(cè)試用例。

      其中,如前所述的,對(duì)功能模塊所進(jìn)行的層級(jí)劃分存在著功能模塊劃分的不同粗細(xì)程度。待測(cè)試模塊的自動(dòng)化測(cè)試用例生成是按照對(duì)功能模塊劃分由粗到細(xì)的層級(jí)順序進(jìn)行的,進(jìn)而逐層級(jí)生成待測(cè)試模塊的自動(dòng)化測(cè)試用例。

      在步驟355中,將相互關(guān)聯(lián)的自動(dòng)化測(cè)試用例構(gòu)成業(yè)務(wù)鏈路的自動(dòng)化測(cè)試用例組合。

      其中,各層級(jí)所包含的待測(cè)試用例將構(gòu)成了業(yè)務(wù)鏈路上的功能模塊,因此,逐層級(jí)所生成的待測(cè)試模塊的自動(dòng)化測(cè)試用例也將相互關(guān)聯(lián),構(gòu)成了整個(gè)業(yè)務(wù)鏈路,即,構(gòu)成業(yè)務(wù)鏈路的自動(dòng)化測(cè)試用例組合。

      通過(guò)如上所述的過(guò)程,便基于業(yè)務(wù)鏈路得到了自動(dòng)化測(cè)試用例組合,由此將把整體業(yè)務(wù)拉通,實(shí)現(xiàn)業(yè)務(wù)的自動(dòng)化覆蓋,并且避免覆蓋缺失。

      可選的,該步驟350還可以包括以下步驟。

      進(jìn)行通訊包的解析,獲得通訊包對(duì)應(yīng)功能模塊的自動(dòng)化用例內(nèi)容,并存儲(chǔ)。

      其中,通訊包中存在著相應(yīng)功能橫塊的業(yè)務(wù)數(shù)據(jù)以及自身通訊相關(guān)的信息,例如,傳輸方向信息、端口信息。因此,需要進(jìn)行通訊包的解析,以得到此通訊包所對(duì)應(yīng)功能模塊進(jìn)行自動(dòng)化測(cè)試的自動(dòng)化測(cè)試用例內(nèi)容。

      在具體實(shí)現(xiàn)中,將獲得到自動(dòng)化測(cè)試用例內(nèi)容存儲(chǔ)至圖1所示實(shí)施環(huán)境的數(shù)據(jù)中心130,以便于后續(xù)調(diào)用。數(shù)據(jù)中心130是指部署了數(shù)據(jù)庫(kù)的機(jī)器,在一示例性實(shí)施例的優(yōu)選方式中,此數(shù)據(jù)庫(kù)可以為分布式數(shù)據(jù)庫(kù),例如,kafka。

      在一個(gè)示例性實(shí)施例對(duì)步驟355的細(xì)節(jié)進(jìn)行描述中,步驟355包括:

      根據(jù)層級(jí)中待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試用例內(nèi)容,填充自動(dòng)化測(cè)試用例內(nèi)容生成輸入的通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例。

      其中,如前所述的,存儲(chǔ)于數(shù)據(jù)中心,即部署了數(shù)據(jù)庫(kù)的機(jī)器上的自動(dòng)化測(cè)試內(nèi)容將是分別對(duì)應(yīng)于各功能模塊所輸入或者輸出的通訊包的,該通訊包分別對(duì)應(yīng)于功能模塊和自動(dòng)化測(cè)試用例內(nèi)容。

      因此,由此關(guān)系可知,自動(dòng)化測(cè)試用例內(nèi)容將是與一定功能模塊相對(duì)應(yīng)的,以用于作為此功能模塊進(jìn)行自動(dòng)化測(cè)試的原始數(shù)據(jù)。

      根據(jù)相對(duì)功能模塊劃分由粗到細(xì)的程度,逐層級(jí)進(jìn)行待測(cè)試模塊的自動(dòng)化測(cè)試用例生成。在此過(guò)程中,對(duì)于一層級(jí)的自動(dòng)化測(cè)試用例生成,將首先相應(yīng)獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,并填充此自動(dòng)化測(cè)試內(nèi)容即可得到此層級(jí)中待測(cè)試模塊的自動(dòng)化測(cè)試用例。

      通過(guò)此過(guò)程,控制各層級(jí)實(shí)現(xiàn)了各自的自動(dòng)化測(cè)試用例生成,由此將得以兼顧業(yè)務(wù)鏈路上的各功能模塊,而避免存在缺失。

      圖7是根據(jù)一示例性實(shí)施例對(duì)根據(jù)層級(jí)中待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試用例內(nèi)容,填充自動(dòng)化測(cè)試用例內(nèi)容生成輸入的通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例步驟的細(xì)節(jié)進(jìn)行的描述。如圖7所示的,可以包括以下步驟。

      在步驟3551中,針對(duì)將功能模塊劃分為一整體的待測(cè)試模塊,根據(jù)待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      其中,如前所述的,首先是將業(yè)務(wù)鏈路上的所有功能模塊劃分為一整體,即將所有功能模塊視為整體,此時(shí),根據(jù)輸入的通訊包可知,業(yè)務(wù)鏈路上首個(gè)功能模塊為此層級(jí)所包含的待測(cè)試模塊,并為其相應(yīng)獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,生成自動(dòng)化測(cè)試用例。

      在步驟3553中,針對(duì)將功能模塊劃分為若干個(gè)大模塊的待測(cè)試模塊,根據(jù)大模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      其中,通過(guò)自動(dòng)化測(cè)試內(nèi)容,生成大模塊所分別對(duì)應(yīng)的自動(dòng)化測(cè)試用例,由此便得到的業(yè)務(wù)鏈路上部分功能模塊所分別對(duì)應(yīng)的自動(dòng)化測(cè)試用例。

      在步驟3555中,根據(jù)功能模塊和已生成的自動(dòng)化測(cè)試用例得到待生成自動(dòng)化測(cè)試用例的功能模塊,根據(jù)功能模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      其中,將進(jìn)行最后一層級(jí),即功能模塊的自動(dòng)化測(cè)試用例生成,在此,所指的功能模塊是指當(dāng)前未通過(guò)前述層級(jí)進(jìn)行自動(dòng)化測(cè)試用例生成的功能模塊。

      通過(guò)如上所述各層級(jí)的自動(dòng)化測(cè)試用例生成過(guò)程,使得業(yè)務(wù)鏈路上各自動(dòng)化測(cè)試用例的生成也是相互關(guān)聯(lián),與所存儲(chǔ)的功能模塊相匹配的,由此便能夠?qū)崿F(xiàn)整個(gè)業(yè)務(wù)鏈路上的自動(dòng)化測(cè)試,實(shí)現(xiàn)單模塊到全鏈路拉通,端到端的用例覆蓋和監(jiān)控。

      在一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法,該方法還可以包括連接部署數(shù)據(jù)庫(kù)的機(jī)器的步驟。

      圖8是根據(jù)一示例性實(shí)施例示出的對(duì)步驟351的細(xì)節(jié)進(jìn)行的描述。該步驟351用于圖1所示實(shí)施環(huán)境的服務(wù)器110。如圖8所示,進(jìn)行通訊包的解析,獲得通訊包對(duì)應(yīng)功能模塊的自動(dòng)化用例內(nèi)容,并存儲(chǔ)的步驟,可以包括以下步驟。

      在步驟3501中,解析通訊包得到傳輸方向信息、端口信息和業(yè)務(wù)數(shù)據(jù)。

      其中,解析通訊包的包頭得到傳輸方向信息和端口信息。傳輸方向信息用于標(biāo)示發(fā)送和接收數(shù)據(jù)的網(wǎng)絡(luò)地址;端口信息則用于標(biāo)示發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的端口。

      獲取服務(wù)協(xié)議信息,根據(jù)服務(wù)協(xié)議信息解析通訊包的包體得到業(yè)務(wù)數(shù)據(jù)。服務(wù)協(xié)議信息包括協(xié)議類型和msg等。換而言之,將根據(jù)消息的協(xié)議類型與消息結(jié)構(gòu)進(jìn)行解析,以得到業(yè)務(wù)數(shù)據(jù)。

      在步驟3503中,通過(guò)與部署數(shù)據(jù)庫(kù)的機(jī)器之間的連接,將傳輸方向信息、端口信息和業(yè)務(wù)數(shù)據(jù)作為通訊包對(duì)應(yīng)模塊的自動(dòng)化測(cè)試用例內(nèi)容存儲(chǔ)至數(shù)據(jù)庫(kù)。

      其中,在具體實(shí)現(xiàn)中,數(shù)據(jù)庫(kù)可以通過(guò)kafka(分布式發(fā)布訂閱消息系統(tǒng))實(shí)現(xiàn),以通過(guò)kafka這一高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和處理。

      根據(jù)一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋方法中,還包括:

      通過(guò)自動(dòng)化測(cè)試用例組合中相互關(guān)聯(lián)的自動(dòng)化測(cè)試用例的分別運(yùn)行,進(jìn)行業(yè)務(wù)鏈路上的自動(dòng)化測(cè)試。

      其中,與自動(dòng)化測(cè)試用例生成過(guò)程相類似的,通過(guò)自動(dòng)化測(cè)試用例組合,進(jìn)行業(yè)務(wù)上單模塊、大模塊和全鏈路的自動(dòng)化測(cè)試,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)鏈路的監(jiān)控或回歸測(cè)試。

      結(jié)合具體應(yīng)用場(chǎng)景,描述該業(yè)務(wù)鏈路自動(dòng)化覆蓋方法。例如,圖6是一業(yè)務(wù)在系統(tǒng)模塊層面上的示意圖。

      首先,將通過(guò)部署在各機(jī)器中的抓包工具來(lái)實(shí)現(xiàn)業(yè)務(wù)所部署機(jī)器上特定端口的監(jiān)聽(tīng),并將獲取的通訊包解析,以得到用于生成自動(dòng)化測(cè)試用例的自動(dòng)化測(cè)試用例內(nèi)容,并存儲(chǔ)至數(shù)據(jù)中心。

      在一示例性實(shí)施例所提供的具體實(shí)現(xiàn)中,圖9示出了一個(gè)示例性實(shí)施例中抓包工具的工作過(guò)程。

      部署業(yè)務(wù)的各機(jī)器中,根據(jù)自身網(wǎng)卡名字獲取本地網(wǎng)絡(luò)地址,并連接部署zookeeper的機(jī)器獲取配置信息,即執(zhí)行步驟610和步驟620。

      此時(shí),從配置信息即可獲得業(yè)務(wù)運(yùn)行所涉及的端口,即配置信息中本地網(wǎng)絡(luò)地址所對(duì)應(yīng)的所有端口,并連接數(shù)據(jù)中心,以為后續(xù)進(jìn)行的數(shù)據(jù)存儲(chǔ)作準(zhǔn)備,即執(zhí)行步驟630和步驟640。

      各機(jī)器都將捕獲端口中輸入或者輸出的通訊包,即執(zhí)行步驟650,并隨之進(jìn)行通訊包的解析,如步驟660至步驟710所示,以便于得到傳輸方向信息、端口信息和業(yè)務(wù)數(shù)據(jù),并存儲(chǔ)至數(shù)據(jù)中心,由此便為后續(xù)的自動(dòng)化測(cè)試用例提供數(shù)據(jù)基礎(chǔ)。

      各功能模塊通過(guò)業(yè)務(wù)在機(jī)器中的部署而運(yùn)行于各機(jī)器中,并且通過(guò)通訊包的輸入和輸出實(shí)現(xiàn)各功能模塊之間的相互作用。

      例如,圖10是業(yè)務(wù)鏈路中通訊包的示意簡(jiǎn)圖,包括A、B和C三個(gè)功能模塊,1、2、3、4、5和6均為通訊包,所在的箭頭將指示了通訊包的傳輸方向。

      其中,手機(jī)端向?qū)崿F(xiàn)業(yè)務(wù)的服務(wù)器發(fā)起請(qǐng)求,以請(qǐng)求獲取業(yè)務(wù)所提供的服務(wù)。在此過(guò)程中,手機(jī)端發(fā)起的請(qǐng)求為通訊包1,發(fā)給了功能模塊A,功能模塊A收到后,發(fā)起了通訊包2給功能模塊B,功能模塊B收到后發(fā)起了通訊包3給功能模塊C,功能模塊C收到后處理完成,返回了通訊包4給功能模塊B,功能模塊B處理完后返回通訊包5給功能模塊A,功能模塊A處理完后返回通訊包給手機(jī)端,由此便完成了一個(gè)請(qǐng)求回路。

      由此可知,這些通訊包是一次請(qǐng)求過(guò)程中經(jīng)過(guò)各個(gè)功能模塊而產(chǎn)生的,是相互關(guān)聯(lián)的。

      可通過(guò)本公開(kāi)中圖4對(duì)應(yīng)的示例性實(shí)施例抓取得到,并存儲(chǔ)至數(shù)據(jù)中心kafka。

      此時(shí),將對(duì)這12個(gè)功能模塊進(jìn)行層級(jí)劃分。首先,如圖11所示,將所有功能模塊作為一整體,即整體看成一個(gè)黑盒,由此生成一端到端自動(dòng)化測(cè)試用例,同時(shí)也是對(duì)功能模塊1的自動(dòng)化測(cè)試用例。

      其次,如圖12所示,將這12個(gè)功能模塊劃分成大模塊,以由此完成3個(gè)大模塊的自動(dòng)化測(cè)試用例的生成。

      最后,如圖13所示,進(jìn)行模塊細(xì)分,即完成單模塊的自動(dòng)化測(cè)試用例生成。

      至此,業(yè)務(wù)上單模塊、大模塊與全鏈路的自動(dòng)化測(cè)試用例全部生成,雖然每一單模塊或大模塊的自動(dòng)化測(cè)試用例都有自己檢查的側(cè)重點(diǎn),但是,對(duì)于業(yè)務(wù)鏈路的全鏈路通訊過(guò)程中的一直透?jìng)骰蜃鳛殛P(guān)鍵判斷的一些參數(shù)或邏輯的檢查,將會(huì)貫穿所有自動(dòng)化測(cè)試用例中。

      將如上所述的自動(dòng)化測(cè)試用例用于監(jiān)控或回歸測(cè)試時(shí),如果失敗,則只要看到是哪個(gè)自動(dòng)化測(cè)試用例失敗,就很容易判斷出問(wèn)題,比如,功能模塊8至12的自動(dòng)化測(cè)試用例所進(jìn)行的測(cè)試成功了,功能模塊1至7的自動(dòng)化測(cè)試用例所進(jìn)行的測(cè)試失敗了,則可判斷問(wèn)題出在功能模塊7的邏輯中。

      下述為本公開(kāi)裝置實(shí)施例,可以用于執(zhí)行上述服務(wù)器110執(zhí)行的業(yè)務(wù)鏈路自動(dòng)化覆蓋方法。對(duì)于本公開(kāi)裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本公開(kāi)業(yè)務(wù)鏈路自動(dòng)化覆蓋方法實(shí)施例。

      圖14是根據(jù)一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置的框圖,該業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置可以用于圖1所示實(shí)施環(huán)境的服務(wù)器110中,執(zhí)行圖3所示的業(yè)務(wù)鏈路自動(dòng)化覆蓋訪求的全部或部分步驟。如圖14所示,該業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置包括但不限于:監(jiān)聽(tīng)模塊510、功能獲取模塊530和轉(zhuǎn)換模塊550。

      監(jiān)聽(tīng)模塊510,用于在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包。

      功能獲取模塊530,用于獲取業(yè)務(wù)鏈路上的功能模塊。

      轉(zhuǎn)換模塊550,用于將抓取得到的通訊包轉(zhuǎn)換成與功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合。

      可選的,監(jiān)聽(tīng)模塊510如圖15示,包括配置獲取單元511、端口獲取單元513和通訊包抓取單元515。

      配置獲取單元511,用于獲取業(yè)務(wù)的配置信息。

      端口獲取單元513,用于根據(jù)機(jī)器的服務(wù)地址從配置信息獲取對(duì)應(yīng)的端口。

      通訊包抓取單元515,用于對(duì)端口進(jìn)行監(jiān)聽(tīng),抓取端口的通訊包得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包。

      可靠的,轉(zhuǎn)換模塊550如圖16示,包括層級(jí)劃分單元551、用例生成單元553和組合構(gòu)成單元555。

      層級(jí)劃分單元551,用于進(jìn)行功能模塊的層級(jí)劃分得到各層級(jí)包含的待測(cè)試模塊。

      用例生成單元553,用于按照層級(jí)中待測(cè)試模塊相對(duì)功能模塊劃分的粗細(xì)程度和輸入通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例內(nèi)容,逐層級(jí)生成待測(cè)試模塊的自動(dòng)化測(cè)試用例。

      組合構(gòu)成單元555,用于將相互之間關(guān)聯(lián)的自動(dòng)化測(cè)試用例構(gòu)成業(yè)務(wù)鏈路的自動(dòng)化測(cè)試用例組合。

      可選的,轉(zhuǎn)換模塊550還包括解析單元。該解析單元用于進(jìn)行通訊包的解析,獲得通訊包對(duì)應(yīng)功能模塊的自動(dòng)化測(cè)試用例內(nèi)容,并存儲(chǔ)。

      可選的,用例生成單元555進(jìn)一步用于根據(jù)層級(jí)中待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試用例內(nèi)容,填充自動(dòng)化測(cè)試用例內(nèi)容生成輸入的通訊包對(duì)應(yīng)的自動(dòng)化測(cè)試用例。

      進(jìn)一步的,如圖17示,用例生成單元555包括第一用例生成子單元5551、第二用例生成子單元5553和第三用例生成子單元5555。

      第一用例生成子單元5551,用于針對(duì)將功能模塊劃分為一整體的待測(cè)試模塊,根據(jù)待測(cè)試模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      第二用例生成子單元5553,用于針對(duì)將功能模塊劃分為若干個(gè)大模塊的待測(cè)試模塊,根據(jù)大模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      第三用例生成子單元5555,用于根據(jù)功能模塊和已生成的自動(dòng)化測(cè)試用例得到待生成自動(dòng)化測(cè)試用例的功能模塊,根據(jù)功能模塊輸入的通訊包獲取存儲(chǔ)的自動(dòng)化測(cè)試內(nèi)容,填充自動(dòng)化測(cè)試內(nèi)容生成自動(dòng)化測(cè)試用例。

      一示例性實(shí)施例示出的一種業(yè)務(wù)鏈路覆蓋裝置中,還包括數(shù)據(jù)庫(kù)連接模塊。數(shù)據(jù)庫(kù)連接模塊用于連接部署數(shù)據(jù)庫(kù)的機(jī)器。

      圖18根據(jù)一示例性實(shí)施例示出的對(duì)解析單元的細(xì)節(jié)進(jìn)行的描述。該解析單元810如圖17,包括解析執(zhí)行子單元811和存儲(chǔ)子單元813。

      解析執(zhí)行子單元811,用于解析通訊包得到傳輸方向信息、端口信息和業(yè)務(wù)數(shù)據(jù)。

      存儲(chǔ)子單元813,用于通過(guò)與部署數(shù)據(jù)庫(kù)的機(jī)器之間的連接,將傳輸方向信息、端口信息和業(yè)務(wù)數(shù)據(jù)作為通訊包對(duì)應(yīng)模塊的自動(dòng)化測(cè)試用例內(nèi)容存儲(chǔ)至數(shù)據(jù)庫(kù)。

      一示例性實(shí)施例求出的業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置中,還包括自動(dòng)化測(cè)試模塊。自動(dòng)化測(cè)試模塊用于通過(guò)自動(dòng)化測(cè)試用例組合中相互關(guān)聯(lián)的自動(dòng)化測(cè)試用例的分別運(yùn)行,進(jìn)行業(yè)務(wù)鏈路上的自動(dòng)化測(cè)試。

      可選的,本公開(kāi)還提供一種業(yè)務(wù)鏈路自動(dòng)化覆蓋裝置,該業(yè)務(wù)鏈路自動(dòng)化覆蓋可以用于圖1所示實(shí)施環(huán)境的服務(wù)器110中,所述裝置包括:

      處理器;

      用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;

      其中,所述處理器被配置為執(zhí)行:

      在部署業(yè)務(wù)的機(jī)器中進(jìn)行端口監(jiān)聽(tīng),抓取得到業(yè)務(wù)鏈路上相互關(guān)聯(lián)的若干個(gè)通訊包;

      獲取所述業(yè)務(wù)鏈路上的功能模塊;

      將抓取得到的所述通訊包轉(zhuǎn)換成與所述功能模塊的層級(jí)劃分相匹配的自動(dòng)化測(cè)試用例組合。

      該實(shí)施例中的裝置的處理器執(zhí)行操作的具體方式已經(jīng)在有關(guān)該業(yè)務(wù)鏈路自動(dòng)化覆蓋方法的實(shí)施例中執(zhí)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。

      在示例性實(shí)施例中,還提供了一種存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如可以為包括指令的臨時(shí)性和非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。該存儲(chǔ)介指例如包括指令的存儲(chǔ)器204,上述指令可由裝置200的處理器210執(zhí)行以完成上述業(yè)務(wù)鏈路自動(dòng)化覆蓋方法。

      應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1