999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于一種遺傳算法的最小測試用例集自動生成

2016-02-24 10:45:14靳蓓蓓闕向紅
計算機技術與發展 2016年4期

劉 冬,靳蓓蓓,闕向紅

(1.皖南醫學院第一附屬醫院 計算機中心,安徽 蕪湖 241001;2.華中科技大學 網絡與計算中心,湖北 武漢 430030;3.安徽師范大學,安徽 蕪湖 241000)

基于一種遺傳算法的最小測試用例集自動生成

劉 冬1,2,靳蓓蓓3,闕向紅2

(1.皖南醫學院第一附屬醫院 計算機中心,安徽 蕪湖 241001;2.華中科技大學 網絡與計算中心,湖北 武漢 430030;3.安徽師范大學,安徽 蕪湖 241000)

測試數據的生成是一個復雜的問題,且其技術和方法還不成熟。在生成最小測試用例集過程中,為了避免基本遺傳算法對已經滿足測試需求的測試用例重復進行遺傳操作,文中在基本遺傳算法的基礎上,最大提高遺傳算法的穩定性,提出最大穩定遺傳算法(LSGA)。該算法能很好地保證種群的最大穩定性,提高搜索性能,最后對該算法從概率角度理論證明其優越性。實例分析表明,利用該算法能較快生成最小測試用例集,從而實現對測試目標的充分測試,提高測試效率,降低測試成本。

測試用例集;測試用例;基本路徑集;基本遺傳算法;軟件測試

1 概 述

自動生成測試用例的問題是一個非常困難的問題,也是軟件測試自動化的一個重要環節。自從基本遺傳算法被提出,許多研究者在軟件測試中不斷嘗試引入基本遺傳算法。Jones[1]和Hermadi[2]引入基本遺傳算法(GA)解決自動生成測試用例問題,并進行性能分析。文獻[3]比較了GA和梯度下降法的搜索性能,并通過兩個具體的實例驗證了GA明顯優于梯度下降法。Jones[4]和Wegener[5]的研究證明,通過GA生成的測試用例數明顯少于梯度下降法。然而之前的研究成果都是根據給出的某一個測試需求,使用各類算法生成測試用例,該用例滿足這個測試需求。例如文獻[6]中闡述的基于路徑的自動生成測試數據,為實現路徑覆蓋,用模擬退火遺傳算法或其他啟發式算法測試人工選擇的一條路徑,從而產生一個測試用例,覆蓋該路徑,而想要覆蓋其他不同的路徑,就必須由人工不停選擇不同的測試路徑。這樣就暴露出一個問題。若測試需要待測程序中所有路徑都被覆蓋,就必須人工指定所有測試路徑。那么工作量就比較大,費時、費力。

因此,文中希望能自動生成一個最小測試用例集,該用例集中的測試用例能全部覆蓋所有路徑,且每個測試用例僅覆蓋其中一條路徑。有關生成最小測試用例集的問題已經有大量的研究成果。

Johnson[7]引入貪心算法對測試用例集進行精簡。文獻[8]提出一種根據測試用例的重要性來選擇用例的啟發式方法,并用該方法實現冗余測試用例的刪減。在結合了貪心算法和啟發式算法優點的基礎上,Chen和Lau[9-10]提出了一種新的測試用例集簡化的啟發式算法。此外,Lee和Chung[11]將簡化測試用例集問題轉化成整數規劃問題,并把整數規劃方法用于選擇測試用例,該方法可以保證選出的測試用例組成的用例集是最優的簡化測試用例集。文獻[12]充分考慮測試目標中測試需求之間的相互關系,劃分所有滿足測試需求的可用測試用例,從而形成一個測試用例集,然后再運用上述算法進行簡化。馬雪英[13]和全君林[14]分別研究了遺傳算法在測試用例集最小化中的應用。申利民等[15]提出一種基于遺傳蟻群融合算法的測試用例最小化方法。

為了實現最小測試用例集的自動生成,文中用一個測試用例滿足基本路徑集中的一個獨立路徑,通過獨立路徑表記錄測試需求滿足情況,給出最大穩定遺傳算法(LSGA)[16],并從概率角度理論證明其比基本遺傳算法優越。最后通過實例分析表明,該算法比基本遺傳算法具有更高的效率。

2 LSGA算法

2.1 算法描述

第2步:將獲得的種群運行待測程序。

第7步:檢驗停止標準,若滿足則停止,否則K=K+1,并返回第2步。

2.2 構造適應度函數

在實際問題的應用過程中,適應度函數是LSGA算法和實際問題的接口,利用其評價最優解。文中為了獲得最小測試用例集并且覆蓋待測程序中的所有路徑,記錄已經覆蓋過的路徑,采用“鄰近者優先”的原則,再動態修正其適應度值。具體算法實現如下:

第1步:初始化初始種群中每個個體的適應度,一般為所要覆蓋的路徑數Cmax。

第4步:判斷是否覆蓋了待測程序的所有路徑,是則結束,否則進入下一代操作,重復第2步。

2.3 算法性能分析

與GA算法相比,LSGA算法具有較強的效率。下面從概率角度對它的優越性進行描述和證明。

引理1:K代種群中,個體i滿足某個測試需求的概率:

證明:因為二進制個體串長為L,所以個體串最多有2L種位串。考慮種群規模M與2L-1之間的關系,可以分為三種關系:M>2L-1,M=2L-1和M<2L-1。對于這三種關系,某代種群中可能含有多個相同的個體,即Z(i,k)>1,對于前兩種關系可能存在Z(i,k)=0,在第三種關系中一定存在Z(i,k)=0的情況。為了使Z(i,k)無論取什么值都不影響統計種群中個體i滿足某個測試需求的概率,這里使用加權概率統計法。

其中權值為個體i的適應度值,可以表示為:

證畢。

引理1給出了評價個體滿足測試需求的概率公式,由此下面就可以利用該公式證明LSGA算法的優越性。

定理1:個體i利用LSGA算法生成最小測試用例集的概率比GA算法大。

證畢。

定理2:LSGA算法能以概率滿足終止條件的迭代代數少于GA算法。

證明:根據輪盤賭選擇法計算概率可得到LSGA算法第K代終止的概率為:

GA算法第K代終止的概率為:

證畢。

3 實例分析

前面已經從概率角度理論證明了LSGA算法比GA算法優越,該算法仍然是啟發式方法,算法的有效性應該通過實驗來驗證。本節通過軟件測試中常見的一個測試案例—直角三角形判定程序來驗證LSGA算法的優越性。

在研究過程中,筆者開發了最小測試用例集自動生成的系統原型。系統通過分別調用LSGA算法包和GA算法包,分別記錄兩種算法生成最小測試用例集的迭代代數。由于初始種群是隨機生成的,為了保證數據的可信性,這里針對每個實驗分別執行10次,然后取其平均值。

3.1 實驗驗證

3.2 實驗結果

對LSGA算法和GA算法得到最小測試用例集的運行時間進行了考察,結果如圖1、圖2所示。

從圖中可以很清晰地看出,利用LSGA算法生成最小測試用例集的運行時間遠小于用GA算法生成最小測試用例集的運行時間,具有很好的效益。

圖1 實驗1運行時間對比圖

圖2 實驗2運行時間對比圖

4 結束語

文中對LSGA算法進行了理論分析,該算法能很好地保證種群的最大穩定性,提高搜索性能。首先從概率角度理論證明了LSGA算法優越于GA算法,然后將算法用于實例驗證。結果表明,利用該算法能較快生成最小測試用例集,從而實現對測試目標的充分測試,提高測試效率,降低測試成本。

[1] Jones B F,Sthamer H H,Eyres D E.Automatic structural testing using genetic algorithms[J].Software Engineering Journal,1996,11(5):299-306.

[2] Hermadi I, Ahmed M A. Genetic algorithm based test data generator[C]//Proc of 2003 congress on evolutionary computation.[s.l.]:[s.n.],2003:85-91.

[3] Michael C C,McGraw G E,Schatz M A,et al.Genetic algorithms for dynamic test data generation[C]//Proc of 12th IEEE international conference on automated software engi-

neering.[s.l.]:IEEE,1997:307-308.

[4] Jones B F,Eyres D E,Sthamer H H.A strategy for using genetic algorithms to automate branch and fault-based testing[J].The Computer Journal,1998,41(2):98-107.

[5] Wegener J,Baresel A,Sthamer H.Evolutionary test environment for automatic structural testing[J].Information and Software Technology,2001,43(4):841-854.

[6] Eugenia D,Javier T,Raquel B.Automated software testing using a metaheuristic technique based on tabu search[C]//Proc of 18th IEEE international conference on automated software engineering.[s.l.]:IEEE,2003:310-313.

[7] Johnson D S.Approximation algorithms for combinatorial problems[J].Journal of Computer and System Sciences,1974,9(3):256-278.

[8] Harrold M J,Gupta R,Soffa M L.A methodology for controlling the size of a test suite[J].ACM Transactions on Software Engineering and Methodology,1993,2(3):270-285.

[9] Chen T Y,Lau M F.A new heuristic for test suite reduction[J].Information and Software Technology,1998,40(5-6):347-354.

[10] Chen T Y,Lau M F.Heuristics towards the optimization of the size of a test suite[C]//Proceedings of the 3rd international conference on software quality management.Seville,Espagne:[s.n.],1995:415-424.

[11] Lee J G,Chung C G.An optimal representative set selection method[J].Information and Software Technology,2000,42(1):17-25.

[12] 聶長海,徐寶文.一種最小測試用例集生成方法[J].計算機學報,2003,26(12):1690-1695.

[13] 馬雪英,盛斌奎,葉澄清.用遺傳算法的測試用例最小化[J].計算機科學,2007,34(1):285-288.

[14] 全君林,陸 璐.基于遺傳算法測試用例集極小化研究[J].計算機工程與應用,2009,45(19):58-61.

[15] 申利民,高 潔.基于遺傳蟻群融合算法的測試用例最小化研究[J].計算機工程,2012,38(16):57-60.

[16] 劉 冬,靳蓓蓓,闕向紅.基于LSGA的最小測試用例集自動生成[J].微電子學與計算機,2011,28(12):115-118.

Automatic Generation of Minimal Test Set Based on a Genetic Algorithm

LIU Dong1,2,JIN Bei-bei3,QUE Xiang-hong2

(1.Computing Center,First Affiliated Hospital of Wannan Medical College,Wuhu 241001,China; 2.Computing Center,Huazhong University of Science and Technology,Wuhan 430030,China; 3.Anhui Normal University,Wuhu 241000,China)

Test data generation is a complicated problem and its method and technique is not mature.In the process of the minimum test case generation,the Largest Steady Genetic Algorithm (LSGA) is proposed to improve the stability greatly,which is based on the basic genetic algorithm,in order to avoid repeat genetic manipulation of test case which has been met the testing requirement.This algorithm can guarantee the largest population stability and improve the search performance.Contrasted with the genetic algorithm,its superiority is proved from the perspective of the probability.Example analysis shows that using the proposed algorithm can rapidly generate minimum test case sets,achieving the target of the full test,improving the test efficiency and reducing test cost.

test set;test case;basic path set;simple genetic algorithm;software testing

2015-04-16

2015-08-18

時間:2016-03-22

國家自然科學基金專項基金項目(81141073);安徽省科技計劃項目(1301042203);安徽省高校省級自然科學研究重點項目(KJ2015A241);蕪湖市科技計劃項目(2012hm35-1)

劉 冬(1979-),男,碩士,高級工程師,研究方向為軟件測試、醫學信息處理等。

http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1518.026.html

TP301.6

A

1673-629X(2016)04-0086-04

10.3969/j.issn.1673-629X.2016.04.019

主站蜘蛛池模板: 国产高清不卡视频| 99热最新在线| 久99久热只有精品国产15| 91www在线观看| 国产精品lululu在线观看| 九色在线观看视频| 亚洲国产午夜精华无码福利| 国产一区二区丝袜高跟鞋| 欧美性猛交一区二区三区| 日韩黄色精品| 欧美狠狠干| 国产黄网永久免费| 久久精品国产国语对白| 国产免费黄| 亚洲中文字幕国产av| 香蕉精品在线| 国产午夜一级毛片| 大陆国产精品视频| 97在线观看视频免费| 国产女人喷水视频| 久久黄色一级片| 亚洲电影天堂在线国语对白| 亚洲国产综合精品一区| 国产成人喷潮在线观看| 国产全黄a一级毛片| 国产成人调教在线视频| 亚洲中文无码h在线观看| 99福利视频导航| 热热久久狠狠偷偷色男同| 国内精品免费| 无码一区中文字幕| 欧美午夜在线视频| 不卡无码h在线观看| 久久久久久国产精品mv| 国产第三区| 日韩在线播放中文字幕| 国产在线精彩视频二区| 爱爱影院18禁免费| 欧美v在线| 亚洲国产看片基地久久1024| 综合社区亚洲熟妇p| 波多野结衣久久高清免费| 国产精品男人的天堂| 激情六月丁香婷婷| A级毛片无码久久精品免费| 中字无码av在线电影| 香蕉综合在线视频91| 国产一区二区三区精品久久呦| 国产成人免费| 91色在线观看| 在线永久免费观看的毛片| 91蜜芽尤物福利在线观看| 精品国产免费观看| 伊人91在线| 国产自无码视频在线观看| 日韩免费无码人妻系列| 欧美成人综合在线| 99久久国产综合精品女同| 国产精品亚洲一区二区三区z| 日韩无码黄色网站| 亚洲成人免费看| 不卡的在线视频免费观看| 国产色图在线观看| 伊在人亚洲香蕉精品播放| 在线观看网站国产| 露脸真实国语乱在线观看| 本亚洲精品网站| 精品五夜婷香蕉国产线看观看| 青青极品在线| P尤物久久99国产综合精品| 亚洲av日韩av制服丝袜| 免费激情网址| 中文字幕在线永久在线视频2020| 国产幂在线无码精品| 日本亚洲欧美在线| 色AV色 综合网站| 免费在线成人网| 91在线视频福利| 成人福利在线观看| 国产精品蜜臀| 久久综合丝袜日本网| 伊人精品成人久久综合|