亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種軟件測(cè)試管理方法及其系統(tǒng)的制作方法

文檔序號(hào):6562145閱讀:196來(lái)源:國(guó)知局
專利名稱:一種軟件測(cè)試管理方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測(cè)試技術(shù)領(lǐng)域,具體涉及一種軟件測(cè)試管理方法及其系統(tǒng)。

背景技術(shù)
軟件測(cè)試是軟件開發(fā)完成后,對(duì)軟件的正確性、可靠性和穩(wěn)定性進(jìn)行驗(yàn)證的環(huán)節(jié)。在現(xiàn)有的API函數(shù)級(jí)別的測(cè)試流程中,測(cè)試設(shè)計(jì)人員首先要向設(shè)計(jì)編寫API函數(shù)的程序員了解API函數(shù)的功能,再根據(jù)API函數(shù)的功能編寫測(cè)試用例方案,之后測(cè)試執(zhí)行人員根據(jù)這個(gè)測(cè)試用例方案在諸如匯編、C、C++、VC、JAVA等編譯環(huán)境中編寫對(duì)應(yīng)的測(cè)試程序,最后根據(jù)測(cè)試程序的執(zhí)行結(jié)果判斷被測(cè)API函數(shù)是否存在缺陷??梢?,現(xiàn)有的測(cè)試過(guò)程是一個(gè)先進(jìn)行測(cè)試用例方案的設(shè)計(jì),再根據(jù)測(cè)試用例方案編寫對(duì)應(yīng)測(cè)試程序的過(guò)程。針對(duì)不同的測(cè)試用例方案,要求測(cè)試執(zhí)行人員重新編寫對(duì)應(yīng)的測(cè)試程序。如果測(cè)試執(zhí)行人員在測(cè)試過(guò)程中增加或修改了測(cè)試程序,則需要測(cè)試設(shè)計(jì)人員根據(jù)測(cè)試程序的修改,在測(cè)試用例方案對(duì)應(yīng)的地方增加或修改相應(yīng)的測(cè)試用例描述。對(duì)應(yīng)過(guò)程比較耗時(shí),不能從測(cè)試程序中提取出測(cè)試用例,作為測(cè)試用例方案,影響了測(cè)試執(zhí)行效率。在有些情況下,有些測(cè)試用例還可以被重用,因此希望將編寫好的測(cè)試用例提取并保存下來(lái),當(dāng)需要時(shí)可以獲取并使用,用以提高測(cè)試軟件的效率。
DOXYGEN工具提供了一種從源文件注釋中提取出對(duì)應(yīng)文檔的功能,可以生成XML,HTML,RTF,PDF等文檔格式。并可以根據(jù)配置提取出源文件中的數(shù)據(jù)結(jié)構(gòu)及相應(yīng)的關(guān)系圖。提取出的文檔可以作為測(cè)試用例方案。但此工具并不能提供根據(jù)用戶的配置靈活提取測(cè)試用例的功能,也不具備測(cè)試用例管理的功能。
為了實(shí)現(xiàn)對(duì)測(cè)試用例的管理,申請(qǐng)?zhí)枮镃N200410086041.3的中國(guó)專利申請(qǐng)公開了一種基于腳本解釋工具的自動(dòng)化軟件測(cè)試系統(tǒng),用來(lái)對(duì)測(cè)試案例進(jìn)行有效的管理,解決測(cè)試案例重用問題。該專利申請(qǐng)的測(cè)試案例類似于上述測(cè)試用例。該專利申請(qǐng)采用測(cè)試總控單元通過(guò)人機(jī)界面接收用戶的操作指令信息,并控制測(cè)試案例處理單元從測(cè)試案例庫(kù)中讀取測(cè)試案例的初始數(shù)據(jù),經(jīng)用戶的編輯操作之后,以文本的形式保存測(cè)試案例腳本,并將其路徑保存在測(cè)試案例庫(kù)中。該專利申請(qǐng)能夠自動(dòng)根據(jù)用戶指令從測(cè)試案例庫(kù)中提取測(cè)試案例,并生成測(cè)試案例腳本。但是其缺點(diǎn)在于,該系統(tǒng)不能從測(cè)試程序文件中直接提取測(cè)試案例,所提取的測(cè)試案例是用戶事先編寫完成并存放在測(cè)試案例庫(kù)中的,因此需要向測(cè)試案例庫(kù)添加測(cè)試案例時(shí),需要用戶先編寫好測(cè)試案例,再存入測(cè)試案例庫(kù),該新的測(cè)試案例才能夠被使用。因此,對(duì)軟件測(cè)試管理系統(tǒng)進(jìn)行管理時(shí),工作效率不高,且不能夠從測(cè)試程序中直接提取測(cè)試用例。
可見,如何對(duì)測(cè)試用例既進(jìn)行靈活的提取,又進(jìn)行方便的管理,是一個(gè)亟待解決的問題。


發(fā)明內(nèi)容
有鑒于此,本發(fā)明的第一個(gè)主要目的在于提供一種軟件測(cè)試管理方法,可以方便、靈活的獲取測(cè)試用例,實(shí)現(xiàn)對(duì)測(cè)試用例的管理,提高測(cè)試人員測(cè)試軟件的工作效率。
本發(fā)明第二個(gè)主要目的在于提供一種軟件測(cè)試管理系統(tǒng),可以方便、靈活的獲取測(cè)試用例,實(shí)現(xiàn)對(duì)測(cè)試用例的管理,提高測(cè)試人員測(cè)試軟件的工作效率。
為達(dá)到上述發(fā)明目的的第一個(gè)方面,本發(fā)明提供了一種軟件測(cè)試管理方法,該方法包括 A、根據(jù)輸入的配置項(xiàng),獲取測(cè)試程序文件或已有文本用例; B、根據(jù)所述配置項(xiàng)和所述測(cè)試程序文件或已有文本用例,獲取測(cè)試用例。
該方法進(jìn)一步包括C、將所述步驟B獲取的測(cè)試用例導(dǎo)入數(shù)據(jù)庫(kù)。
當(dāng)根據(jù)測(cè)試程序文件提取測(cè)試用例時(shí),所述配置項(xiàng)為提取測(cè)試用例配置項(xiàng); 所述步驟A為根據(jù)輸入的提取測(cè)試用例配置項(xiàng),生成配置文件;并根據(jù)該配置文件獲取測(cè)試程序文件; 所述步驟B為根據(jù)所述配置文件和所述測(cè)試程序文件,獲取測(cè)試用例。
所述步驟C進(jìn)一步包括,將根據(jù)所述配置文件獲取的所述測(cè)試用例的項(xiàng)目信息導(dǎo)入所述數(shù)據(jù)庫(kù)。
當(dāng)采用數(shù)據(jù)庫(kù)測(cè)試用例生成測(cè)試框架時(shí),該方法進(jìn)一步包括 D、根據(jù)輸入的生成測(cè)試框架配置項(xiàng),生成第二配置文件;根據(jù)所述生成測(cè)試框架配置項(xiàng),從所述數(shù)據(jù)庫(kù)中獲取符合生成測(cè)試框架配置項(xiàng)要求的測(cè)試用例及其項(xiàng)目信息,并形成測(cè)試用例文件; E、根據(jù)所述第二配置文件和所述測(cè)試用例文件,生成測(cè)試程序框架。
當(dāng)根據(jù)已有文本用例生成測(cè)試程序框架時(shí),所述配置項(xiàng)為生成測(cè)試框架配置項(xiàng); 所述步驟A為根據(jù)輸入的所述生成測(cè)試框架配置項(xiàng),生成第二配置文件;并根據(jù)所述生成測(cè)試框架配置項(xiàng)獲取已有文本用例; 所述步驟B為根據(jù)所述生成測(cè)試框架配置項(xiàng)和所述已有文本用例,獲取測(cè)試用例及其項(xiàng)目信息; 該方法進(jìn)一步包括 根據(jù)所述測(cè)試用例及其項(xiàng)目信息形成測(cè)試用例文件; 根據(jù)所述第二配置文件和所述測(cè)試用例文件,生成測(cè)試程序框架。
較佳的,本發(fā)明的軟件測(cè)試管理方法進(jìn)一步包括根據(jù)輸入的管理信息,對(duì)所述數(shù)據(jù)庫(kù)中的測(cè)試用例進(jìn)行管理。
為實(shí)現(xiàn)上述發(fā)明目的的第二個(gè)方面,本發(fā)明提供了一種軟件測(cè)試管理系統(tǒng),該系統(tǒng)包括圖形用戶界面GUI、管理模塊和文件導(dǎo)入模塊; 所述GUI,用于將用戶輸入的配置項(xiàng)輸出給管理模塊; 所述管理模塊,用于根據(jù)所述配置項(xiàng)獲取測(cè)試程序文件或已有文本用例;再根據(jù)所述配置文件和所述測(cè)試程序文件或已有文本用例,獲取測(cè)試用例; 所述文件導(dǎo)入模塊,用于將所述管理模塊選取的測(cè)試程序文件或已有文本用例,通過(guò)所述GUI導(dǎo)入所述管理模塊。
較佳的,該系統(tǒng)進(jìn)一步包括數(shù)據(jù)庫(kù),用于存儲(chǔ)從所述管理模塊獲取的測(cè)試用例。
所述管理模塊包括提取測(cè)試用例模塊,用于根據(jù)提取測(cè)試用例配置項(xiàng)生成配置文件,并根據(jù)該配置文件獲取測(cè)試程序文件;再根據(jù)所述配置文件和所述測(cè)試程序文件,獲取測(cè)試用例;根據(jù)所述配置文件獲取項(xiàng)目信息;將獲取的所述測(cè)試用例和所述項(xiàng)目信息導(dǎo)入到數(shù)據(jù)庫(kù)。
所述管理模塊進(jìn)一步包括數(shù)據(jù)庫(kù)管理模塊,用于根據(jù)用戶通過(guò)GUI輸入的管理信息,對(duì)所述數(shù)據(jù)庫(kù)中的信息進(jìn)行管理;還用于將所述管理模塊根據(jù)所述配置文件和所述已有文本用例獲取的測(cè)試用例及其項(xiàng)目信息導(dǎo)入所述數(shù)據(jù)庫(kù)。
該系統(tǒng)進(jìn)一步包括文件生成模塊;所述管理模塊進(jìn)一步包括生成測(cè)試框架模塊; 所述生成測(cè)試框架模塊,用于根據(jù)用戶輸入的生成測(cè)試框架配置項(xiàng)生成第二配置文件;根據(jù)所述生成測(cè)試框架配置項(xiàng)從所述數(shù)據(jù)庫(kù)獲取測(cè)試用例及其項(xiàng)目信息,形成測(cè)試用例文件;將所述第二配置文件和所述測(cè)試用例文件輸出給所述文件生成模塊; 所述文件生成模塊,用于根據(jù)所述第二配置文件和所述測(cè)試用例文件生成測(cè)試框架。
與現(xiàn)有技術(shù)相比,本發(fā)明所提供的軟件測(cè)試管理方法及其系統(tǒng),可以根據(jù)用戶輸入的提取測(cè)試用例配置項(xiàng),從已有的測(cè)試程序文件或已有文本用例中提取所需的測(cè)試用例。此時(shí),可以將測(cè)試用例存入測(cè)試用例數(shù)據(jù)庫(kù)中,從而方便的實(shí)現(xiàn)了測(cè)試用例的添加,提高了測(cè)試人員的工作效率;其次,用戶還可以通過(guò)GUI操作,對(duì)測(cè)試用例數(shù)據(jù)庫(kù)中的測(cè)試用例進(jìn)行修改,刪除,查找等操作,從而實(shí)現(xiàn)了對(duì)測(cè)試用例的管理,便于更為有效的利用測(cè)試用例數(shù)據(jù)庫(kù)中的測(cè)試用例。另外,本發(fā)明根據(jù)用戶輸入的生成測(cè)試框架配置項(xiàng),從測(cè)試用例數(shù)據(jù)庫(kù)或者已有文本用例中獲取所需測(cè)試用例,生成測(cè)試用例與測(cè)試函數(shù)一一對(duì)應(yīng)的測(cè)試程序框架,測(cè)試人員只需在測(cè)試程序框架的測(cè)試程序文件中填寫測(cè)試函數(shù)即可完成測(cè)試程序的編寫,且生成的測(cè)試程序文件分類存放于不同目錄下,方便測(cè)試人員查找和編寫程序使用。



圖1為本發(fā)明軟件測(cè)試管理系統(tǒng)的系統(tǒng)組成框圖。
圖2為本發(fā)明提取測(cè)試用例方法流程圖。
圖3為圖2步驟207將文件集合中的測(cè)試用例寫入XML文件的方法流程圖。
圖4為本發(fā)明讀取配置文件的方法流程圖。
圖5為本發(fā)明生成測(cè)試程序框架的實(shí)施例一的方法流程圖。
圖6本發(fā)發(fā)明生成測(cè)試程序框架的實(shí)施例二的方法流程圖。
圖7為本發(fā)明測(cè)試程序框架寫入源文件的方法流程圖
具體實(shí)施例方式 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的核心思想為軟件測(cè)試管理系統(tǒng)根據(jù)輸入的配置項(xiàng),獲取測(cè)試程序文件或已有文本用例;并根據(jù)該配置項(xiàng)內(nèi)容和獲取的測(cè)試程序文件或已有文本用例,獲取測(cè)試用例。
圖1為本發(fā)明軟件測(cè)試管理系統(tǒng)的系統(tǒng)組成框圖。如圖1所示,該軟件測(cè)試管理系統(tǒng)包括文件導(dǎo)入模塊110、圖形用戶界面(GUI)120、管理模塊130、測(cè)試用例數(shù)據(jù)庫(kù)140和文件生成模塊150。
其中,文件導(dǎo)入模塊110,用于向GUI120輸入待提取測(cè)試程序文件或者已有文本用例。其中,待提取測(cè)試程序文件是已經(jīng)編寫好的測(cè)試程序文件,該待提取測(cè)試程序文件根據(jù)項(xiàng)目名,測(cè)試類別分別被保存在不同的目錄下。測(cè)試程序文件的內(nèi)容包括以注釋形式存在的測(cè)試ID、測(cè)試目的、測(cè)試描述、預(yù)期結(jié)果和測(cè)試時(shí)間等測(cè)試用例內(nèi)容,以及對(duì)應(yīng)于該測(cè)試用例的測(cè)試函數(shù)。一個(gè)測(cè)試程序文件可能包含一個(gè)或一個(gè)以上的測(cè)試用例;其中,已有文本用例為文本形式的測(cè)試用例。
GUI120,用于向用戶提供操作界面。該GUI包括輸入界面121和輸出界面122。軟件測(cè)試管理系統(tǒng)通過(guò)輸入界面121獲取文件導(dǎo)入模塊110中的待提取測(cè)試程序文件或者已有文本用例;用戶通過(guò)該輸入界面121輸入提取測(cè)試用例配置項(xiàng)給管理模塊130。該提取測(cè)試用例配置項(xiàng)是對(duì)所要提取的測(cè)試用例的條件限定。用戶通過(guò)輸出界面122輸入生成測(cè)試框架配置項(xiàng)給管理模塊130。該生成測(cè)試框架配置項(xiàng)是對(duì)所要生成測(cè)試框架內(nèi)容的條件限定。
文件生成模塊150,用于根據(jù)從管理模塊130獲取的配置文件和測(cè)試用例生成測(cè)試框架配置項(xiàng),或根據(jù)從管理模塊130獲取的測(cè)試用例,生成新文本用例。
管理模塊130,包括提取測(cè)試用例模塊131,用于根據(jù)上述用戶輸入的提取測(cè)試用例配置項(xiàng)對(duì)待提取測(cè)試程序文件進(jìn)行提取測(cè)試用例,并將提取的測(cè)試用例導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)140中。
管理模塊130還包括數(shù)據(jù)庫(kù)管理模塊132,用于將輸入界面121接收的已有文本用例導(dǎo)入到測(cè)試用例數(shù)據(jù)庫(kù)140中;該數(shù)據(jù)庫(kù)管理模塊132可以對(duì)測(cè)試用例數(shù)據(jù)庫(kù)140中的測(cè)試用例進(jìn)行增加、刪除、修改和查找的管理操作;此外,該模塊根據(jù)用戶在輸出界面122輸入的生成文本用例配置項(xiàng),從測(cè)試用例數(shù)據(jù)庫(kù)140中獲取測(cè)試用例,并在文件生成模塊150中生成新文本用例,并進(jìn)行瀏覽打印。
管理模塊130還包括生成測(cè)試框架模塊133,用于根據(jù)用戶在輸出界面122輸入的生成測(cè)試框架配置項(xiàng)從測(cè)試用例數(shù)據(jù)庫(kù)140中獲取測(cè)試用例,并把根據(jù)該生成測(cè)試框架配置項(xiàng)生成的配置文件和根據(jù)該生成測(cè)試框架配置項(xiàng)獲取的測(cè)試用例通過(guò)輸出界面122輸出給文件生成模塊150。
測(cè)試用例數(shù)據(jù)庫(kù)140,用于存儲(chǔ)測(cè)試用例。如果直接采用管理模塊130獲取的已有文本用例中的測(cè)試用例生成測(cè)試程序框架,則該軟件測(cè)試管理系統(tǒng)也可以不包括測(cè)試用例數(shù)據(jù)庫(kù)140。
該軟件測(cè)試管理系統(tǒng)中,GUI120為管理模塊130和文件導(dǎo)入模塊110之間、管理模塊130和文件生成模塊150之間提供一個(gè)信息傳輸接口。管理模塊130也可以直接與文件導(dǎo)入模塊110和文件生成模塊150相連,直接從文件導(dǎo)入模塊110獲取待提取測(cè)試程序文件或者已有文本用例,以及直接向文件生成模塊輸出用于生成測(cè)試程序框架的測(cè)試用例及其相關(guān)信息。
本發(fā)明的軟件測(cè)試管理系統(tǒng),將從測(cè)試程序文件提取的測(cè)試用例存儲(chǔ)在測(cè)試用例數(shù)據(jù)庫(kù)140中。為了方便查找和管理測(cè)試用例,測(cè)試用例數(shù)據(jù)庫(kù)140中還存儲(chǔ)有與測(cè)試用例相關(guān)的項(xiàng)目信息。該項(xiàng)目信息來(lái)自用戶輸入的提取測(cè)試用例配置項(xiàng)。以下提取測(cè)試用例方法實(shí)施例中,提取并存入測(cè)試用例數(shù)據(jù)庫(kù)的不僅有測(cè)試用例還有其項(xiàng)目信息。
圖2為本發(fā)明提取測(cè)試用例方法流程圖。該方法的具體步驟如下 步驟201,用戶通過(guò)輸入界面121輸入提取測(cè)試用例配置項(xiàng)。
本步驟中,用戶需要輸入的提取測(cè)試用例配置項(xiàng)包括以下幾項(xiàng)內(nèi)容 項(xiàng)目名和項(xiàng)目成員這兩項(xiàng)內(nèi)容由用戶輸入,用以在將測(cè)試用例寫入測(cè)試用例數(shù)據(jù)庫(kù)時(shí),作為寫入的信息。
項(xiàng)目時(shí)間表示本次提取測(cè)試用例的時(shí)間。例如2006.10.24。
項(xiàng)目描述表示對(duì)本次提取測(cè)試用例目的的描述。例如該項(xiàng)目用于演示(This project is used for demo)。
測(cè)試分類表示本次需要提取何種測(cè)試分類的測(cè)試用例。該測(cè)試類別包括功能測(cè)試,性能測(cè)試,壓力測(cè)試、兼容性測(cè)試、一致性測(cè)試等測(cè)試分類。每種分類的測(cè)試程序文件都存儲(chǔ)在對(duì)應(yīng)的文件夾中。本實(shí)施例采用文件名來(lái)區(qū)分待提取測(cè)試程序文件的測(cè)試類型。例如功能測(cè)試的文件名以F作為前綴,性能測(cè)試的文件名以P作為前綴,壓力測(cè)試的文件名以S作為前綴,兼容性測(cè)試的文件名以C作為前綴。該配置項(xiàng)可以選擇一個(gè)或一個(gè)以上的分類,如果不選擇則默認(rèn)為選擇了所有的測(cè)試分類。
待提取文件類型表示需要從何種文件類型的待提取測(cè)試程序文件中提取測(cè)試用例。測(cè)試程序文件的類型根據(jù)采用的編譯環(huán)境不同而有所不同,可以包括匯編、C、C++、VC、JAVA等類型的文件。可以采用文件的擴(kuò)展名來(lái)區(qū)分文件類型,文件的擴(kuò)展名可以為.c、.asm、.java等。該配置項(xiàng)可以選擇一個(gè)或一個(gè)以上的類型,如果不選擇則默認(rèn)為選擇了所有的文件類型。
待提取文件路徑表示待提取測(cè)試程序文件所在的路徑,提取測(cè)試用例模塊131可以根據(jù)該路徑找到待提取測(cè)試程序文件。
注釋標(biāo)識(shí)表示需提取的測(cè)試用例所采用的注釋符號(hào)??梢赃x擇“/*@...@*/”,則提取測(cè)試用例時(shí),會(huì)提取“/*@...@*/”符號(hào)中的內(nèi)容。該注釋標(biāo)識(shí)可以選用其它標(biāo)志符號(hào),例如“/*§...§*/”等。
顯示樣式表示提取出的測(cè)試用例采用何種顯示樣式。本實(shí)施例指定擴(kuò)展標(biāo)識(shí)語(yǔ)言(XML)格式作為指定顯示樣式,因此從測(cè)試程序文件中提取的測(cè)試用例先寫入XML文件,再利用perl腳本工具將XML文件中的內(nèi)容導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)。本實(shí)施例中,腳本的解釋工具采用perl腳本工具,perl腳本工具用于將某種形式的文件內(nèi)容讀取到變量中,以便使用該變量進(jìn)行某些操作,或者將該變量寫入某些文件。本實(shí)施例讀取配置文件內(nèi)容,讀取XML格式的測(cè)試用例文件信息,生成XML格式的測(cè)試用例文件,并將該文件導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)中,都采用perl腳本工具。采用perl腳本工具是為了對(duì)本發(fā)明進(jìn)行更好的說(shuō)明,但不局限于此,可以使用能夠和數(shù)據(jù)庫(kù)掛接的其它語(yǔ)言。
連接數(shù)據(jù)庫(kù)信息表示提取出的測(cè)試用例所要保存的指定測(cè)試用例數(shù)據(jù)庫(kù),該連接數(shù)據(jù)庫(kù)信息包括所要連接測(cè)試用例數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)名稱,數(shù)據(jù)庫(kù)地址,數(shù)據(jù)庫(kù)端口,賬戶,密碼信息。
以上各配置項(xiàng)中,待提取文件路徑、待提取文件類型、注釋標(biāo)識(shí)為基本信息;項(xiàng)目名、項(xiàng)目成員、項(xiàng)目時(shí)間、項(xiàng)目描述、測(cè)試分類為項(xiàng)目信息;連接數(shù)據(jù)庫(kù)信息為數(shù)據(jù)庫(kù)信息。
本實(shí)施例中,用戶輸入項(xiàng)目名為G2000,項(xiàng)目成員為alen,項(xiàng)目時(shí)間為2006.10.24,項(xiàng)目描述為This project is used for demo,測(cè)試分類為功能測(cè)試和性能測(cè)試(Function,Performance),待提取文件路徑為./G2000,待提取文件類型為.c,注釋標(biāo)識(shí)為/*@...@*/,顯示樣式為XML,連接數(shù)據(jù)庫(kù)信息的數(shù)據(jù)庫(kù)名稱為MySQL,數(shù)據(jù)庫(kù)地址為10.1.1.1,數(shù)據(jù)庫(kù)端口為1021,賬戶為test,密碼為test。
步驟202,管理模塊130根據(jù)提取測(cè)試用例配置項(xiàng)形成配置文件。
本步驟中,根據(jù)提取測(cè)試用例配置項(xiàng)形成配置文件,是將提取測(cè)試用例配置項(xiàng)寫入配置文件的過(guò)程,具體方法是將提取測(cè)試用例配置項(xiàng)每個(gè)字段的內(nèi)容存儲(chǔ)到對(duì)應(yīng)的變量中,將該些變量的變量名及其變量值逐行寫入到配置文件中。此時(shí)配置文件包括基本信息、項(xiàng)目信息、數(shù)據(jù)庫(kù)信息等。該配置文件的內(nèi)容是以節(jié)的方式記錄的,本實(shí)施例中,節(jié)以“[]”作為標(biāo)志,后接該節(jié)內(nèi)的變量名及其變量值。
其中,基本信息以[General]的節(jié)表示,包括待提取文件路徑(Path)、待提取文件類型/文件擴(kuò)展名(File Extension)、注釋標(biāo)識(shí)(CommentMark)等變量名及其變量值;項(xiàng)目信息以[Project]的節(jié)表示,包括項(xiàng)目名(ProjectName)、項(xiàng)目成員(ProjectMember)、關(guān)鍵字(Keyword)、測(cè)試類別(Type)等變量名及其變量值;數(shù)據(jù)庫(kù)信息以[DB]的節(jié)表示,包括數(shù)據(jù)庫(kù)名稱(DBName)、數(shù)據(jù)庫(kù)地址(DBAddress)、數(shù)據(jù)庫(kù)端口(DBPort)、賬戶(DBAccount)、密碼(DBCode)等變量名及其變量值。上述每條信息是分別逐行寫入配置文件的。其中,關(guān)鍵字可以有一個(gè)以上,本實(shí)施例中有兩個(gè),分別對(duì)應(yīng)項(xiàng)目時(shí)間(Keyword1)和項(xiàng)目描述(Keyword2),該關(guān)鍵字可以根據(jù)需要添加;根據(jù)用戶輸入的配置項(xiàng),文件擴(kuò)展名和測(cè)試類別可以有一個(gè)以上,本實(shí)施例中文件擴(kuò)展名有一個(gè),即.c;由于用戶選擇了兩個(gè)測(cè)試類別,因此測(cè)試類別在配置文件中有兩個(gè),即Type1和Type2。
本實(shí)施例中,形成的配置文件如下所示 [General] Path=./G2000 File Extension=.c CommentMark=/*@...@*/ [Project] ProjectName=G2000 ProjectMember=″alen″ Keyword1=2006.10.24 Keyword2=This project is used for demo Type1=Function Type2=Performance [DB] DBName=MySQL DBAddress=10.1.1.1 DBPort=1021 DBAccount=test DBCode=test 步驟203,采用perl腳本讀取配置文件。
本步驟中,提取測(cè)試用例模塊131采用perl腳本工具逐行讀取在步驟202中形成的配置文件,將讀取出的配置文件數(shù)據(jù)存放于perl腳本工具的配置信息變量中,等待調(diào)用。以下所述的根據(jù)配置文件中的信息執(zhí)行的操作,實(shí)際上是根據(jù)相應(yīng)的配置信息變量執(zhí)行的。
步驟204,查詢指定目錄及其子目錄下的文件。
本步驟中,采用perl腳本語(yǔ)言提供的模塊函數(shù),查詢配置文件中待提取文件路徑所指定的目錄及其目錄下的待提取測(cè)試程序文件。本實(shí)施例中查詢目錄為./G2000下測(cè)試程序文件,由于測(cè)試程序文件按照測(cè)試分類存放于分類子目錄下,因此perl腳本工具根據(jù)配置文件中提供的Type信息,查詢功能測(cè)試測(cè)試目錄和性能測(cè)試目錄下的所有測(cè)試程序文件。
步驟205,判斷是否查詢到符合條件的文件。如果查詢到,則執(zhí)行步驟206;否則,執(zhí)行步驟209,結(jié)束本流程。
本步驟中,符合條件的文件是指符合File Extension要求,以及符合Type要求的待提取測(cè)試用例文件。本實(shí)施例中,提取測(cè)試用例模塊131判斷功能測(cè)試和性能測(cè)試子目錄中是否有File Extension為.c的測(cè)試程序文件。
步驟206,將查詢出的文件集合保存。
本步驟中,將查詢出的符合條件的測(cè)試程序文件所在路徑及文件名保存到一個(gè)文件集合,即,以一個(gè)數(shù)據(jù)結(jié)構(gòu)來(lái)保存這些測(cè)試程序文件的路徑及文件名。
步驟207,根據(jù)配置文件,將文件集合中符合條件的測(cè)試用例提取出來(lái),并寫入XML文件。
本步驟中,符合條件的測(cè)試用例是指測(cè)試用例的注釋標(biāo)識(shí)與用戶配置的注釋標(biāo)識(shí)相匹配的測(cè)試用例。這些測(cè)試用例可以導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)140,以實(shí)現(xiàn)對(duì)測(cè)試用例的管理,并且可以在需要時(shí)導(dǎo)出使用。將文件集合中符合條件的測(cè)試用例導(dǎo)入數(shù)據(jù)庫(kù)140,需要先將測(cè)試用例從測(cè)試程序文件中提取出來(lái),并寫入XML文件。生成的XML文件為XML格式的測(cè)試用例文件,包括項(xiàng)目信息和從測(cè)試程序文件中提取出的測(cè)試用例。其中,項(xiàng)目信息是配置文件中的項(xiàng)目信息。XML文件中每個(gè)測(cè)試用例均以文件名(file name)作為開始標(biāo)識(shí),后面依次寫入測(cè)試用例的測(cè)試ID,測(cè)試目的,測(cè)試描述,預(yù)期結(jié)果和測(cè)試時(shí)間;同一測(cè)試分類的測(cè)試用例寫在一起,以分類名稱(typename)作為開始標(biāo)識(shí)。該XML文件中可能有多個(gè)測(cè)試分類,每一個(gè)測(cè)試分類中可能有多個(gè)測(cè)試用例。本實(shí)施例中,形成的XML文件的內(nèi)容如下所示 <?xml version=″1.0″e(cuò)ncoding=″gb2312″?> <project projectname=″G2000″projectmember=″alem,joe,mark″ keyword1=″2006.10.24″keyword2=″This project is used for demo″> <type name=″Function″> <file name=″./G2000/Function/F_A.c″line=”001”> <測(cè)試ID>F_A </測(cè)試ID> <測(cè)試目的>驗(yàn)證C可編譯 </測(cè)試目的> <測(cè)試描述> 在屏幕上打印Hello world </測(cè)試描述> <預(yù)期結(jié)果> 屏幕上出現(xiàn)Hello world </預(yù)期結(jié)果> <測(cè)試時(shí)間> 2006.10.24 </測(cè)試時(shí)間> </file></type><type name=″Performance″> <file name=″./G2000/Performance/P_A.c″line=”012”> <測(cè)試ID> P_A </測(cè)試ID> <測(cè)試目的> 再次驗(yàn)證C可編譯 </測(cè)試目的> <測(cè)試描述> 在屏幕上打印Hello world-again </測(cè)試描述> <預(yù)期結(jié)果> 屏幕上出現(xiàn)Hello world-again </預(yù)期結(jié)果> <測(cè)試時(shí)間> 2006.10.24 </測(cè)試時(shí)間> </file> </type> </project> 以上XML文件中,第一行為相關(guān)的版本信息。XML文件的每一信息段的結(jié)束均以</>表示,根據(jù)不同信息段</>填入不同的內(nèi)容。上述XML文件中提取了路徑/G2000/Function/下的文件F_A.c中的測(cè)試用例(假設(shè)該文件中只有一個(gè)符合注釋標(biāo)識(shí)測(cè)試用例),該用例在待提取測(cè)試程序文件F_A.c中的起始行的行號(hào)為line=“001”表示。如果寫入XML文件有多個(gè)測(cè)試用例,再如上述XML文件中還提取了路徑/G2000/Performance/下的文件P_A.c中的測(cè)試用例(假設(shè)該文件只有一個(gè)符合注釋標(biāo)識(shí)測(cè)試用例),該用例在待提取測(cè)試程序文件P_A.c中的起始行的行號(hào)為line=“012”表示。
步驟208,將XML文件導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)。
本步驟中,測(cè)試用例數(shù)據(jù)庫(kù)是由配置文件中數(shù)據(jù)庫(kù)信息指定的,并根據(jù)該數(shù)據(jù)庫(kù)信息創(chuàng)建測(cè)試用例數(shù)據(jù)庫(kù)連接。該測(cè)試用例數(shù)據(jù)庫(kù)包含測(cè)試用例表和項(xiàng)目信息表。將XML文件導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)的過(guò)程為,perl腳本工具讀取XML文件內(nèi)容,將XML文件中的項(xiàng)目名、項(xiàng)目成員、項(xiàng)目時(shí)間、項(xiàng)目描述寫入項(xiàng)目信息表的相應(yīng)字段中,并將XML文件中的各測(cè)試用例都寫入測(cè)試用例表的相應(yīng)字段中,測(cè)試用例表的字段包括項(xiàng)目名、測(cè)試分類、測(cè)試ID、測(cè)試目的、測(cè)試描述、預(yù)期結(jié)果、測(cè)試時(shí)間。為了進(jìn)一步方便用戶使用該測(cè)試用例表對(duì)測(cè)試用例進(jìn)行管理,使得測(cè)試用例庫(kù)反應(yīng)更多的信息,該測(cè)試用例表中還可以包括文件名(Filename)和測(cè)試用例行號(hào)(line)字段。文件名和測(cè)試用例行號(hào)也都是從上述XML文件中得到的。本實(shí)施例中,將XML文件導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)后形成的測(cè)試用例表如表1所示,項(xiàng)目信息表如表2所示 表1 表2 需要使用測(cè)試用例數(shù)據(jù)庫(kù)存儲(chǔ)的測(cè)試用例時(shí),可以通過(guò)輸入界面121利用測(cè)試ID字段精確查詢測(cè)試用例,或者利用測(cè)試用例表中的“測(cè)試描述”字段或項(xiàng)目信息表中“項(xiàng)目描述”字段、“項(xiàng)目成員”字段進(jìn)行模糊查詢。用戶還可以通過(guò)GUI操作,通過(guò)對(duì)測(cè)試用例表和項(xiàng)目信息表中內(nèi)容的管理實(shí)現(xiàn)對(duì)測(cè)試用例數(shù)據(jù)庫(kù)中的各字段信息進(jìn)行增加、刪除或修改。
步驟209,結(jié)束本流程。
在提取測(cè)試用例過(guò)程中,步驟207是將符合條件的測(cè)試用例逐一寫入XML文件的過(guò)程。如圖3所示,形成XML文件的步驟如下 步驟2071,將項(xiàng)目信息寫入XML文件。
本步驟中,將配置文件中項(xiàng)目信息的項(xiàng)目名、項(xiàng)目成員、項(xiàng)目時(shí)間、項(xiàng)目描述寫入XML文件中,這些信息是用戶輸入提取測(cè)試用例配置項(xiàng)時(shí)輸入的,用于在將XML文件導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)時(shí)填入項(xiàng)目信息表。
步驟2072,判斷文件集合中的測(cè)試程序文件是否已經(jīng)全部處理完畢,如果沒有處理完畢,則循環(huán)執(zhí)行步驟2073~2077,直到文件集合中的文件全部處理完畢;如果文件集合的文件處理完畢,則執(zhí)行步驟208,將寫入到XML文件中的測(cè)試用例導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)140。
本步驟中,采用遍歷整個(gè)存儲(chǔ)文件路徑及文件名的數(shù)據(jù)結(jié)構(gòu)來(lái)判斷文件集合中的文件是否全部處理完畢。在遍歷時(shí)按照測(cè)試分類遍歷。本實(shí)施例中,按照Type1,Type2的順序?qū)ξ募现械奈募M(jìn)行遍歷。Type1表示功能測(cè)試,因此首先處理文件集合中功能測(cè)試的測(cè)試程序文件,測(cè)試程序文件的文件名的前綴標(biāo)識(shí)出了該測(cè)試程序文件的類型。
步驟2073,打開當(dāng)前文件,匹配注釋內(nèi)容。
本步驟中,遍歷到一個(gè)測(cè)試程序文件后,將該測(cè)試程序文件打開,采用perl腳本工具逐行讀取并查找與注釋標(biāo)識(shí)相匹配的注釋符號(hào),如“/*@...@*/”。
步驟2074,判斷步驟2073是否匹配到符合的注釋。如果當(dāng)前測(cè)試程序文件沒有符合的注釋,則執(zhí)行步驟2075,處理下一個(gè)測(cè)試程序文件,并返回步驟2072;若匹配到符合條件的注釋,執(zhí)行步驟2076。
步驟2076,提取出測(cè)試用例,寫入XML文件。
本步驟中,利用perl腳本工具提供的正則表達(dá)式提取所查找到符合條件的注釋內(nèi)容,即測(cè)試用例,并放入臨時(shí)變量中,然后把該臨時(shí)變量中的測(cè)試用例寫入XML文件中。本步驟中提取出的測(cè)試用例寫入文件的格式還可以是HTML、RFT、TXT等格式文件。文件的格式是根據(jù)用戶輸入的顯示樣式?jīng)Q定的。本實(shí)施例中,寫入XML文件的測(cè)試用例內(nèi)容包括測(cè)試ID、測(cè)試目的、測(cè)試描述、預(yù)期結(jié)果和測(cè)試時(shí)間等。
步驟2077,判斷當(dāng)前文件是否處理完畢。若沒有處理完畢,則重復(fù)執(zhí)行步驟2074、2076、2077,直到當(dāng)前打開的文件處理完畢,執(zhí)行步驟2075,處理下一個(gè)文件,并轉(zhuǎn)入步驟2072。
在提取測(cè)試用例過(guò)程中,步驟203采用perl腳本語(yǔ)言取逐行讀取配置文件。參見圖4,讀取配置文件方法的具體步驟如下 步驟300,打開配置文件。
步驟301,采用perl腳本工具讀取一行該配置文件中的內(nèi)容。
步驟302,判斷讀取的內(nèi)容是否為“節(jié)”標(biāo)志開始。本實(shí)施例是以“[]”為節(jié)標(biāo)志,但也不限于此,可以是其它類型的標(biāo)志符號(hào),例如“{}”等。如果該行內(nèi)容是節(jié)標(biāo)志開始,則執(zhí)行步驟306,將節(jié)名稱即“[]”中的內(nèi)容讀入配置信息變量;如果不是節(jié)標(biāo)志開始,則執(zhí)行步驟303進(jìn)一步判斷該讀取的內(nèi)容是否為變量名;若不是變量名則返回步驟301再讀入一行內(nèi)容;否則,執(zhí)行步驟304、305,讀入變量名,并對(duì)該變量名賦值。
步驟307,判斷配置文件是否結(jié)束。若沒有結(jié)束,返回步驟301再讀入一行;否則執(zhí)行步驟308,關(guān)閉配置文件。
步驟309,配置文件所有數(shù)據(jù)存放在配置信息變量中等待下一步調(diào)用。
步驟310,讀取配置文件結(jié)束。
以上提取測(cè)試用例方法的實(shí)施例,是對(duì)待提取的測(cè)試程序文件進(jìn)行提取測(cè)試用例。還可以從已有文本用例中提取測(cè)試用例。已有文本用例的文件包括測(cè)試用例及其項(xiàng)目信息。其內(nèi)容類似于上述從測(cè)試程序文件提取測(cè)試用例XML文件的內(nèi)容。因此在圖2的步驟201中可以將文件導(dǎo)入模塊110中已有文本用例,通過(guò)輸入界面121導(dǎo)入管理模塊130。管理模塊130中的數(shù)據(jù)庫(kù)管理模塊132將已有文本用例加入到測(cè)試用例數(shù)據(jù)庫(kù)140中,并根據(jù)已有文本用例中測(cè)試用例在測(cè)試用例表中建立字段,根據(jù)已有文本用例中項(xiàng)目信息在項(xiàng)目信息表中建立字段。數(shù)據(jù)庫(kù)管理模塊132還通過(guò)GUI向用戶提供的可視化的數(shù)據(jù)庫(kù)管理界面,用戶可以通過(guò)界面操作輸入管理信息,以添加的方式增加字段及其數(shù)據(jù),或者重新編輯數(shù)據(jù)庫(kù)字段,例如測(cè)試用例庫(kù)中的項(xiàng)目名和測(cè)試分類字段。
本發(fā)明的提取測(cè)試用例方法可以根據(jù)用戶輸入的提取測(cè)試用例配置項(xiàng),從測(cè)試程序文件中提取出測(cè)試用例,并保存在測(cè)試用例數(shù)據(jù)庫(kù)中。需要時(shí),用戶只需從數(shù)據(jù)庫(kù)管理界面中輸入所需的測(cè)試用例的配置項(xiàng),即可瀏覽打印所需的測(cè)試用例。如果只輸入了項(xiàng)目名就可得到該項(xiàng)目所有測(cè)試用例,即測(cè)試用例方案。簡(jiǎn)化了測(cè)試人員先進(jìn)行測(cè)試用例方案設(shè)計(jì),再進(jìn)行測(cè)試用例編寫的過(guò)程。而是可以先進(jìn)行測(cè)試程序文件的編寫,再通過(guò)提取測(cè)試用例的方法從測(cè)試程序文件中提取出測(cè)試用例,并形成測(cè)試用例方案。用戶輸入的提取測(cè)試用例配置項(xiàng)包括注釋標(biāo)識(shí),因此本發(fā)明可以從不同類型的文件中,提取不同注釋風(fēng)格的測(cè)試用例,增加了提取測(cè)試用例的靈活性。用戶還可以通過(guò)GUI的操作,從測(cè)試用例數(shù)據(jù)庫(kù)中獲取測(cè)試用例,并對(duì)測(cè)試用例進(jìn)行添加、修改或刪除等管理操作。
本發(fā)明的軟件測(cè)試管理系統(tǒng)還提供生成測(cè)試程序框架方法。生成測(cè)試程序框架是通過(guò)用戶輸入的生成測(cè)試框架配置項(xiàng)從已有的測(cè)試用例中提取符合條件的測(cè)試用例,并寫入測(cè)試程序文件,同時(shí)在每一個(gè)測(cè)試用例后面,寫入該測(cè)試用例對(duì)應(yīng)的測(cè)試函數(shù)框架。生成的測(cè)試程序框架自動(dòng)分類保存,不同測(cè)試類別的測(cè)試程序保存在不同的目錄下,方便測(cè)試人員查找和編寫測(cè)試程序。
生成測(cè)試程序框架的所采用的測(cè)試用例可以來(lái)自測(cè)試用例數(shù)據(jù)庫(kù),也可以來(lái)自已有文本用例。當(dāng)測(cè)試用例來(lái)自已有文本用例時(shí),根據(jù)生成測(cè)試用例框架配置向?qū)耐獠繉?dǎo)入的已有文本用例,直接用于生成測(cè)試程序框架。測(cè)試程序框架的生成主要由管理模塊中的生成測(cè)試框架模塊133和文件生成模塊150完成,生成測(cè)試框架模塊133主要完成根據(jù)生成測(cè)試框架配置項(xiàng)獲取相應(yīng)的測(cè)試用例文件及配置文件;文件生成模塊150主要完成根據(jù)測(cè)試用例文件及配置文件生成測(cè)試程序框架。以下就舉兩個(gè)實(shí)施例來(lái)說(shuō)明本發(fā)明生成測(cè)試程序框架的方法。首先以獲取測(cè)試用例數(shù)據(jù)庫(kù)中的測(cè)試用例生成測(cè)試程序框架的方法作為實(shí)施例一,參見圖5,該實(shí)施例生成測(cè)試程序框架的具體步驟如下 步驟400,在輸出界面輸入生成測(cè)試框架配置項(xiàng)。
本步驟中,用戶輸入的生成測(cè)試框架配置項(xiàng)包括基本配置項(xiàng)和擴(kuò)展配置項(xiàng)?;九渲庙?xiàng)又包括項(xiàng)目信息、測(cè)試用例內(nèi)容、測(cè)試程序語(yǔ)言、注釋風(fēng)格、連接數(shù)據(jù)庫(kù)信息以及指定的生成測(cè)試文件路徑。擴(kuò)展配置項(xiàng)包括函數(shù)名稱、函數(shù)返回值、函數(shù)參數(shù)等函數(shù)信息。
其中,項(xiàng)目信息包括項(xiàng)目名、項(xiàng)目成員、測(cè)試分類、項(xiàng)目時(shí)間、項(xiàng)目描述等其它項(xiàng)目信息,該些項(xiàng)目信息可以從項(xiàng)目信息表中獲取,用戶在輸入時(shí)可以通過(guò)輸出界面選取。測(cè)試用例內(nèi)容包括測(cè)試ID、測(cè)試目的、測(cè)試描述、預(yù)期結(jié)果等內(nèi)容,該些測(cè)試用例內(nèi)容可以從測(cè)試用例表中獲取,用戶在輸入時(shí)可以通過(guò)輸出界面選取。項(xiàng)目信息和測(cè)試用例內(nèi)容的字段均可以用來(lái)作為匹配測(cè)試用例的字段。
測(cè)試程序語(yǔ)言,表示生成測(cè)試程序框架的編程語(yǔ)言,例如c,c++等。
注釋標(biāo)識(shí),表示生成的測(cè)試程序框架中測(cè)試用例采用何種注釋風(fēng)格。
連接數(shù)據(jù)庫(kù)信息,表示所要獲取測(cè)試用例的測(cè)試用例數(shù)據(jù)庫(kù)的相關(guān)信息。
指定的生成測(cè)試文件路徑,表示生成的測(cè)試程序框架所要保存的路徑。
擴(kuò)展配置項(xiàng),表示測(cè)試用例所對(duì)應(yīng)的測(cè)試函數(shù)的框架內(nèi)容。
用戶不必要輸入所有的配置項(xiàng),例如想獲取某個(gè)項(xiàng)目所有測(cè)試分類的測(cè)試程序文件時(shí),則可以不設(shè)置測(cè)試分類項(xiàng)。如果不想限制測(cè)試用例的具體功能,可以不設(shè)置測(cè)試用例內(nèi)容。
本實(shí)施例中,設(shè)用戶輸入項(xiàng)目名為G2000,測(cè)試分類為Function,注釋標(biāo)示為“/*@...@*/”,連接數(shù)據(jù)庫(kù)信息的數(shù)據(jù)庫(kù)名稱為MySQL,數(shù)據(jù)庫(kù)地址為10.1.1.1,數(shù)據(jù)庫(kù)端口為1021,賬戶為test,密碼為test,測(cè)試程序語(yǔ)言為c語(yǔ)言,指定的生成測(cè)試文件路徑為./G。函數(shù)名稱不輸入,即默認(rèn)為對(duì)應(yīng)測(cè)試用例的測(cè)試ID,函數(shù)返回值(Return Value)為void,函數(shù)參數(shù)(Parameter)為void。其它配置項(xiàng)都不填。因此利用G2000項(xiàng)目中功能測(cè)試的測(cè)試用例生成測(cè)試程序框架。并確定了生成測(cè)試程序框架的語(yǔ)言為c語(yǔ)言,生成的測(cè)試程序框架保存在./G路徑下。
步驟401,根據(jù)生成測(cè)試框架配置項(xiàng)形成配置文件。
本步驟中,生成測(cè)試框架模塊130將基本配置項(xiàng)的項(xiàng)目名、測(cè)試程序語(yǔ)言,測(cè)試分類,注釋標(biāo)識(shí),以及擴(kuò)展配置項(xiàng)的函數(shù)返回值、函數(shù)參數(shù)寫入配置文件。配置文件的信息用于在生成測(cè)試程序框架時(shí),建立工程目錄和測(cè)試分類子目錄,以及確定測(cè)試程序語(yǔ)言和測(cè)試用例的注釋風(fēng)格。
步驟402,生成測(cè)試框架模塊130用perl腳本工具讀取配置文件。讀取配置文件的過(guò)程與圖4所示讀取配置文件過(guò)程相同。此時(shí)配置文件中的信息被讀取到配置信息變量中,等待調(diào)用。以下所述的根據(jù)配置文件中的信息執(zhí)行的操作,實(shí)際上是根據(jù)相應(yīng)的配置信息變量執(zhí)行的。
步驟411、412,根據(jù)生成測(cè)試框架配置項(xiàng)獲取測(cè)試用例數(shù)據(jù)庫(kù)的測(cè)試用例,并從測(cè)試用例數(shù)據(jù)庫(kù)導(dǎo)出。
本步驟中,生成測(cè)試框架模塊130根據(jù)生成測(cè)試框架配置項(xiàng)中的數(shù)據(jù)庫(kù)信息建立測(cè)試用例數(shù)據(jù)庫(kù)連接,根據(jù)生成測(cè)試框架配置項(xiàng)其它內(nèi)容匹配測(cè)試用例數(shù)據(jù)庫(kù)中的測(cè)試用例,獲取符合條件的測(cè)試用例,并從測(cè)試用例數(shù)據(jù)庫(kù)中導(dǎo)出。
本實(shí)施例中,符合條件的測(cè)試用例為,MySQL數(shù)據(jù)庫(kù)中,項(xiàng)目G2000下測(cè)試分類為功能測(cè)試的測(cè)試用例。假設(shè)生成測(cè)試框架模塊133從測(cè)試用例數(shù)據(jù)庫(kù)中查找到一個(gè)符合條件的測(cè)試用例,如表1所示的測(cè)試ID為F_A的測(cè)試用例。
步驟413,將導(dǎo)出的測(cè)試用例形成測(cè)試用例文件。該測(cè)試用例文件的格式是XML格式,該格式是根據(jù)用戶輸入配置項(xiàng)選擇XML顯示樣式確定的。測(cè)試用例文件的格式還可以是HTML、RTF、TXT等文件格式。采用XML格式形成測(cè)試用例文件后,需要用對(duì)應(yīng)的腳本工具讀取該文件,這里采用perl腳本工具。
本實(shí)施例中,根據(jù)步驟412查找出的測(cè)試ID為F_A的測(cè)試用例生成XML文件,該XML文件如下所示 <?xml version=″1.0″e(cuò)ncoding=″gb2312″?> <project projectname=″G2000″projectmember=″alen″keyword1=″2006.10.24″ keyword2=″This project is used for demo″> <type name=″Function″> <pattern line=″1″> <測(cè)試ID>F_A </測(cè)試ID> <測(cè)試目的>驗(yàn)證C可編譯 </測(cè)試目的> <測(cè)試描述>在屏幕上打印Hello world </測(cè)試描述> <預(yù)期結(jié)果>屏幕上出現(xiàn)Hello world </預(yù)期結(jié)果> <測(cè)試時(shí)間> 2006.10.24 </測(cè)試時(shí)間> </pattern> </type> </project> 其中,在形成XML文件過(guò)程中,先寫入項(xiàng)目信息,再將測(cè)試用例按照測(cè)試分類寫入不同的段中。測(cè)試分類的段以分類名稱(type name)為開始標(biāo)識(shí),每個(gè)測(cè)試用例以用例編號(hào)(pattern line)作為開始標(biāo)識(shí)。每一段的結(jié)束均以</>作為結(jié)束標(biāo)識(shí),不同的段</>的內(nèi)容不同。
步驟420,根據(jù)配置文件和XML文件,生成測(cè)試程序框架,并寫入源文件。
本步驟中,采用perl腳本工具將XML文件中的內(nèi)容讀入測(cè)試用例變量,以便與配置信息變量的內(nèi)容匹配,生成測(cè)試程序框架。寫測(cè)試程序框架時(shí),先根據(jù)配置文件的內(nèi)容在指定路徑下建立工程目錄及測(cè)試分類子目錄,并在測(cè)試分類子目錄中建立測(cè)試程序文件,建立的文件類型由用戶選擇的測(cè)試程序語(yǔ)言確定,文件名由測(cè)試ID確定。隨后,打開測(cè)試程序文件,根據(jù)注釋風(fēng)格將從測(cè)試用例數(shù)據(jù)庫(kù)提取的測(cè)試用例以注釋形式寫入該測(cè)試程序文件中,并將該測(cè)試用例對(duì)應(yīng)的函數(shù)框架填入每個(gè)測(cè)試用例后面。這樣就形成了測(cè)試程序的源文件。當(dāng)從測(cè)試用例導(dǎo)出的測(cè)試用例均寫入到對(duì)應(yīng)的測(cè)試程序文件后,便結(jié)束生成測(cè)試程序框架。
步驟430,將測(cè)試程序框架的源文件輸出。這樣測(cè)試人員即可根據(jù)生成的測(cè)試框架中的測(cè)試用例進(jìn)行編程測(cè)試。
下面以獲取外部數(shù)據(jù)生成測(cè)試程序框架的方法作為實(shí)施例二,參見圖6,該實(shí)施例生成測(cè)試程序框架的具體步驟如下 步驟500,通過(guò)輸出界面直接選擇文件導(dǎo)入模塊中的已有文本用例,同時(shí)用戶輸入要生成測(cè)試框架配置項(xiàng)。該配置項(xiàng)的具體內(nèi)容與圖5步驟400中輸入的配置項(xiàng)相同。輸入的已有文本用例文件格式可以是XML、HTML、RTF或TXT等格式文件。
步驟501,根據(jù)生成測(cè)試框架配置項(xiàng)形成配置文件。
步驟502,采用perl腳本工具讀取該配置文件。讀取過(guò)程與圖4所示讀取配置文件過(guò)程相同。
步驟511,通過(guò)文件導(dǎo)入模塊110獲取已有文本用例,形成外部數(shù)據(jù)。
本步驟中,根據(jù)生成測(cè)試框架配置獲取符合要求的已有文本用例。該已有文本用例中包含了測(cè)試用例及其項(xiàng)目信息。根據(jù)生成測(cè)試框架配置中對(duì)用例內(nèi)容的限定從獲取的已有文本用例中將測(cè)試用例及其項(xiàng)目信息提取出來(lái),形成外部數(shù)據(jù)。如果沒有對(duì)用例內(nèi)容的限定,則將獲取的所有已有文本用例的測(cè)試用例及其項(xiàng)目信息提取出來(lái),形成外部數(shù)據(jù)。然后將該外部數(shù)據(jù)導(dǎo)入生成測(cè)試框架模塊133進(jìn)行處理。即,對(duì)該外部數(shù)據(jù)進(jìn)行查詢、增加、刪除或修改等操作。此時(shí),獲取的已有文本用例可以以XML、HTML、RTF或TXT等文件格式存在。
步驟512,將上述處理后的外部數(shù)據(jù)形成外部文件,即測(cè)試用例文件。該外部文件可以以XML、HTML、RTF或TXT等文件格式存在。同時(shí),該外部文件還可以直接導(dǎo)入測(cè)試用例數(shù)據(jù)庫(kù)140中進(jìn)行管理。本實(shí)施例,外部文件以XML格式存在,其格式與根據(jù)測(cè)試用例數(shù)據(jù)庫(kù)的測(cè)試用例形成XML文件的格式相同。
步驟520,根據(jù)配置文件和XML格式的外部文件,生成測(cè)試程序框架,并寫入源文件。
步驟530,將源文件輸出。這樣測(cè)試人員即可根據(jù)生成的測(cè)試框架中的測(cè)試用例進(jìn)行編程測(cè)試。
生成測(cè)試框架模塊133生成測(cè)試程序框架后,要寫入源文件,測(cè)試人員才能采用該源文件編程和測(cè)試。圖7為本發(fā)明測(cè)試程序框架寫入源文件的方法流程圖,該方法包括以下步驟 步驟600,讀入數(shù)據(jù)。該數(shù)據(jù)包括,步驟614中根據(jù)生成測(cè)試框架配置項(xiàng)獲取的配置文件內(nèi)容,步驟615中從測(cè)試用例數(shù)據(jù)庫(kù)獲取的測(cè)試用例及其項(xiàng)目信息,或者步驟616從已有文本用例獲取的測(cè)試用例及其項(xiàng)目信息。
步驟601,根據(jù)配置文件中基本配置項(xiàng)的指定路徑以及項(xiàng)目名,在該路徑下以項(xiàng)目名建立工程目錄。
步驟602,根據(jù)測(cè)試分類在工程目錄下建立測(cè)試分類子目錄。該測(cè)試分類子目錄將測(cè)試程序文件分為功能測(cè)試文件、性能測(cè)試文件、壓力測(cè)試文件、兼容性測(cè)試文件等。
步驟603,根據(jù)測(cè)試用例在各個(gè)測(cè)試分類子目錄下建立測(cè)試程序文件。文件名為該測(cè)試用例的測(cè)試ID。
步驟604,將步驟602建立的測(cè)試分類子目錄打開。
步驟605,將步驟603建立的測(cè)試程序文件打開。
步驟606,以注釋形式在測(cè)試程序中填入測(cè)試用例。本實(shí)施例中為“/*@...@*/”。
步驟607~609,按順序填入函數(shù)入口、函數(shù)體開始和函數(shù)體結(jié)束標(biāo)志。其中函數(shù)體開始的形式如“Retumvalue functionname(parameter)”。
步驟610,判斷寫入當(dāng)前測(cè)試程序文件的測(cè)試用例內(nèi)容是否結(jié)束。如果沒有結(jié)束,則返回步驟606再次執(zhí)行步驟606~610,再寫入一個(gè)測(cè)試用例;否則,執(zhí)行步驟611,判斷該測(cè)試分類子目錄下的測(cè)試程序文件是否遍歷。如果沒有,則執(zhí)行步驟605~611,打開當(dāng)前測(cè)試分類子目錄下的另一個(gè)測(cè)試程序文件,寫入測(cè)試用例和測(cè)試函數(shù)框架;否則執(zhí)行步驟612,判斷該工程目錄下的測(cè)試分類子目錄是否遍歷,如果沒有,則執(zhí)行步驟604~612,在當(dāng)前工程目錄下打開另一個(gè)測(cè)試分類子目錄,對(duì)該目錄下的各測(cè)試程序文件寫入相應(yīng)測(cè)試用例和測(cè)試程序框架;否則執(zhí)行步驟613,結(jié)束本流程。
本實(shí)施例中,由于從測(cè)試用例數(shù)據(jù)庫(kù)查詢到符合條件的測(cè)試用例只有一個(gè),在生成測(cè)試程序框架時(shí),在指定路徑./G下,建立工程目錄/G2000,在該工程子目錄下建立功能測(cè)試分類子目錄/Function,在該功能測(cè)試子目錄下建立文件名為F_A.c的測(cè)試程序文件,該測(cè)試程序的內(nèi)容,如下所示 /*@ \測(cè)試ID F_A \測(cè)試目的驗(yàn)證C可編譯 \測(cè)試描述在屏幕上打印Hello world \預(yù)期結(jié)果屏幕上出現(xiàn)Hello world \測(cè)試時(shí)間2006.10.24 @*/ void F_A(void) { } 可見,生成測(cè)試程序框架時(shí),測(cè)試程序與測(cè)試用例一一對(duì)應(yīng)。在使用時(shí),用戶只需要在F_A函數(shù)中填入程序編碼即可,有利于測(cè)試編碼人員提高工作效率。
由以上所述可以看出,本發(fā)明所提供的程序測(cè)試管理系統(tǒng),可以根據(jù)用戶需要,從已有的測(cè)試程序文件中提取所需格式測(cè)試用例方案,提高測(cè)試人員的工作效率;其次,用戶還可以通過(guò)GUI操作,對(duì)測(cè)試用例數(shù)據(jù)庫(kù)中的測(cè)試用例進(jìn)行管理。另外,本發(fā)明可以根據(jù)用戶需要生成測(cè)試程序框架,生成的測(cè)試程序文件分類存放與不同目錄下,且測(cè)試程序文件中測(cè)試用例與測(cè)試程序一一對(duì)應(yīng),方便測(cè)試人員編寫程序使用。
綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種軟件測(cè)試管理方法,其特征在于,該方法包括
A、根據(jù)輸入的配置項(xiàng),獲取測(cè)試程序文件或已有文本用例;
B、根據(jù)所述配置項(xiàng)和所述測(cè)試程序文件或已有文本用例,獲取測(cè)試用例。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括
C、將所述步驟B獲取的測(cè)試用例導(dǎo)入數(shù)據(jù)庫(kù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)根據(jù)測(cè)試程序文件提取測(cè)試用例時(shí),所述配置項(xiàng)為提取測(cè)試用例配置項(xiàng);該方法具體包括
所述步驟A為根據(jù)輸入的提取測(cè)試用例配置項(xiàng),生成配置文件;并根據(jù)該配置文件獲取測(cè)試程序文件;
所述步驟B為根據(jù)所述配置文件和所述測(cè)試程序文件,獲取測(cè)試用例。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟C進(jìn)一步包括,根據(jù)所述配置文件將獲取的所述測(cè)試用例的項(xiàng)目信息導(dǎo)入所述數(shù)據(jù)庫(kù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,該方法進(jìn)一步包括
D、根據(jù)輸入的生成測(cè)試框架配置項(xiàng),生成第二配置文件;根據(jù)所述生成測(cè)試框架配置項(xiàng),從所述數(shù)據(jù)庫(kù)中獲取符合生成測(cè)試框架配置項(xiàng)要求的測(cè)試用例及其項(xiàng)目信息,并形成測(cè)試用例文件;
E、根據(jù)所述第二配置文件和所述測(cè)試用例文件,生成測(cè)試程序框架。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,
步驟A所述根據(jù)該配置文件獲取測(cè)試程序文件為根據(jù)所述配置文件中的待提取文件路徑、待提取文件類型和測(cè)試分類,從指定路徑中獲取指定文件類型,指定測(cè)試分類的測(cè)試程序文件;
步驟A所述根據(jù)該配置文件獲取測(cè)試程序文件之后,進(jìn)一步包括將獲取的所述測(cè)試程序文件的文件路徑和文件名保存在文件集合中;
步驟B所述獲取測(cè)試用例為遍歷所述文件集合中所有測(cè)試程序文件,根據(jù)所述配置文件中的注釋標(biāo)識(shí),從所述測(cè)試程序文件中提取測(cè)試用例。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述測(cè)試分類表示所述測(cè)試文件中的測(cè)試用例用于何種類型的測(cè)試,該測(cè)試分類為性能測(cè)試,或功能測(cè)試,或壓力測(cè)試,或兼容性測(cè)試,或一致性測(cè)試。
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)包括測(cè)試用例表和項(xiàng)目信息表;
步驟C所述將獲取的測(cè)試用例和項(xiàng)目信息導(dǎo)入數(shù)據(jù)庫(kù)為將所述測(cè)試用例寫入所述測(cè)試用例表,將所述項(xiàng)目信息寫入所述項(xiàng)目信息表。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)根據(jù)已有文本用例生成測(cè)試程序框架時(shí),所述配置項(xiàng)為生成測(cè)試框架配置項(xiàng);
所述步驟A為根據(jù)輸入的所述生成測(cè)試框架配置項(xiàng),生成第二配置文件;并根據(jù)所述生成測(cè)試框架配置項(xiàng)獲取已有文本用例;
所述步驟B為根據(jù)所述生成測(cè)試框架配置項(xiàng)和所述已有文本用例,獲取測(cè)試用例及其項(xiàng)目信息;
該方法進(jìn)一步包括
根據(jù)所述測(cè)試用例及其項(xiàng)目信息形成測(cè)試用例文件;
根據(jù)所述第二配置文件和所述測(cè)試用例文件,生成測(cè)試程序框架。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,
步驟B所述獲取測(cè)試用例及其項(xiàng)目信息之后進(jìn)一步包括對(duì)所述測(cè)試用例進(jìn)行添加、刪除或者修改處理。
11.根據(jù)權(quán)利要求5或9所述的方法,其特征在于,所述根據(jù)所述第二配置文件和所述測(cè)試用例文件,生成測(cè)試程序框架包括
根據(jù)所述第二配置文件中的項(xiàng)目名,在指定路徑下建立工程目錄;
根據(jù)所述第二配置文件中的測(cè)試分類,在所述工程子目錄下建立測(cè)試分類子目錄;
根據(jù)所述測(cè)試用例文件在各個(gè)測(cè)試分類子目錄下,建立測(cè)試程序文件;
根據(jù)所述第二配置文件和所述測(cè)試用例文件向所述測(cè)試程序文件填入測(cè)試用例和測(cè)試函數(shù)框架。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,向所述測(cè)試程序文件填入測(cè)試用例和測(cè)試函數(shù)框架包括
根據(jù)所述第二配置文件中的注釋標(biāo)識(shí),向所述測(cè)試程序文件中以注釋形式填入測(cè)試用例;
根據(jù)所述第二配置文件中的函數(shù)返回值和函數(shù)參數(shù),向所述測(cè)試程序文件中填入與所述測(cè)試用例對(duì)應(yīng)的空函數(shù)。
13.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進(jìn)一步包括
根據(jù)輸入的管理信息,對(duì)所述數(shù)據(jù)庫(kù)中的測(cè)試用例進(jìn)行管理。
14.一種軟件測(cè)試管理系統(tǒng),其特征在于,該系統(tǒng)包括圖形用戶界面GUI、管理模塊和文件導(dǎo)入模塊;
所述GUI,用于將用戶輸入的配置項(xiàng)輸出給管理模塊;
所述管理模塊,用于根據(jù)所述配置項(xiàng)獲取測(cè)試程序文件或已有文本用例;再根據(jù)所述配置文件和所述測(cè)試程序文件或已有文本用例,獲取測(cè)試用例;
所述文件導(dǎo)入模塊,用于將所述管理模塊選取的測(cè)試程序文件或已有文本用例,通過(guò)所述GUI導(dǎo)入所述管理模塊。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括數(shù)據(jù)庫(kù),用于存儲(chǔ)從所述管理模塊獲取的測(cè)試用例。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其特征在于,所述管理模塊包括提取測(cè)試用例模塊,用于根據(jù)提取測(cè)試用例配置項(xiàng)生成配置文件,并根據(jù)該配置文件獲取測(cè)試程序文件;再根據(jù)所述配置文件和所述測(cè)試程序文件,獲取測(cè)試用例;根據(jù)所述配置文件獲取項(xiàng)目信息;將獲取的所述測(cè)試用例和所述項(xiàng)目信息導(dǎo)入到數(shù)據(jù)庫(kù)。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述管理模塊進(jìn)一步包括數(shù)據(jù)庫(kù)管理模塊,用于根據(jù)用戶通過(guò)GUI輸入的管理信息,對(duì)所述數(shù)據(jù)庫(kù)中的信息進(jìn)行管理;還用于將所述管理模塊根據(jù)所述配置文件和所述已有文本用例獲取的測(cè)試用例及其項(xiàng)目信息導(dǎo)入所述數(shù)據(jù)庫(kù)。
18.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括文件生成模塊;所述管理模塊進(jìn)一步包括生成測(cè)試框架模塊;
所述生成測(cè)試框架模塊,用于根據(jù)用戶輸入的生成測(cè)試框架配置項(xiàng)生成第二配置文件;根據(jù)所述生成測(cè)試框架配置項(xiàng)從所述數(shù)據(jù)庫(kù)獲取測(cè)試用例及其項(xiàng)目信息,形成測(cè)試用例文件;將所述第二配置文件和所述測(cè)試用例文件輸出給所述文件生成模塊;
所述文件生成模塊,用于根據(jù)所述第二配置文件和所述測(cè)試用例文件生成測(cè)試框架。
19.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)包括測(cè)試用例表和項(xiàng)目信息表;
所述測(cè)試用例表,用于存儲(chǔ)從管理模塊獲取的所述測(cè)試用例;
所述項(xiàng)目信息表,用于存儲(chǔ)從管理模塊獲取的所述項(xiàng)目信息。
全文摘要
本發(fā)明公開了一種軟件測(cè)試管理方法,該方法包括A.根據(jù)輸入的配置項(xiàng),獲取測(cè)試程序文件或已有文本用例;B.根據(jù)所述配置項(xiàng)和所述測(cè)試程序文件或已有文本用例,獲取測(cè)試用例。該方法能夠根據(jù)用戶需要,從已有的測(cè)試程序文件或已有文本用例中提取所需的測(cè)試用例,并存入測(cè)試用例庫(kù)中,從而方便的實(shí)現(xiàn)了測(cè)試用例的管理,提高了測(cè)試人員的工作效率。本發(fā)明還提供了一種軟件測(cè)試管理系統(tǒng),該系統(tǒng)可以較為方便、靈活的實(shí)現(xiàn)對(duì)測(cè)試用例的管理,提高測(cè)試人員工作效率。
文檔編號(hào)G06F11/36GK101174240SQ20061013806
公開日2008年5月7日 申請(qǐng)日期2006年11月3日 優(yōu)先權(quán)日2006年11月3日
發(fā)明者潔 成, 朱勃豪, 芬 黃 申請(qǐng)人:凌陽(yáng)科技股份有限公司, 北京北陽(yáng)電子技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1