專利名稱::一種基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種信息系統(tǒng)測(cè)試用例的自動(dòng)生成方法,該方法在給定輸入?yún)?shù)和參數(shù)取值的情況下,能自動(dòng)生成覆蓋所有兩兩組合并且數(shù)量盡可能少的測(cè)試用例。本發(fā)明可以廣泛應(yīng)用于嵌入式系統(tǒng)測(cè)試、分布式系統(tǒng)測(cè)試、網(wǎng)頁(yè)測(cè)試、圖形界面測(cè)試、協(xié)議測(cè)試、以及配置和兼容性測(cè)試等。技術(shù)背景現(xiàn)在的計(jì)算機(jī)信息系統(tǒng)正變得愈來(lái)愈龐大和復(fù)雜,當(dāng)測(cè)試人員測(cè)試一個(gè)信息系統(tǒng)時(shí),該系統(tǒng)可能有較多的輸入?yún)?shù)(通常大于IO),并且每個(gè)輸入?yún)?shù)可能有多個(gè)不同的取值或等價(jià)類劃分(通常大于3)。在將該信息系統(tǒng)投放到市場(chǎng)之前,為了保證其質(zhì)量,必須對(duì)它進(jìn)行充分的測(cè)試。組合測(cè)試技術(shù)被廣泛應(yīng)用于嵌入式測(cè)試、分布式系統(tǒng)測(cè)試、Web測(cè)試、用戶界面測(cè)試、協(xié)議測(cè)試、以及配置和兼容性測(cè)試等領(lǐng)域。在測(cè)試信息系統(tǒng)時(shí)測(cè)試人員一般通過(guò)設(shè)計(jì)測(cè)試用例來(lái)覆蓋輸入?yún)?shù)之間的組合,并通過(guò)執(zhí)行測(cè)試用例來(lái)比對(duì)其輸出結(jié)果與預(yù)期結(jié)果是否一致。最充分的方法是設(shè)計(jì)出覆蓋輸入?yún)?shù)之間所有取值組合的測(cè)試用例。但在實(shí)際的信息系統(tǒng)測(cè)試中,隨著輸入?yún)?shù)和參數(shù)取值個(gè)數(shù)的增多,將導(dǎo)致最終產(chǎn)生的測(cè)試用例數(shù)量呈指數(shù)級(jí)增長(zhǎng)。例如有10個(gè)輸入?yún)?shù),每個(gè)輸入?yún)?shù)有3個(gè)取值,如果采用全覆蓋方法,最終將產(chǎn)生31()=59,049個(gè)測(cè)試用例。顯然在限定預(yù)算的前提下一般不可能完成這個(gè)測(cè)試任務(wù)。目前測(cè)試人員往往通過(guò)等價(jià)類劃分、邊界值分析等技術(shù)嘗試減少測(cè)試用例的數(shù)量。例如對(duì)一個(gè)數(shù)值或枚舉類型的輸入?yún)?shù),可以選取它取值范圍內(nèi)的最小值、最大值和中間值作為代表。但是這類方法減少測(cè)試用例數(shù)量的程度依然有限。為解決全組合覆蓋中測(cè)試用例數(shù)量隨著輸入?yún)?shù)個(gè)數(shù)和參數(shù)取值數(shù)量的增加呈指數(shù)級(jí)增長(zhǎng)的問題。測(cè)試人員往往采用兩兩組合覆蓋的測(cè)試生成方法,即任意兩個(gè)輸入?yún)?shù)的每個(gè)取值組合必須在測(cè)試用例中至少出現(xiàn)一次。實(shí)踐比對(duì)表明在信息系統(tǒng)測(cè)試中通過(guò)兩兩組合覆蓋可以有效地發(fā)現(xiàn)被測(cè)系統(tǒng)中的缺陷,保證系統(tǒng)測(cè)試的充分性。傳統(tǒng)用于兩兩組合覆蓋生成分方法是正交試驗(yàn)設(shè)計(jì)法,需要選擇合適的正交矩陣。這存在兩個(gè)限制其一每個(gè)輸入?yún)?shù)的取值個(gè)數(shù)要相等;其二對(duì)于特定參數(shù)個(gè)數(shù)和取值數(shù)量,不存在合適的正交矩陣,需要增加參數(shù)和取值的個(gè)數(shù)。這兩個(gè)限制使測(cè)試用例的數(shù)量不必要的增加。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是針對(duì)全組合覆蓋測(cè)試方法中測(cè)試用例數(shù)量指數(shù)增長(zhǎng)問題,在給定輸入?yún)?shù)和參數(shù)取值的情況下提出基于覆蓋密度的組合生成方法,用盡可能少的測(cè)試用例覆蓋所有的兩兩組合。為實(shí)現(xiàn)上述目的,本發(fā)明提供的基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法包括以下步驟首先通過(guò)XML文件描述待測(cè)試信息系統(tǒng)的輸入?yún)?shù)和參數(shù)取值,然后指定必須出現(xiàn)的測(cè)試用例和一定不會(huì)出現(xiàn)的兩兩組合測(cè)試用例,所述兩兩組合即任意兩個(gè)輸入?yún)?shù)的每個(gè)取值組合必須在測(cè)試用例中至少出現(xiàn)一次,最后使用基于覆蓋密度的組合方法生成測(cè)試用例,并以XML文件的格式表示和輸出最終的測(cè)試用例。上述基于覆蓋密度的組合方法生成測(cè)試用例的過(guò)程為先通過(guò)讀入上述XML文件獲得輸入?yún)?shù)和參數(shù)取值,然后將測(cè)試用例集TS初始化為空,并且根據(jù)參數(shù)表初始化所有需要覆蓋的兩兩組合形成兩兩組合測(cè)試用例集Q,對(duì)于用戶指定了必須出現(xiàn)的測(cè)試用例,將這些測(cè)試用例添加到測(cè)試用例集TS中,并且從兩兩組合測(cè)試用例集Q中移去這些測(cè)試用例已經(jīng)覆蓋的兩兩組合;對(duì)于用戶指定了一定不會(huì)出現(xiàn)的組合,則將這些組合直接從兩兩組合集測(cè)試用例Q中移去;之后如果兩兩組合測(cè)試用例集Q中還存在尚未覆蓋的兩兩組合,算法將基于覆蓋密度依次選定每個(gè)輸入?yún)?shù)的優(yōu)先取值,從而確定一個(gè)測(cè)試用例,并且將該測(cè)試用例添加到測(cè)試用例集TS中,并從兩兩組合測(cè)試用例集Q中移去該測(cè)試用例覆蓋的兩兩組合;然后重復(fù)上一步驟直至兩兩組合測(cè)試用例集Q為空。上述過(guò)程中的測(cè)試用例是逐個(gè)添加的,其中單個(gè)測(cè)試用例的生成過(guò)程為首先按照參數(shù)表中參數(shù)次序,逐一讀入?yún)?shù)及其取值。接著依次計(jì)算該輸入?yún)?shù)不同取值的覆蓋密度并從中選擇密度最大的取值,如果有多個(gè)取值對(duì)應(yīng)最大的密度,從中選擇一個(gè)取值,它在已有的測(cè)試用例中出現(xiàn)的次數(shù)最少,當(dāng)所有輸入?yún)?shù)取值都選定后,將最終產(chǎn)生一個(gè)測(cè)試用例。覆蓋密度釆用以下步驟確定對(duì)于參數(shù)/第A個(gè)取值,先計(jì)算參數(shù)/所有取值尚未被覆蓋的兩兩組合測(cè)試用例的數(shù)量toto/P^";再考慮toto/Pa/^中參數(shù)i第A個(gè)取值能夠覆蓋的兩兩組合測(cè)試用例數(shù)量""COVW^i^h;計(jì)算過(guò)程為初始化""on^^Pa/a為0,對(duì)于參數(shù)表中每個(gè)非/的參數(shù),如果該參數(shù)的取值已經(jīng)選定,并且參數(shù)/的第A個(gè)取值與該參數(shù)選定取值構(gòu)成的兩兩組合沒有被覆蓋過(guò),則"wcover^尸a/^加1;如果該參數(shù)的取值沒有選定,對(duì)于該參數(shù)的每個(gè)可能取值,且參數(shù)/的第A:個(gè)取值與該參數(shù)取值構(gòu)成的兩兩組合測(cè)試用例沒有被覆蓋過(guò),則冊(cè)coverM戶"/^加1;考慮完所有非z'參數(shù)后,最終計(jì)算參數(shù)z'取值it的覆蓋密度為《vt=w"covered!Pflzy5/1toto/尸fl/w。本發(fā)明在給定待測(cè)試信息系統(tǒng)中輸入?yún)?shù)和參數(shù)取值的情況下,能自動(dòng)生成所有符合兩兩組合條件的測(cè)試用例,并且其數(shù)量盡可能少,大大提高了測(cè)試信息系統(tǒng)的效率。本發(fā)明可以廣泛應(yīng)用于嵌入式系統(tǒng)測(cè)試、分布式系統(tǒng)測(cè)試、網(wǎng)頁(yè)測(cè)試、圖形界面測(cè)試、協(xié)議測(cè)試、以及配置和兼容性測(cè)試等。本發(fā)明具有較好的擴(kuò)展性,易于擴(kuò)展到三三覆蓋、四四覆蓋、乃至混合覆蓋的情形;便于附加參數(shù)間的約束和考慮必須覆蓋的參數(shù)組合;便于考慮參數(shù)間的優(yōu)先順序;組合覆蓋密度的計(jì)算方法簡(jiǎn)單,便于以較低的時(shí)間和空間代價(jià)實(shí)施,且有效性經(jīng)實(shí)例證明可以達(dá)到滿意的測(cè)試充分性。圖l是組合方法工作流程圖,圖2是基于覆蓋密度的組合方法程序流程圖,圖3是確定單個(gè)測(cè)試用例的程序流程圖,圖4是計(jì)算組合覆蓋密度的程序流程圖,圖5是覆蓋密度計(jì)算示例圖,圖6是電子商務(wù)應(yīng)用系統(tǒng)配置結(jié)構(gòu)圖。具體實(shí)施方式本發(fā)明可以在給定輸入?yún)?shù)和參數(shù)取值的情況下,用盡可能少的測(cè)試用例覆蓋所有的兩兩組合測(cè)試用例。其工作流程如圖l所示首先通過(guò)XML文件描述輸入?yún)?shù)和參數(shù)取值(或等價(jià)類劃分)。然后指定必須出現(xiàn)的測(cè)試用例和一定不會(huì)出現(xiàn)的兩兩組合。最后使用基于覆蓋密度的組合方法生成測(cè)試用例,并以XML文件的格式表示和輸出。測(cè)試人員通過(guò)對(duì)被測(cè)信息系統(tǒng)規(guī)格說(shuō)明等進(jìn)行分析,可以得到被測(cè)系統(tǒng)的輸入?yún)?shù)和參數(shù)的可能取值。例如在一個(gè)電子商務(wù)應(yīng)用系統(tǒng)的簡(jiǎn)化版本中,包含客戶端瀏覽器、Web服務(wù)器、路由器、支付服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器等組件,其配置結(jié)構(gòu)如圖6所示。由于這些組件可以由不同廠商提供,所以必須進(jìn)行配置和兼容性測(cè)試,以確定選擇哪些類型的組件構(gòu)造信息系統(tǒng)可以獲得更高的穩(wěn)定性、健壯性和可靠性。從配置角度分析該系統(tǒng)有5個(gè)輸入?yún)?shù)客戶端瀏覽器參數(shù)、路由器參數(shù)、支付服務(wù)器參數(shù)、Web服務(wù)器參數(shù)和數(shù)據(jù)庫(kù)服務(wù)器參數(shù)。其中客戶端瀏覽器參數(shù)對(duì)應(yīng)4個(gè)可能取值Explorer、Netscape、Firefox和Opera;路由器參數(shù)可對(duì)應(yīng)4個(gè)取值Cisco、華為、中興和阿爾法;支付服務(wù)器參數(shù)可對(duì)應(yīng)3個(gè)取值萬(wàn)事達(dá)卡、銀聯(lián)卡和Visa卡。Web服務(wù)器可對(duì)應(yīng)4個(gè)取值A(chǔ)pache、JBoss、Weblogic和Websphere。數(shù)據(jù)庫(kù)服務(wù)器可對(duì)應(yīng)4個(gè)取僅Oracle、Sybase、DB/2和SqlServer。該專利通過(guò)XML文件描述這些輸入?yún)?shù)及參數(shù)取值。本發(fā)明可以指定必須出現(xiàn)的測(cè)試用例和一定不會(huì)出現(xiàn)的兩兩組合測(cè)試用例。傳統(tǒng)組合測(cè)試在測(cè)試用例生成的時(shí)候往往假設(shè)參數(shù)之間是相互獨(dú)立的,這在實(shí)際的信息系統(tǒng)測(cè)試中常常是不現(xiàn)實(shí)的。例如一個(gè)輸入?yún)?shù)的某個(gè)取值可能會(huì)導(dǎo)致與它相關(guān)的其他輸入?yún)?shù)的若干取值沒有意義,在圖6所示的例子中,可能某個(gè)Web服務(wù)器對(duì)一些類型的數(shù)據(jù)庫(kù)不支持。所以在組合測(cè)試中應(yīng)該避免在測(cè)試用例中包含這些組合。該專利通過(guò)附加的XML文件描述一定不會(huì)出現(xiàn)的兩兩組合測(cè)試用例。另外,預(yù)先指定必須出現(xiàn)的測(cè)試用例在信息測(cè)試中有重要的現(xiàn)實(shí)意義,有經(jīng)驗(yàn)的測(cè)試人員可以通過(guò)產(chǎn)品設(shè)計(jì)規(guī)格書預(yù)先獲得一些他們認(rèn)為比較重要的測(cè)試用例,并且希望在測(cè)試的時(shí)候優(yōu)先執(zhí)行這些測(cè)試用例。該專利可以通過(guò)附加的XML文件描述這些必須出現(xiàn)的測(cè)試用例,并且保證在隨后產(chǎn)生的測(cè)試用例中不再覆蓋這些指定的測(cè)試用例所包含的兩兩組合。本發(fā)明通過(guò)調(diào)用基于覆蓋密度的組合算法來(lái)生成測(cè)試用例。該算法的執(zhí)行具有可重現(xiàn)性,即在輸入?yún)?shù)和參數(shù)取值固定的情況下,最終產(chǎn)生的測(cè)試用例都是一致的,這樣可以幫助測(cè)試人員更好的管理測(cè)試用例和測(cè)試用例預(yù)期輸出的結(jié)果。本發(fā)明生成測(cè)試用例的算法程序流程如圖2所示。首先通過(guò)讀入XML文件獲得輸入?yún)?shù)和參數(shù)取值。然后將測(cè)試用例集TS初始化為空,并且根據(jù)參數(shù)表初始化所有需要覆蓋的兩兩組合生成兩兩組合測(cè)試用例集Q。如果用戶指定了必須出現(xiàn)的測(cè)試用例,則將這些測(cè)試用例添加到測(cè)試用例集TS中,并且從Q中移去這些測(cè)試用例已經(jīng)覆蓋的兩兩組合。如果用戶指定了一定不會(huì)出現(xiàn)的組合,則將這些組合直接從Q中移去。如果Q中還存在尚未覆蓋的兩兩組合,算法將基于覆蓋密度依次選定每個(gè)輸入?yún)?shù)的優(yōu)先取值,從而構(gòu)成一個(gè)測(cè)試用例,并且將測(cè)試用例添加到TS中再?gòu)腝中移去該測(cè)試用例覆蓋的兩兩組合。如果Q為空,則以XML文件格式輸出最終的測(cè)試用例集TS。算法中測(cè)試用例是逐個(gè)添加的,確定單個(gè)測(cè)試用例的程序流程圖如圖3所示。首先按照參數(shù)表中參數(shù)次序,逐一讀入?yún)?shù)及其取值。接著依次計(jì)算該輸入?yún)?shù)不同取值的覆蓋密度并從中選擇密度最大的取值。如果有多個(gè)取值對(duì)應(yīng)最大的密度,則從中選擇一個(gè)取值,其在已有的測(cè)試用例中出現(xiàn)的次數(shù)最少。當(dāng)所有輸入?yún)?shù)取值都選定后,將最終產(chǎn)生一個(gè)測(cè)試用例。算法計(jì)算覆蓋密度作為選擇當(dāng)前參數(shù)取值的標(biāo)準(zhǔn)。對(duì)于當(dāng)前參數(shù),在選擇參數(shù)取值的時(shí)候既考慮與已經(jīng)選定取值的參數(shù)之間的兩兩組合,又考慮與未選定取值的參數(shù)之間的兩兩組合,從而保證每次選擇測(cè)試用例的時(shí)候可以盡可能多的覆蓋尚未覆蓋的兩兩組合。覆蓋密度計(jì)算過(guò)程如圖4所示當(dāng)前計(jì)算參數(shù)/第A個(gè)取值的覆蓋密度;先計(jì)算參數(shù)i尚未覆蓋的兩兩組合(即Q中包含參數(shù)i的兩兩組合)的數(shù)量,存入變量toto/尸fl/w;同時(shí)初始化變量wracmw"/尸化V;y的值為0,表示參數(shù);第^個(gè)取值將要覆蓋的尚未覆蓋的兩兩組合數(shù)量;對(duì)于參數(shù)表中每個(gè)參數(shù)(不包括參數(shù)O,如果該參數(shù)的取值已經(jīng)選定,并且參數(shù)/的第^個(gè)取值與該參數(shù)取值構(gòu)成的兩兩組合沒有被覆蓋過(guò),則w"coww^^zh加l;如果該參數(shù)的取值沒有選定,對(duì)于該參數(shù)的每個(gè)可能取值,如果參數(shù)/的第A個(gè)取值與該參數(shù)取值構(gòu)成的兩兩組合沒有被覆蓋過(guò),則朋coverMPa!b加l。最終返回的覆蓋密度為《vt=w"cowmiPa/ra/欣a/尸a/ryo現(xiàn)舉例說(shuō)明算法過(guò)程。參照?qǐng)D5和表1、表2的的示例,表1是與圖5相對(duì)應(yīng)的輸入?yún)?shù)及其取值描述,表2則是目前已經(jīng)生成的測(cè)試用例。當(dāng)前處于計(jì)算第5個(gè)測(cè)試用例的階段,前兩個(gè)輸入?yún)?shù)/;和力的取值均已選定。接下來(lái)需要選定下一個(gè)參數(shù)力的取值。首先計(jì)算參i^s尚未覆蓋的兩兩組合的數(shù)量4x3x44x4=32。針對(duì)ft的各個(gè)取值*如果參數(shù)力取值v^,其組合覆蓋密度為(0+1+2+2)/32=5/32;*如果參數(shù)力取值vw,其組合覆蓋密度為(1+0+3+3)/32=7/32;如果參數(shù)力取值"5,其組合覆蓋密度為(1+1+3+3)/32=8/32。根據(jù)圖3中描述的算法,參^/}選定取值為">本發(fā)明采用的組合測(cè)試方法根據(jù)實(shí)際測(cè)試工作的要求可以很容易的擴(kuò)展到更高程度的組合覆蓋例如三三組合覆蓋、四四組合覆蓋等。表h輸入?yún)?shù)及其取值描述<table>tableseeoriginaldocumentpage9</column></row><table>本發(fā)明的工具實(shí)現(xiàn)基于Java語(yǔ)言和XML技術(shù),圖6是使用該專利方法的組合測(cè)試生成工具界面。Jfava語(yǔ)言具有平臺(tái)無(wú)關(guān)、可移植性強(qiáng)等特點(diǎn),通過(guò)安裝相應(yīng)的Java虛擬機(jī),可以保證該算法運(yùn)行在各種類型系統(tǒng)平臺(tái)上。XML技術(shù)具有可擴(kuò)展性、靈活性、及自描述性等特點(diǎn)。通過(guò)定義XML的文檔類型說(shuō)明(DTD),用戶可以提供符合該專利方法要求的數(shù)據(jù)描述。通過(guò)使用該專利,測(cè)試人員可以結(jié)合輸出的測(cè)試用例描述,直接開發(fā)出應(yīng)用于被測(cè)信息系統(tǒng)的測(cè)試腳本和代碼。權(quán)利要求1、一種基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法,其特征在于包括以下步驟首先通過(guò)XML文件描述待測(cè)試信息系統(tǒng)的輸入?yún)?shù)和參數(shù)取值,然后指定必須出現(xiàn)的測(cè)試用例和一定不會(huì)出現(xiàn)的兩兩組合測(cè)試用例,所述兩兩組合即任意兩個(gè)輸入?yún)?shù)的每個(gè)取值組合必須在測(cè)試用例中至少出現(xiàn)一次,最后使用基于覆蓋密度的組合方法生成測(cè)試用例,并以XML文件的格式表示和輸出最終的測(cè)試用例。2、根據(jù)權(quán)利要求l所述的基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法,其特征在于所述基于覆蓋密度的組合方法生成測(cè)試用例的過(guò)程為先通過(guò)讀入上述XML文件獲得輸入?yún)?shù)和參數(shù)取值,然后將測(cè)試用例集(rs)初始化為空,并且根據(jù)參數(shù)表初始化所有需要覆蓋的兩兩組合形成兩兩組合測(cè)試用例集(2),對(duì)于用戶指定了必須出現(xiàn)的測(cè)試用例,將這些測(cè)試用例添加到測(cè)試用例集(rs)中,并且從兩兩組合測(cè)試用例集(2)中移去這些測(cè)試用例已經(jīng)覆蓋的兩兩組合;對(duì)于用戶指定了一定不會(huì)出現(xiàn)的組合,則將這些組合直接從兩兩組合集測(cè)試用例(g)中移去;之后如果兩兩組合測(cè)試用例集(2)中還存在尚未覆蓋的兩兩組合,算法將基于覆蓋密度依次選定每個(gè)輸入?yún)?shù)的優(yōu)先取值,從而確定一個(gè)測(cè)試用例,并且將該測(cè)試用例添加到測(cè)試用例集(rs)中,并從兩兩組合測(cè)試用例集(0)中移去該測(cè)試用例覆蓋的兩兩組合;然后重復(fù)上一步驟直至兩兩組合測(cè)試用例集(g)為空。3、根據(jù)權(quán)利要求2所述的基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法,其特征在于是單個(gè)測(cè)試用例的生成過(guò)程為首先按照參數(shù)表中參數(shù)次序,逐一讀入?yún)?shù)及其取值。接著依次計(jì)算該輸入?yún)?shù)不同取值的覆蓋密度并從中選擇密度最大的取值,如果有多個(gè)取值對(duì)應(yīng)最大的密度,從中選擇一個(gè)取值,它在已有的測(cè)試用例中出現(xiàn)的次數(shù)最少,當(dāng)所有輸入?yún)?shù)取值都選定后,將最終產(chǎn)生一個(gè)測(cè)試用例。4、根據(jù)權(quán)利要求3所述的基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法,其特征在于所述覆蓋密度采用以下步驟確定對(duì)于參數(shù)/第&個(gè)取值,先計(jì)算參數(shù)/所有取值尚未被覆蓋的兩兩組合的數(shù)量toto//^7^再考慮toto/尸&w中參數(shù)z'第A:個(gè)取值能夠覆蓋的兩兩組合數(shù)量w"covewc/Pa/M,計(jì)算過(guò)程為初始化wwcovewc/尸mb為0,對(duì)于參數(shù)表中每個(gè)非/的參數(shù),如果該參數(shù)的取值已經(jīng)選定,并且參數(shù)Z第&個(gè)取值與該參數(shù)選定取值構(gòu)成的兩兩組合沒有被覆蓋過(guò),則w"cowrdPah加l;如果該參數(shù)的取值沒有選定,對(duì)于該參數(shù)的每個(gè)可能取值,且參數(shù)/的第&個(gè)取值與該參數(shù)取值構(gòu)成的兩兩組合測(cè)試用例沒有被覆蓋過(guò),則朋cov^ec/尸a/M加l;考慮完所有非z'參數(shù)后,最終計(jì)算參數(shù)!'取值&的覆蓋密度為4t全文摘要本發(fā)明公開了一種基于覆蓋密度的信息系統(tǒng)測(cè)試組合生成方法,采用如圖示的框架(1)根據(jù)被測(cè)系統(tǒng)規(guī)格說(shuō)明通過(guò)XML文件描述待測(cè)試信息系統(tǒng)的輸入?yún)?shù)和參數(shù)取值;(2)指定必須出現(xiàn)的測(cè)試用例和一定不會(huì)出現(xiàn)的兩兩組合測(cè)試用例;(3)基于覆蓋密度逐一組合所有輸入?yún)?shù)的各項(xiàng)取值,生成測(cè)試用例;(4)以XML文件的格式表示和輸出最終生成的測(cè)試用例。本發(fā)明可以廣泛應(yīng)用于嵌入式系統(tǒng)測(cè)試、分布式系統(tǒng)測(cè)試、網(wǎng)頁(yè)測(cè)試、圖形界面測(cè)試、協(xié)議測(cè)試、以及配置和兼容性測(cè)試等;便于附加參數(shù)間的約束和考慮必須覆蓋的參數(shù)組合,便于考慮參數(shù)間的優(yōu)先順序,組合覆蓋密度的計(jì)算方法簡(jiǎn)單有效,具有較好的擴(kuò)展性。文檔編號(hào)G06F11/36GK101236494SQ20081001898公開日2008年8月6日申請(qǐng)日期2008年2月2日優(yōu)先權(quán)日2008年2月2日發(fā)明者王新平,翔陳,陳道蓄,慶顧申請(qǐng)人:南京大學(xué)