用于軟件測試的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理。更確切的,本發(fā)明涉及一種用于軟件測試的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著軟件規(guī)模的不斷增大和軟件復(fù)雜性的日益增加,軟件產(chǎn)品測試用例的數(shù)量在 持續(xù)增長。在傳統(tǒng)測試執(zhí)行中,每一個測試用例的所有測試任務(wù)都會被按序一一執(zhí)行,以完 成對所有測試用例的執(zhí)行。由于測試用例的執(zhí)行通常都是耗時的,隨著測試用例數(shù)量的增 長,軟件測試的效率也隨之持續(xù)下降。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的說明性實施例提供了一種用于利用多個測試用例進行軟件測試的方法, 其中每個所述測試用例包括多個測試任務(wù),所述方法包括:分析所述多個測試用例以獲得 至少兩個測試用例之間的至少一個可重用測試任務(wù)序列,所述可重用測試任務(wù)序列包括至 少一個相同的測試任務(wù);根據(jù)可重用測試任務(wù)序列將所述多個測試用例劃分成至少一個 測試用例組,其中每個所述測試用例組中的多個測試用例具有至少一個可重用測試任務(wù)序 列;其中,每個所述測試任務(wù)具有執(zhí)行腳本,所述方法進一步包括:利用所述測試任務(wù)的執(zhí) 行腳本產(chǎn)生測試用例的執(zhí)行腳本,所述測試用例的執(zhí)行腳本包括用于可重用測試任務(wù)序列 的備份或恢復(fù)的至少之一。
[0004] 本發(fā)明的說明性實施例還提供了一種利用多個測試用例進行軟件測試的系統(tǒng),其 中每個所述測試用例包括多個測試任務(wù),所述系統(tǒng)包括:分析模塊,配置為分析所述多個測 試用例以獲得至少兩個測試用例之間的至少一個可重用測試任務(wù)序列,所述可重用測試任 務(wù)序列包括至少一個相同的測試任務(wù);劃分模塊,配置為根據(jù)可重用測試任務(wù)序列將所述 多個測試用例劃分成至少一個測試用例組,其中每個所述測試用例組中的多個測試用例具 有至少一個可重用測試任務(wù)序列;其中,每個所述測試任務(wù)具有執(zhí)行腳本,所述系統(tǒng)進一步 包括:產(chǎn)生模塊,配置為利用所述測試任務(wù)的執(zhí)行腳本產(chǎn)生測試用例的執(zhí)行腳本,所述測試 用例的執(zhí)行腳本包括用于可重用測試任務(wù)序列的備份或恢復(fù)的至少之一。
[0005] 利用說明性實施例的用于軟件測試的方法和系統(tǒng),能夠顯著減少測試用例的執(zhí)行 時間,從而提高軟件測試的效率。
【附圖說明】
[0006] 通過結(jié)合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述以及其 它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號 通常代表相同部件。
[0007] 圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務(wù)器12的框 圖;
[0008] 圖2示出了根據(jù)本發(fā)明一個實施例的利用多個測試用例進行軟件測試的方法200 的流程圖;
[0009] 圖3示出了根據(jù)本發(fā)明一個實施例的利用多個測試用例進行軟件測試的系統(tǒng)300 的框圖。
【具體實施方式】
[0010] 下面將參照附圖更詳細地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開 的優(yōu)選實施方式,然而應(yīng)該理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施方 式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的 范圍完整地傳達給本領(lǐng)域的技術(shù)人員。
[0011] 本發(fā)明可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算 機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本發(fā)明的各個方面的計算機可讀程序指令。
[0012] 計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形 設(shè)備。計算機可讀存儲介質(zhì)例如可以是一一但不限于一一電存儲設(shè)備、磁存儲設(shè)備、光存儲 設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的 更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存 儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、便攜 式壓縮盤只讀存儲器(⑶-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機械編碼設(shè)備、例如其 上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計 算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、 通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳 輸?shù)碾娦盘枴?br>[0013] 這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/ 處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或 外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng) 關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接 收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備 中的計算機可讀存儲介質(zhì)中。
[0014] 用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、 機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的 任意組合編寫的源代碼或目標代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如Java、 Smalltalk、C++等,以及常規(guī)的過程式編程語目一諸如"C"語目或類似的編程語目。計算機 可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨 立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機 或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包 括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如 利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指 令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或 可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本發(fā)明的各個 方面。
[0015] 這里參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/ 或框圖描述了本發(fā)明的各個方面。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和 /或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
[0016] 這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù) 處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù) 處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功 能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些 指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令 的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框 中規(guī)定的功能/動作的各個方面的指令。
[0017] 也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它 設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn) 生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的 指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。圖1示出了適于用 來實現(xiàn)本發(fā)明實施方式的示例性計算機系統(tǒng)/服務(wù)器12的框圖。圖1顯示的計算機系統(tǒng) /服務(wù)器12僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。
[0018] 如圖1所示,計算機系統(tǒng)/服務(wù)器12以通用計算設(shè)備的形式表現(xiàn)。計算機系統(tǒng) /服務(wù)器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器 28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。
[0019] 總線18