專利名稱:一種軟件測(cè)試用例集的精簡(jiǎn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種軟件測(cè)試用例集的精簡(jiǎn)方法,特別是涉及一種以流形學(xué)習(xí)為基礎(chǔ)的軟件測(cè)試用例集的精簡(jiǎn)方法。
背景技術(shù):
一個(gè)成功的測(cè)試用例集首先應(yīng)該滿足充分性,即待測(cè)軟件在這個(gè)有限的測(cè)試用例集上的行為,應(yīng)該充分體現(xiàn)該軟件在輸入空間的整體行為。無(wú)論理論研究還是實(shí)驗(yàn)結(jié)果都表明,對(duì)于相同數(shù)量的測(cè)試用例,結(jié)合了機(jī)器學(xué)習(xí)方法所產(chǎn)生的精簡(jiǎn)測(cè)試用例集,在發(fā)現(xiàn)錯(cuò)誤的能力方面明顯要高于隨機(jī)性所產(chǎn)生的測(cè)試用例。因此,現(xiàn)有技術(shù)中D.Cohen等提出了一種數(shù)據(jù)啟發(fā)方法,根據(jù)某種啟發(fā)性原則來(lái)選取測(cè)試用例集,其中啟發(fā)性原則的好壞直接影響測(cè)試的結(jié)果,并開發(fā)了相應(yīng)的測(cè)試數(shù)據(jù)自動(dòng)生成系統(tǒng)——AETG。此外,遺傳算法在軟件測(cè)試領(lǐng)域也是一個(gè)非常有前途的學(xué)習(xí)算法,如針對(duì)不同的測(cè)試目標(biāo),研究者們提出了一系列的適應(yīng)度值構(gòu)造方法,可用于語(yǔ)句與分支的覆蓋。典型的,M. Poper等提出了一種基于程序流程圖的適應(yīng)度函數(shù)構(gòu)造方法,適應(yīng)于語(yǔ)句覆蓋與分支覆蓋。R. Weichselbaum等提出了一種新的進(jìn)化測(cè)試方法,可用于語(yǔ)句、分支與條件覆蓋。
但是,從測(cè)試角度看,某些軟件系統(tǒng)功能龐大,參數(shù)復(fù)雜,滿足測(cè)試要求的測(cè)試用例具有數(shù)量大,維數(shù)高的特點(diǎn)。解決這類軟件系統(tǒng)的測(cè)試用例精簡(jiǎn)問(wèn)題一般難度都比較大。 比如采用遺傳算法如何設(shè)計(jì)適應(yīng)度函數(shù),采用啟發(fā)式方法如何確定啟發(fā)性信息的等等,都給軟件測(cè)試帶來(lái)了一定的難度。
綜上所述,可知先前技術(shù)之軟件測(cè)試技術(shù)存在測(cè)試用例精簡(jiǎn)難度較大的問(wèn)題,因此實(shí)有必要提出改進(jìn)的技術(shù)手段,來(lái)解決此一問(wèn)題發(fā)明內(nèi)容
為克服上述現(xiàn)有軟件測(cè)試技術(shù)存在測(cè)試用例精簡(jiǎn)難度較大的問(wèn)題,本發(fā)明的主要目的在于提供一種軟件測(cè)試用例集精簡(jiǎn)方法,其利用流形學(xué)習(xí)方法,直接從具有高維特征的測(cè)試用例中,發(fā)現(xiàn)它們之間存在的內(nèi)在規(guī)律和性質(zhì),并在此基礎(chǔ)上生成精簡(jiǎn)的測(cè)試用例, 在測(cè)試過(guò)程中最大程度的覆蓋測(cè)試路徑,達(dá)到測(cè)試用例集精簡(jiǎn)的目的,降低了測(cè)試成本。
為達(dá)上述及其它目的,本發(fā)明提供一種軟件測(cè)試用例集的精簡(jiǎn)方法,包括如下步驟
步驟一,將高維空間的測(cè)試用例集降至有效的低維參數(shù)空間中;以及
步驟二,在步驟一的基礎(chǔ)上,利用k均值聚類方法選取聚類中心的測(cè)試數(shù)據(jù)作為被測(cè)軟件系統(tǒng)的測(cè)試用例,以構(gòu)成精簡(jiǎn)后的測(cè)試用例集;
其中k值為該低維參數(shù)空間的維數(shù)。
進(jìn)一步地,步驟一采用等度規(guī)映射方法或局部線性嵌套方法將該測(cè)試用例集降至有效的低維參數(shù)空間中。
進(jìn)一步地,步驟一包括如下步驟
為系統(tǒng)參數(shù)賦初值,該系統(tǒng)參數(shù)包括鄰域值、嵌入維數(shù)以及Sammon系數(shù);
固定嵌入維數(shù),改變?cè)撪徲蛑档拇笮?,并?zhí)行該局部線性嵌套方法,計(jì)算出Sammon 系數(shù)值,并繪制該Sammon系數(shù)隨該鄰域值改變而變化的曲線判斷該Sammon系數(shù)隨該鄰域值改變而變化的曲線圖的曲線改變方式是否已固定;
若曲線改變方式已固定,則終止并估計(jì)出該低維參數(shù)空間。
進(jìn)一步地,若曲線改變方式未固定,則改變?cè)撉度刖S數(shù),并繼續(xù)進(jìn)行該固定嵌入維數(shù)的步驟。
進(jìn)一步地,于步驟二中,令該嵌入維數(shù)作為聚類中心點(diǎn)的數(shù)目,對(duì)所有測(cè)試用例集合進(jìn)行K-均值聚類,選取該聚類中心點(diǎn)的測(cè)試樣例為該測(cè)試用例,而將該聚類中心點(diǎn)附近的測(cè)試樣例為冗余樣例。
進(jìn)一步地,步驟二中僅刪除該聚類中心點(diǎn)附近的少數(shù)冗余樣例數(shù),而對(duì)該測(cè)試用例集繼續(xù)進(jìn)行精簡(jiǎn)操作,直到該測(cè)試用例集為空為止。
進(jìn)一步地,該Sammon系數(shù)定義如下
權(quán)利要求
1.一種軟件測(cè)試用例集的精簡(jiǎn)方法,包括如下步驟步驟一,將高維空間的測(cè)試用例集降至有效的低維參數(shù)空間中;以及步驟二,在步驟一的基礎(chǔ)上,利用k均值聚類方法選取聚類中心的測(cè)試數(shù)據(jù)作為被測(cè)軟件系統(tǒng)的測(cè)試用例,以構(gòu)成精簡(jiǎn)后的測(cè)試用例集;其中k值為該低維參數(shù)空間的維數(shù)。
2.如權(quán)利要求1所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于步驟一采用等度規(guī)映射方法或局部線性嵌套方法將該測(cè)試用例集降至有效的低維參數(shù)空間中。
3.如權(quán)利要求2所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于,步驟一包括如下步驟為系統(tǒng)參數(shù)賦初值,該系統(tǒng)參數(shù)包括鄰域值、嵌入維數(shù)以及Sammon系數(shù);固定嵌入維數(shù),改變?cè)撪徲蛑档拇笮?,并?zhí)行該局部線性嵌套方法,計(jì)算出Sammon系數(shù)值,并繪制該Sammon系數(shù)隨該鄰域值改變而變化的曲線圖;判斷該Sammon系數(shù)隨該鄰域值改變而變化的曲線圖的曲線改變方式是否已固定;若曲線改變方式已固定,則終止并估計(jì)出該低維參數(shù)空間。
4.如權(quán)利要求3所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于若曲線改變方式未固定,則改變?cè)撉度刖S數(shù),并繼續(xù)進(jìn)行該固定嵌入維數(shù)的步驟。
5.如權(quán)利要求4所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于于步驟二中,令該嵌入維數(shù)作為聚類中心點(diǎn)的數(shù)目,對(duì)所有測(cè)試用例集合進(jìn)行K-均值聚類,選取該聚類中心點(diǎn)的測(cè)試樣例為該測(cè)試用例,而將該聚類中心點(diǎn)附近的測(cè)試樣例為冗余樣例。
6.如權(quán)利要求5所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于步驟二中僅刪除該聚類中心點(diǎn)附近的少數(shù)冗余樣例數(shù),而對(duì)該測(cè)試用例集繼續(xù)進(jìn)行精簡(jiǎn)操作,直到該測(cè)試用例集為空為止。
7.如權(quán)利要求6所述的一種軟件測(cè)試用例集的精簡(jiǎn)方法,其特征在于該Sammon系數(shù)定義如下dIi<J式中,<表示η維空間里i點(diǎn)與j點(diǎn)之間的距離;(1。_表示m維空間里i點(diǎn)與j點(diǎn)之間的距離。
全文摘要
本發(fā)明公開一種軟件測(cè)試用例集的精簡(jiǎn)方法,包括如下步驟步驟一,將高維空間的測(cè)試用例集降至有效的低維參數(shù)空間中;以及步驟二,在步驟一的基礎(chǔ)上,利用k均值聚類方法選取聚類中心的測(cè)試數(shù)據(jù)作為被測(cè)軟件系統(tǒng)的測(cè)試用例,以構(gòu)成精簡(jiǎn)后的測(cè)試用例集;本發(fā)明克服了目前其他方法中需要先驗(yàn)知識(shí)來(lái)指導(dǎo)樣本集的精簡(jiǎn)不足之處,通過(guò)本發(fā)明能夠設(shè)計(jì)出較為合理的測(cè)試用例集,從而簡(jiǎn)化測(cè)試工作的復(fù)雜度,提高測(cè)試效率。
文檔編號(hào)G06F11/36GK102521376SQ20111042831
公開日2012年6月27日 申請(qǐng)日期2011年12月20日 優(yōu)先權(quán)日2011年12月20日
發(fā)明者胡靜 申請(qǐng)人:上海電機(jī)學(xué)院