所屬的技術(shù)人員能夠理解,本公開(kāi)的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本公開(kāi)的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱(chēng)為“電路”、“模塊”或“系統(tǒng)”。下面參照?qǐng)D6來(lái)描述根據(jù)本公開(kāi)的這種實(shí)施方式的電子設(shè)備600。圖6顯示的電子設(shè)備600僅僅是一個(gè)示例,不應(yīng)對(duì)本公開(kāi)實(shí)施例的功能和使用范圍帶來(lái)任何限制。如圖6所示,電子設(shè)備600以通用計(jì)算設(shè)備的形式表現(xiàn)。電子設(shè)備600的組件可以包括但不限于:上述至少一個(gè)處理單元610、上述至少一個(gè)存儲(chǔ)單元620、連接不同系統(tǒng)組件(包括存儲(chǔ)單元620和處理單元610)的總線(xiàn)630以及顯示單元640。其中,所述存儲(chǔ)單元存儲(chǔ)有程序代碼,所述程序代碼可以被所述處理單元610執(zhí)行,使得所述處理單元610執(zhí)行本說(shuō)明書(shū)上述“示例性方法”部分中描述的根據(jù)本公開(kāi)各種示例性實(shí)施方式的步驟。例如,所述處理單元610可以執(zhí)行如圖1中所示的步驟。存儲(chǔ)單元620可以包括易失性存儲(chǔ)單元形式的可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)單元(ram)6201和/或高速緩存存儲(chǔ)單元6202,還可以進(jìn)一步包括只讀存儲(chǔ)單元(rom)6203。存儲(chǔ)單元620還可以包括具有一組(至少一個(gè))程序模塊6205的程序/實(shí)用工具6204,這樣的程序模塊6205包括但不限于:操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)??偩€(xiàn)630可以為表示幾類(lèi)總線(xiàn)結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)單元總線(xiàn)或者存儲(chǔ)單元控制器、外圍總線(xiàn)、圖形加速端口、處理單元或者使用多種總線(xiàn)結(jié)構(gòu)中的任意總線(xiàn)結(jié)構(gòu)的局域總線(xiàn)。電子設(shè)備600也可以與一個(gè)或多個(gè)外部設(shè)備700(例如鍵盤(pán)、指向設(shè)備、藍(lán)牙設(shè)備等)通信,還可與一個(gè)或者多個(gè)使得用戶(hù)能與該電子設(shè)備600交互的設(shè)備通信,和/或與使得該電子設(shè)備600能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(i/o)接口650進(jìn)行。并且,電子設(shè)備600還可以通過(guò)網(wǎng)絡(luò)適配器660與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器660通過(guò)總線(xiàn)630與電子設(shè)備600的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合電子設(shè)備600使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。需要說(shuō)明的是,本公開(kāi)一些實(shí)施例中還提供了一種計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法。在一種實(shí)施方式中,計(jì)算機(jī)程序產(chǎn)品可以是包含計(jì)算機(jī)程序的有形產(chǎn)品,如存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)??勺x存儲(chǔ)介質(zhì)可以是基于電、磁、光、電磁、紅外線(xiàn)等信號(hào)的存儲(chǔ)介質(zhì),包括但不限于:隨機(jī)存取存儲(chǔ)器(ram),只讀存儲(chǔ)器(rom),磁帶,軟盤(pán),閃存(flash),機(jī)械硬盤(pán)(hdd),固態(tài)硬盤(pán)(ssd),等等。示例性的,計(jì)算機(jī)程序產(chǎn)品可以實(shí)現(xiàn)為存儲(chǔ)有計(jì)算機(jī)程序的非易失性存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器,與非門(mén)閃存(nand?flash)等。在一種實(shí)施方式中,計(jì)算機(jī)程序產(chǎn)品可以是包含計(jì)算機(jī)程序的無(wú)形產(chǎn)品。示例性的,計(jì)算機(jī)程序產(chǎn)品可以實(shí)現(xiàn)為虛擬數(shù)字產(chǎn)品,如存儲(chǔ)有計(jì)算機(jī)程序的可執(zhí)行文件,安裝包等數(shù)字文件。計(jì)算機(jī)程序的代碼可以通過(guò)一種或多種程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě)。程序設(shè)計(jì)語(yǔ)言如c語(yǔ)言、java、c++等。程序代碼可以完全地在用戶(hù)計(jì)算設(shè)備上執(zhí)行,或者部分地在用戶(hù)計(jì)算設(shè)備上執(zhí)行,或者作為一個(gè)獨(dú)立的軟件包執(zhí)行,或者部分在用戶(hù)計(jì)算設(shè)備上部分在遠(yuǎn)程計(jì)算設(shè)備上執(zhí)行,或者完全在遠(yuǎn)程計(jì)算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算設(shè)備的情形中,遠(yuǎn)程計(jì)算設(shè)備可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò),如局域網(wǎng)(lan)、廣域網(wǎng)(wan)等,連接到用戶(hù)計(jì)算設(shè)備,或者,可以連接到外部計(jì)算設(shè)備(例如通過(guò)運(yùn)營(yíng)商提供的因特網(wǎng)連接)。計(jì)算機(jī)程序可以通過(guò)電、磁、光、電磁、紅外線(xiàn)等信號(hào)承載或傳輸。電子設(shè)備可以將承載計(jì)算機(jī)程序的信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),進(jìn)而運(yùn)行計(jì)算機(jī)程序。當(dāng)計(jì)算機(jī)程序在電子設(shè)備上運(yùn)行時(shí),其代碼用于使電子設(shè)備執(zhí)行(更具體地,可以使電子設(shè)備的處理器執(zhí)行)本公開(kāi)各種示例性實(shí)施方式的方法步驟。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)軟件結(jié)合必要的硬件的方式來(lái)實(shí)現(xiàn)。因此,根據(jù)本公開(kāi)實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤(pán),移動(dòng)硬盤(pán)等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、終端裝置、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開(kāi)實(shí)施方式的方法。此外,上述附圖僅是根據(jù)本公開(kāi)示例性實(shí)施例的方法所包括的處理的示意性說(shuō)明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時(shí)間順序。另外,也易于理解,這些處理可以是例如在多個(gè)模塊中同步或異步執(zhí)行的。應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動(dòng)作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強(qiáng)制性的。實(shí)際上,根據(jù)本公開(kāi)的實(shí)施方式,上文描述的兩個(gè)或更多模塊或者單元的特征和功能可以在一個(gè)模塊或者單元中具體化。反之,上文描述的一個(gè)模塊或者單元的特征和功能可以進(jìn)一步劃分為由多個(gè)模塊或者單元來(lái)具體化。本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的內(nèi)容后,將容易想到本公開(kāi)的其他實(shí)施例。本技術(shù)旨在涵蓋本公開(kāi)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開(kāi)的一般性原理并包括本公開(kāi)未公開(kāi)的本中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本公開(kāi)的真正范圍和精神由權(quán)利要求指出。應(yīng)當(dāng)理解的是,本公開(kāi)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開(kāi)的范圍僅由所附的權(quán)利要求來(lái)限。
背景技術(shù):
1、nfv即網(wǎng)絡(luò)功能虛擬化,是云計(jì)算技術(shù)與網(wǎng)絡(luò)技術(shù)的結(jié)合,是對(duì)傳統(tǒng)在專(zhuān)有硬件上運(yùn)行的網(wǎng)絡(luò)服務(wù)(例如路由器、防火墻和負(fù)載平衡器)進(jìn)行虛擬化,以使其承載在通用硬件上的方法。nfv(network?function?virtualization,網(wǎng)絡(luò)功能虛擬化)涉及組件層級(jí)眾多,需要經(jīng)過(guò)大量的測(cè)試來(lái)保障系統(tǒng)的正常運(yùn)行。目基于此,可引入自動(dòng)化測(cè)試技術(shù),加速對(duì)nfv系統(tǒng)的測(cè)試驗(yàn)證。
2、相關(guān)技術(shù)中,基于測(cè)試用例特征對(duì)其分組,每組選擇若干測(cè)試用例進(jìn)行分組測(cè)試,從而減少多個(gè)測(cè)試用例發(fā)現(xiàn)同一問(wèn)題的概率。但是,上述方式對(duì)nfv自動(dòng)化測(cè)試場(chǎng)景的適用性不佳,且測(cè)試效率較低。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)的目的在于提供一種自動(dòng)化測(cè)試方法、自動(dòng)化測(cè)試裝置、計(jì)算機(jī)程序產(chǎn)品以及電子設(shè)備,進(jìn)而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的自動(dòng)化測(cè)試效率較低的問(wèn)題。
2、根據(jù)本公開(kāi)的一個(gè)方面,提供一種自動(dòng)化測(cè)試方法,包括:根據(jù)網(wǎng)絡(luò)功能虛擬化環(huán)境的測(cè)試范圍確定多個(gè)測(cè)試用例;從多個(gè)測(cè)試用例中確定當(dāng)前測(cè)試用例,基于所述當(dāng)前測(cè)試用例進(jìn)行測(cè)試以得到測(cè)試結(jié)果;根據(jù)所述測(cè)試結(jié)果,確定所述多個(gè)測(cè)試用例中除所述當(dāng)前測(cè)試用例之外的剩余測(cè)試用例的執(zhí)行價(jià)值;基于所述執(zhí)行價(jià)值從剩余測(cè)試用例中確定下一個(gè)測(cè)試用例,根據(jù)下一個(gè)測(cè)試用例進(jìn)行迭代測(cè)試,直至不滿(mǎn)足價(jià)值條件為止,以對(duì)網(wǎng)絡(luò)功能虛擬化環(huán)境進(jìn)行自動(dòng)化測(cè)試。
3、在本公開(kāi)的一種示例性實(shí)施例中,所述從多個(gè)測(cè)試用例中確定當(dāng)前測(cè)試用例,包括:根據(jù)多個(gè)測(cè)試用例的初始權(quán)重,從多個(gè)測(cè)試用例中隨機(jī)選擇一個(gè)測(cè)試用例作為當(dāng)前測(cè)試用例。
4、在本公開(kāi)的一種示例性實(shí)施例中,所述根據(jù)所述測(cè)試結(jié)果,確定所述多個(gè)測(cè)試用例中除所述當(dāng)前測(cè)試用例之外的剩余測(cè)試用例的執(zhí)行價(jià)值,包括:若所述測(cè)試結(jié)果為第一類(lèi)型結(jié)果,根據(jù)每個(gè)剩余測(cè)試用例的標(biāo)簽,以及,每個(gè)剩余測(cè)試用例與已執(zhí)行測(cè)試用例之間的相似度,確定每個(gè)剩余測(cè)試用例的執(zhí)行價(jià)值;所述已執(zhí)行測(cè)試用例至少包括當(dāng)前測(cè)試用例;若所述測(cè)試結(jié)果為第二類(lèi)型結(jié)果,將所述剩余測(cè)試用例的初始價(jià)值確定為所述執(zhí)行價(jià)值。
5、在本公開(kāi)的一種示例性實(shí)施例中,所述根據(jù)每個(gè)剩余測(cè)試用例的標(biāo)簽,以及,每個(gè)剩余測(cè)試用例與已執(zhí)行測(cè)試用例之間的相似度,確定每個(gè)剩余測(cè)試用例的價(jià)值,包括:根據(jù)每個(gè)剩余測(cè)試用例的標(biāo)簽與當(dāng)前測(cè)試用例的標(biāo)簽,確定各所述剩余測(cè)試用例的第一價(jià)值系數(shù);根據(jù)每個(gè)剩余測(cè)試用例與已執(zhí)行測(cè)試用例之間的相似度,確定各所述剩余測(cè)試用例的第二價(jià)值系數(shù);根據(jù)所述第一價(jià)值系數(shù)以及第二價(jià)值系數(shù),確定所述剩余測(cè)試用例對(duì)于發(fā)現(xiàn)新問(wèn)題的價(jià)值。
6、在本公開(kāi)的一種示例性實(shí)施例中,所述根據(jù)每個(gè)剩余測(cè)試用例的標(biāo)簽與當(dāng)前測(cè)試用例的標(biāo)簽,確定各所述剩余測(cè)試用例的第一價(jià)值系數(shù),包括:根據(jù)當(dāng)前測(cè)試用例的標(biāo)簽的數(shù)量、與當(dāng)前測(cè)試用例具備目標(biāo)標(biāo)簽且測(cè)試結(jié)果為第一類(lèi)型結(jié)果的測(cè)試用例的數(shù)量、目標(biāo)測(cè)試用例的標(biāo)簽比例,確定各所述剩余測(cè)試用例的第一價(jià)值系數(shù);其中,所述目標(biāo)測(cè)試用例為具備目標(biāo)標(biāo)簽且測(cè)試結(jié)果為第一類(lèi)型結(jié)果的測(cè)試用例,所述標(biāo)簽比例為目標(biāo)標(biāo)簽占所述目標(biāo)測(cè)試用例的標(biāo)簽數(shù)量的比例。
7、在本公開(kāi)的一種示例性實(shí)施例中,所述根據(jù)每個(gè)剩余測(cè)試用例與已執(zhí)行測(cè)試用例之間的相似度,確定各所述剩余測(cè)試用例的第二價(jià)值系數(shù),包括:基于在當(dāng)前測(cè)試用例之前執(zhí)行且歷史測(cè)試結(jié)果均為第一類(lèi)型結(jié)果的測(cè)試用例的數(shù)量,根據(jù)剩余測(cè)試用例與已執(zhí)行測(cè)試用例之間的相似度確定第二價(jià)值系數(shù);其中,所述相似度根據(jù)剩余測(cè)試用例與已執(zhí)行測(cè)試用例的歷史測(cè)試結(jié)果確定。
8、在本公開(kāi)的一種示例性實(shí)施例中,所述根據(jù)所述第一價(jià)值系數(shù)以及第二價(jià)值系數(shù)確定所述執(zhí)行價(jià)值,包括:根據(jù)所述第一價(jià)值系數(shù)與所述第二價(jià)值系數(shù)的乘積,確定所述執(zhí)行價(jià)值;若所述執(zhí)行價(jià)值大于或等于價(jià)值閾值,保持所述執(zhí)行價(jià)值不變;若所述執(zhí)行價(jià)值小于所述價(jià)值閾值,將所述執(zhí)行價(jià)值配置為預(yù)設(shè)參數(shù)。
9、在本公開(kāi)的一種示例性實(shí)施例中,所述基于所述執(zhí)行價(jià)值從剩余測(cè)試用例中確定下一個(gè)測(cè)試用例,根據(jù)下一個(gè)測(cè)試用例進(jìn)行迭代測(cè)試,直至不滿(mǎn)足價(jià)值條件為止,包括:若多個(gè)剩余測(cè)試用例的執(zhí)行價(jià)值滿(mǎn)足價(jià)值條件,將每個(gè)測(cè)試用例的執(zhí)行價(jià)值作為權(quán)重,從剩余測(cè)試用例中確定下一個(gè)測(cè)試用例,并根據(jù)下一個(gè)測(cè)試用例進(jìn)行測(cè)試以更新測(cè)試結(jié)果;基于更新后的測(cè)試結(jié)果,確定除下一個(gè)測(cè)試用例之外的剩余測(cè)試用例的執(zhí)行價(jià)值;根據(jù)所述執(zhí)行價(jià)值繼續(xù)選擇測(cè)試用例進(jìn)行迭代測(cè)試,直至多個(gè)剩余測(cè)試用例的執(zhí)行價(jià)值不滿(mǎn)足所述價(jià)值條件為止。
10、根據(jù)本公開(kāi)的一個(gè)方面,提供一種自動(dòng)化測(cè)試裝置,包括:測(cè)試用例范圍確定模塊,用于根據(jù)網(wǎng)絡(luò)功能虛擬化環(huán)境的測(cè)試范圍確定多個(gè)測(cè)試用例;當(dāng)前測(cè)試用例選擇模塊,用于從多個(gè)測(cè)試用例中確定當(dāng)前測(cè)試用例,基于所述當(dāng)前測(cè)試用例進(jìn)行測(cè)試以得到測(cè)試結(jié)果;執(zhí)行價(jià)值確定模塊,用于根據(jù)所述測(cè)試結(jié)果,確定所述多個(gè)測(cè)試用例中除所述當(dāng)前測(cè)試用例之外的剩余測(cè)試用例的執(zhí)行價(jià)值;迭代測(cè)試模塊,用于基于所述執(zhí)行價(jià)值從剩余測(cè)試用例中確定下一個(gè)測(cè)試用例,根據(jù)下一個(gè)測(cè)試用例進(jìn)行迭代測(cè)試,直至不滿(mǎn)足價(jià)值條件為止,以對(duì)網(wǎng)絡(luò)功能虛擬化環(huán)境進(jìn)行自動(dòng)化測(cè)試。
11、根據(jù)本公開(kāi)的一個(gè)方面,提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任意一項(xiàng)所述的自動(dòng)化測(cè)試方法。
12、根據(jù)本公開(kāi)的一個(gè)方面,提供一種電子設(shè)備,包括:處理器;以及存儲(chǔ)器,用于存儲(chǔ)所述處理器的可執(zhí)行指令;其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來(lái)執(zhí)行上述任意一項(xiàng)所述的自動(dòng)化測(cè)試方法。
13、本公開(kāi)實(shí)施例中提供的技術(shù)方案中,一方面,基于當(dāng)前測(cè)試用例所表示的前序測(cè)試用例的測(cè)試結(jié)果,評(píng)估剩余測(cè)試用例的價(jià)值,能夠動(dòng)態(tài)確定剩余測(cè)試用例的執(zhí)行順序,從而能夠有效提高測(cè)試效率和測(cè)試可靠性,提高對(duì)測(cè)試場(chǎng)景的適用性。另一方面,能夠確定剩余測(cè)試用例的執(zhí)行價(jià)值,進(jìn)而根據(jù)執(zhí)行價(jià)值選擇出需要執(zhí)行的測(cè)試用例,以忽略執(zhí)行價(jià)值較低的測(cè)試用例,能夠通過(guò)盡可能少的測(cè)試用例發(fā)現(xiàn)較多的問(wèn)題,降低對(duì)被測(cè)環(huán)境的影響。
14、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。