專利名稱:為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件測(cè)試領(lǐng)域,具體地說,涉及為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法和裝置。
背景技術(shù):
軟件測(cè)試是指通過測(cè)試軟件的各項(xiàng)功能以發(fā)現(xiàn)軟件存在的缺陷的過程,因此軟件測(cè)試工具需要具有大量的測(cè)試實(shí)例并自動(dòng)完成各項(xiàng)測(cè)試。在現(xiàn)有的大多數(shù)自動(dòng)測(cè)試工具中,例如IBM公司的RFT(Rational FunctionalTester)、RTM(Rational Test Manager)等,通常測(cè)試實(shí)例是單獨(dú)自動(dòng)執(zhí)行的,這樣,隨著軟件日益成熟,如果仍然單獨(dú)自動(dòng)執(zhí)行測(cè)試實(shí)例,將很難找到軟件中的缺陷。實(shí)際上,如果能夠根據(jù)需要自動(dòng)生成一些測(cè)試實(shí)例的執(zhí)行序列并根據(jù)該執(zhí)行序列自動(dòng)執(zhí)行測(cè)試實(shí)例,就可以方便地找到軟件中存在的關(guān)鍵缺陷。然而,在大多數(shù)自動(dòng)測(cè)試工具中并沒有為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的工具。因此,測(cè)試者需要這樣的工具以便為軟件測(cè)試過程提供盡可能多的測(cè)試執(zhí)行序列從而找到軟件中的缺陷。
發(fā)明內(nèi)容
本發(fā)明正是基于上述技術(shù)問題而提出的,其目的在于提供一種為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法和裝置。
根據(jù)本發(fā)明的一個(gè)方面,提供一種為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,包括以下步驟輸入測(cè)試實(shí)例的腳本;根據(jù)上述腳本生成測(cè)試執(zhí)行序列;以及根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
優(yōu)選地,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于順序生成方法生成測(cè)試執(zhí)行序列的。
優(yōu)選地,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于隨機(jī)生成方法生成測(cè)試執(zhí)行序列的。
優(yōu)選地,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于被測(cè)試軟件的行為模型生成測(cè)試執(zhí)行序列的。
優(yōu)選地,所述預(yù)定的條件是根據(jù)被測(cè)試軟件的功能定義的不應(yīng)包含的測(cè)試執(zhí)行序列;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括在生成的測(cè)試執(zhí)行序列中排除上述不應(yīng)包含的測(cè)試執(zhí)行序列。
優(yōu)選地,所述預(yù)定的條件是測(cè)試實(shí)例的優(yōu)先權(quán),測(cè)試實(shí)例按照優(yōu)先權(quán)從高到低的順序執(zhí)行;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序選擇有效的測(cè)試執(zhí)行序列。
優(yōu)選地,所述預(yù)定的條件是測(cè)試實(shí)例的邏輯順序;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括選擇符合上述邏輯順序的測(cè)試執(zhí)行序列。
優(yōu)選地,所述方法還包括根據(jù)預(yù)定的條件和運(yùn)行周期選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
優(yōu)選地,所述方法還包括保存最后的測(cè)試執(zhí)行序列以重復(fù)使用。
根據(jù)本發(fā)明的另一個(gè)方面,提供一種測(cè)試執(zhí)行序列的生成裝置,包括輸入裝置,用于輸入測(cè)試實(shí)例的腳本;測(cè)試執(zhí)行序列發(fā)生器,用于將輸入的腳本生成測(cè)試執(zhí)行序列;以及測(cè)試執(zhí)行序列過濾器,用于根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列發(fā)生器基于順序生成方法生成測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列發(fā)生器基于隨機(jī)生成方法生成測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列發(fā)生器基于被測(cè)試軟件的行為模型生成測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列過濾器在生成的測(cè)試執(zhí)行序列中排除根據(jù)被測(cè)試軟件的功能所定義的不應(yīng)包含的測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列過濾器根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序選擇有效的測(cè)試執(zhí)行序列。
優(yōu)選地,所述測(cè)試執(zhí)行序列過濾器選擇符合測(cè)試實(shí)例的邏輯順序的測(cè)試執(zhí)行序列。
優(yōu)選地,所述軟件測(cè)試執(zhí)行序列的生成裝置還包括存儲(chǔ)器,用于存儲(chǔ)最后的測(cè)試執(zhí)行序列。
圖1是根據(jù)本發(fā)明的第一實(shí)施例的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法的流程圖;圖2是本發(fā)明中的基于模型生成測(cè)試執(zhí)行序列的示例圖;圖3是根據(jù)本發(fā)明的第二實(shí)施例的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法的流程圖;圖4是根據(jù)本發(fā)明的實(shí)施例的測(cè)試執(zhí)行序列生成裝置的示意性框圖。
具體實(shí)施例方式
相信通過以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例的詳細(xì)說明,本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)會(huì)更加明顯。
在本發(fā)明中,“測(cè)試實(shí)例”是指對(duì)被測(cè)試軟件的待測(cè)試功能的描述,“腳本”是指實(shí)現(xiàn)測(cè)試實(shí)例的程序,而“測(cè)試執(zhí)行序列”是用于調(diào)用腳本的序列。
圖1是根據(jù)本發(fā)明的第一實(shí)施例的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法的流程圖。
如圖1所示,在步驟101,輸入測(cè)試實(shí)例的腳本,即測(cè)試腳本。在測(cè)試工具中一般都可以自動(dòng)生成測(cè)試腳本,測(cè)試者只需選擇所需的測(cè)試腳本即可。此外,在該步驟中,還可輸入測(cè)試腳本的運(yùn)行周期,即測(cè)試腳本運(yùn)行的次數(shù),用于在后面的步驟中選擇有效的測(cè)試執(zhí)行序列。
接著,在步驟105,根據(jù)輸入的測(cè)試腳本生成測(cè)試執(zhí)行序列。生成測(cè)試執(zhí)行序列的方法可以有以下三種1)順序生成方法,其步驟是按照在步驟101輸入的測(cè)試腳本的初始輸入順序排列這些測(cè)試腳本,將其作為第1測(cè)試執(zhí)行序列;然后,依次改變第1測(cè)試執(zhí)行序列中的第一個(gè)測(cè)試腳本,以生成其它的測(cè)試執(zhí)行序列。這樣,生成的測(cè)試執(zhí)行序列的個(gè)數(shù)與輸入的測(cè)試腳本的個(gè)數(shù)相同。例如,在步驟101中輸入測(cè)試腳本{“testcase1”,“testcase2”,“testcase3”,“testcase4”},則采用順序生成方法生成的測(cè)試執(zhí)行序列為第1測(cè)試執(zhí)行序列testcase1,testcase2,testcase3,testcase4;第2測(cè)試執(zhí)行序列testcase2,testcase3,testcase4,testcase1;第3測(cè)試執(zhí)行序列testcase3,testcase4,testcase1,testcase2;第4測(cè)試執(zhí)行序列testcase4,testcase1,testcase2,testcase3。
2)隨機(jī)生成方法其隨機(jī)地生成測(cè)試執(zhí)行序列,生成的測(cè)試執(zhí)行序列的個(gè)數(shù)是輸入的測(cè)試腳本的個(gè)數(shù)的階乘。在上面的例子中,如果采用隨機(jī)生成方法,則生成的測(cè)試執(zhí)行序列為第1測(cè)試執(zhí)行序列testcase1,testcase4,testcase3,testcase2;第2測(cè)試執(zhí)行序列testcase2,testcase1,testcase4,testcase3;………………第24測(cè)試執(zhí)行序列testcase4,testcase2,testcase1,testcase3。
3)基于模型的生成方法其根據(jù)被測(cè)試軟件的行為模型,按照符合該行為模型的系統(tǒng)邏輯的順序生成測(cè)試執(zhí)行序列,因此,在步驟101中還需要輸入被測(cè)試軟件的行為模型。例如,被測(cè)試軟件的行為模型如圖2所示,其具有以下的行為新建文件、保存文件、修改文件、關(guān)閉文件和另存文件。那么,采用基于模型的生成方法生成的測(cè)試執(zhí)行序列為第1測(cè)試執(zhí)行序列新建文件,修改文件,保存文件,關(guān)閉文件;第2測(cè)試執(zhí)行序列新建文件,修改文件,另存文件,關(guān)閉文件;第3測(cè)試執(zhí)行序列新建文件,關(guān)閉文件;第4測(cè)試執(zhí)行序列新建文件,保存文件,關(guān)閉文件;第5測(cè)試執(zhí)行序列新建文件,修改文件,保存文件,另存文件,關(guān)閉文件。
在生成了測(cè)試執(zhí)行序列后,為了使生成的測(cè)試執(zhí)行序列更加合理,進(jìn)一步執(zhí)行步驟110根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。在本實(shí)施例中,提供了以下三種選擇有效的測(cè)試執(zhí)行序列的方法第一種方法預(yù)定的條件是根據(jù)被測(cè)試軟件的功能定義的不應(yīng)包含的測(cè)試執(zhí)行序列,則在通過步驟105生成的測(cè)試執(zhí)行序列中排除上述不應(yīng)包含的測(cè)試執(zhí)行序列。
第二種方法預(yù)定的條件是測(cè)試實(shí)例的優(yōu)先權(quán),優(yōu)先權(quán)高的測(cè)試實(shí)例先執(zhí)行,優(yōu)先權(quán)低的測(cè)試實(shí)例后執(zhí)行,則根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序在通過步驟105生成的測(cè)試執(zhí)行序列中選擇有效的測(cè)試執(zhí)行序列。在這種方法中,測(cè)試實(shí)例的優(yōu)先權(quán)可根據(jù)被測(cè)試軟件的功能和測(cè)試實(shí)例自身的性質(zhì)確定。
第三種方法預(yù)定的條件是測(cè)試實(shí)例的邏輯順序,則選擇符合該邏輯順序的測(cè)試執(zhí)行序列作為最后的測(cè)試執(zhí)行序列。例如,“保存文件”測(cè)試實(shí)例必須在“另存文件”測(cè)試實(shí)例之前執(zhí)行,那么應(yīng)選擇符合該邏輯順序的測(cè)試執(zhí)行序列。
上述三種選擇有效的測(cè)試執(zhí)行序列的方法既可以單獨(dú)使用,也可以組合進(jìn)行使用。
如果在步驟101輸入了測(cè)試腳本的運(yùn)行周期,那么在采用上述任一種方法或其組合選擇了有效的測(cè)試執(zhí)行序列后,還應(yīng)將運(yùn)行周期作為最后的測(cè)試執(zhí)行序列的個(gè)數(shù)進(jìn)一步選擇測(cè)試執(zhí)行序列。例如,如果輸入測(cè)試腳本為{“testcase1”,“testcase2”,“testcase3”,“testcase4”},運(yùn)行周期為4,并采用隨機(jī)生成方法生成測(cè)試執(zhí)行序列,則經(jīng)過步驟110的選擇后,如果測(cè)試執(zhí)行序列超過4個(gè),則需要進(jìn)一步地順序選擇前4個(gè)或隨機(jī)選擇4個(gè)測(cè)試執(zhí)行序列作為最后的測(cè)試執(zhí)行序列。
進(jìn)一步地,在步驟115,將所選的有效的測(cè)試執(zhí)行序列作為最后的測(cè)試執(zhí)行序列保存。而在步驟116,將未選擇的測(cè)試執(zhí)行序列丟棄。
雖然在以上的描述中,測(cè)試腳本是單個(gè)的實(shí)現(xiàn)某種測(cè)試功能的程序,但對(duì)于實(shí)現(xiàn)一個(gè)測(cè)試功能的由多個(gè)測(cè)試腳本構(gòu)成的測(cè)試腳本組,也可以將其作為一個(gè)整體適用于上述方法。
通過以上描述,可以看出,采用本實(shí)施例,可以生成具有多個(gè)測(cè)試實(shí)例的測(cè)試執(zhí)行序列,以提高發(fā)現(xiàn)被測(cè)試軟件中的缺陷的能力。此外,在本實(shí)施例中,如果測(cè)試工具是基于API(應(yīng)用編程接口)的測(cè)試工具,例如IBM公司的RFT,則本發(fā)明中的測(cè)試執(zhí)行序列的生成、選擇步驟都可封裝成JAVA API,使測(cè)試者可以在測(cè)試實(shí)例的腳本中直接使用上述API,使測(cè)試者可以方便地基于實(shí)現(xiàn)不同測(cè)試目的的測(cè)試腳本或測(cè)試腳本組獲得最后的測(cè)試執(zhí)行序列,進(jìn)行自動(dòng)化測(cè)試。
圖3是根據(jù)本發(fā)明的第二實(shí)施例的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法的流程圖。在本實(shí)施例中,描述了測(cè)試工具是基于GUI(圖形用戶接口)的測(cè)試工具的情況。例如,測(cè)試工具可以選用IBM公司的RTM,RTM由計(jì)劃模塊、執(zhí)行模塊、結(jié)果模塊和分析模塊構(gòu)成,其中計(jì)劃模塊用于組織測(cè)試實(shí)例和測(cè)試數(shù)據(jù);執(zhí)行模塊用于組織執(zhí)行測(cè)試實(shí)例或測(cè)試腳本,將測(cè)試實(shí)例和測(cè)試腳本組織成測(cè)試組用于測(cè)試;結(jié)果模塊用于存儲(chǔ)和管理每次執(zhí)行的運(yùn)行結(jié)果;分析模塊用于輸出測(cè)試報(bào)告。采用該測(cè)試工具,本發(fā)明中的測(cè)試執(zhí)行序列的生成、選擇步驟可集成在執(zhí)行模塊中,并通過圖形用戶界面(GUI)向測(cè)試者提供。
如圖3所示,在步驟301中,輸入測(cè)試腳本到計(jì)劃模塊中,以組織測(cè)試腳本,該步驟與第一實(shí)施例中的步驟101基本相同。然后,在步驟305中,根據(jù)輸入的測(cè)試腳本生成測(cè)試執(zhí)行序列,其中生成測(cè)試執(zhí)行序列的方法可以采用前面所描述的順序生成方法、隨機(jī)生成方法和基于模型的生成方法中的任一種。在步驟310中,在生成的測(cè)試執(zhí)行序列中根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列,其中該步驟中的選擇方法與第一實(shí)施例中的步驟110中的選擇方法相同。上述的步驟305和310在RTM的執(zhí)行模塊中進(jìn)行。
此外,如果在步驟301中還輸入測(cè)試腳本的運(yùn)行周期,則在步驟310后,將運(yùn)行周期作為最后的測(cè)試執(zhí)行序列的個(gè)數(shù)進(jìn)一步選擇測(cè)試執(zhí)行序列。
進(jìn)一步地,在步驟315中,將最后的測(cè)試執(zhí)行序列保存,以便測(cè)試者以后再利用。
通過以上描述可以看出,采用本實(shí)施例,可以將單獨(dú)的測(cè)試實(shí)例生成具有多個(gè)測(cè)試實(shí)例的測(cè)試執(zhí)行序列,并通過GUI向測(cè)試者提供,使測(cè)試者可以使用菜單和對(duì)話來實(shí)現(xiàn)軟件的自動(dòng)化測(cè)試。
圖4是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的測(cè)試執(zhí)行序列生成裝置的示意性框圖。如圖4所示,測(cè)試執(zhí)行序列生成裝置包括輸入裝置401,其輸入測(cè)試實(shí)例的腳本和/或腳本的運(yùn)行周期和/或被測(cè)試軟件的行為模型;測(cè)試執(zhí)行序列發(fā)生器402,其根據(jù)輸入的腳本生成測(cè)試執(zhí)行序列;測(cè)試執(zhí)行序列過濾器403,其根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
當(dāng)通過輸入裝置401輸入測(cè)試腳本和/或腳本的運(yùn)行周期后,測(cè)試執(zhí)行序列發(fā)生器402可按照測(cè)試腳本的初始輸入順序排列測(cè)試腳本,以作為第1測(cè)試執(zhí)行序列,并依次改變第1測(cè)試執(zhí)行序列的第一個(gè)腳本,生成其它測(cè)試執(zhí)行序列;或者基于輸入的測(cè)試腳本隨機(jī)地生成測(cè)試執(zhí)行序列;或者根據(jù)被測(cè)試軟件的行為模型,按照符合該行為模型的系統(tǒng)邏輯的順序生成測(cè)試執(zhí)行序列。生成的測(cè)試執(zhí)行序列被輸出到測(cè)試執(zhí)行序列過濾器403中。
然后,測(cè)試執(zhí)行序列過濾器403在由測(cè)試執(zhí)行序列發(fā)生器402生成的測(cè)試執(zhí)行序列中排除根據(jù)被測(cè)試軟件的功能所定義的不應(yīng)包含的測(cè)試執(zhí)行序列,保留的測(cè)試執(zhí)行序列作為有效的測(cè)試執(zhí)行序列。
或者,測(cè)試執(zhí)行序列過濾器403根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序選擇有效的測(cè)試執(zhí)行序列,其中測(cè)試實(shí)例的優(yōu)先權(quán)根據(jù)被測(cè)試軟件的功能和測(cè)試實(shí)例自身的性質(zhì)確定,并且優(yōu)先權(quán)高的測(cè)試實(shí)例先執(zhí)行,優(yōu)先權(quán)低的測(cè)試實(shí)例后執(zhí)行。
或者,測(cè)試執(zhí)行序列過濾器403選擇符合測(cè)試實(shí)例的邏輯順序的測(cè)試執(zhí)行序列作為有效的測(cè)試執(zhí)行序列。
此外,測(cè)試執(zhí)行序列過濾器403還可根據(jù)輸入的測(cè)試腳本的運(yùn)行周期,對(duì)所選擇的測(cè)試執(zhí)行序列做進(jìn)一步的選擇,生成最后的測(cè)試執(zhí)行序列。
進(jìn)一步地,軟件測(cè)試執(zhí)行序列生成裝置還可以包括存儲(chǔ)器404,用于存儲(chǔ)最后的測(cè)試執(zhí)行序列。
通過以上描述可以看出,采用本實(shí)施例的軟件測(cè)試執(zhí)行序列生成裝置可以生成具有多個(gè)測(cè)試腳本的測(cè)試執(zhí)行序列,從而提高軟件測(cè)試的效率。
權(quán)利要求
1.一種為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,包括以下步驟輸入測(cè)試實(shí)例的腳本;根據(jù)上述腳本生成測(cè)試執(zhí)行序列;以及根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
2.根據(jù)權(quán)利要求1所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于順序生成方法生成測(cè)試執(zhí)行序列的。
3.根據(jù)權(quán)利要求1所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于隨機(jī)生成方法生成測(cè)試執(zhí)行序列的。
4.根據(jù)權(quán)利要求1所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述根據(jù)上述腳本生成測(cè)試執(zhí)行序列的步驟是基于被測(cè)試軟件的行為模型生成測(cè)試執(zhí)行序列的。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)權(quán)利要求所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述預(yù)定的條件是根據(jù)被測(cè)試軟件的功能定義的不應(yīng)包含的測(cè)試執(zhí)行序列;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括在生成的測(cè)試執(zhí)行序列中排除上述不應(yīng)包含的測(cè)試執(zhí)行序列。
6.根據(jù)權(quán)利要求1至4任意一項(xiàng)權(quán)利要求所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述預(yù)定的條件是測(cè)試實(shí)例的優(yōu)先權(quán),測(cè)試實(shí)例按照優(yōu)先權(quán)從高到低的順序執(zhí)行;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序選擇有效的測(cè)試執(zhí)行序列。
7.根據(jù)權(quán)利要求1至4任意一項(xiàng)權(quán)利要求所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,其中,所述預(yù)定的條件是測(cè)試實(shí)例的邏輯順序;所述根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列的步驟進(jìn)一步包括選擇符合上述邏輯順序的測(cè)試執(zhí)行序列。
8.根據(jù)權(quán)利要求1所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,還包括輸入測(cè)試實(shí)例的腳本的運(yùn)行周期;以及根據(jù)預(yù)定的條件和運(yùn)行周期選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
9.根據(jù)權(quán)利要求1所述的為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,還包括保存最后的測(cè)試執(zhí)行序列以重復(fù)使用。
10.一種測(cè)試執(zhí)行序列的生成裝置,包括輸入裝置,用于輸入測(cè)試實(shí)例的腳本;測(cè)試執(zhí)行序列發(fā)生器,用于根據(jù)輸入的腳本生成測(cè)試執(zhí)行序列;以及測(cè)試執(zhí)行序列過濾器,用于根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列。
11.根據(jù)權(quán)利要求10所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列發(fā)生器基于順序生成方法生成測(cè)試執(zhí)行序列。
12.根據(jù)權(quán)利要求10所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列發(fā)生器基于隨機(jī)生成方法生成測(cè)試執(zhí)行序列。
13.根據(jù)權(quán)利要求10所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列發(fā)生器基于被測(cè)試軟件的行為模型生成測(cè)試執(zhí)行序列。
14.根據(jù)權(quán)利要求10至13任意一項(xiàng)權(quán)利要求所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列過濾器在生成的測(cè)試執(zhí)行序列中排除根據(jù)被測(cè)試軟件的功能所定義的不應(yīng)包含的測(cè)試執(zhí)行序列。
15.根據(jù)權(quán)利要求10至13任意一項(xiàng)權(quán)利要求所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列過濾器根據(jù)測(cè)試實(shí)例的優(yōu)先權(quán)從高到低的順序選擇有效的測(cè)試執(zhí)行序列。
16.根據(jù)權(quán)利要求10至13任意一項(xiàng)權(quán)利要求所述的測(cè)試執(zhí)行序列的生成裝置,其中,所述測(cè)試執(zhí)行序列過濾器選擇符合測(cè)試實(shí)例的邏輯順序的測(cè)試執(zhí)行序列。
17.根據(jù)權(quán)利要求10所述的測(cè)試執(zhí)行序列的生成裝置,還包括存儲(chǔ)器,用于存儲(chǔ)最后的測(cè)試執(zhí)行序列。
全文摘要
本發(fā)明提供一種為軟件測(cè)試過程自動(dòng)生成測(cè)試執(zhí)行序列的方法,包括輸入測(cè)試實(shí)例的腳本;根據(jù)上述腳本生成測(cè)試執(zhí)行序列;以及根據(jù)預(yù)定的條件選擇有效的測(cè)試執(zhí)行序列,以生成最后的測(cè)試執(zhí)行序列;其中根據(jù)上述腳本生成測(cè)試執(zhí)行序列可基于順序生成方法、隨機(jī)生成方法和模型中的任一種方法,選擇有效的測(cè)試執(zhí)行序列可采用排除不應(yīng)包含的測(cè)試執(zhí)行序列、按照測(cè)試實(shí)例的優(yōu)先權(quán)選擇和按照測(cè)試實(shí)例的邏輯順序選擇之中的任一種或其組合。采用本發(fā)明,可以自動(dòng)生成具有多個(gè)測(cè)試實(shí)例的測(cè)試執(zhí)行序列,以提高在軟件自動(dòng)化測(cè)試中發(fā)現(xiàn)被測(cè)試軟件中的缺陷的能力,并且可通過JAVA API或GUI向測(cè)試者提供,便于測(cè)試者使用。
文檔編號(hào)G06F11/36GK1955945SQ20051011693
公開日2007年5月2日 申請(qǐng)日期2005年10月25日 優(yōu)先權(quán)日2005年10月25日
發(fā)明者康華 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司