亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2016-02-24 10:45:14靳蓓蓓闕向紅
        關(guān)鍵詞:測試用例軟件測試適應(yīng)度

        劉 冬,靳蓓蓓,闕向紅

        (1.皖南醫(yī)學(xué)院第一附屬醫(yī)院 計(jì)算機(jī)中心,安徽 蕪湖 241001;2.華中科技大學(xué) 網(wǎng)絡(luò)與計(jì)算中心,湖北 武漢 430030;3.安徽師范大學(xué),安徽 蕪湖 241000)

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

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

        (1.皖南醫(yī)學(xué)院第一附屬醫(yī)院 計(jì)算機(jī)中心,安徽 蕪湖 241001;2.華中科技大學(xué) 網(wǎng)絡(luò)與計(jì)算中心,湖北 武漢 430030;3.安徽師范大學(xué),安徽 蕪湖 241000)

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

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

        1 概 述

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

        因此,文中希望能自動(dòng)生成一個(gè)最小測試用例集,該用例集中的測試用例能全部覆蓋所有路徑,且每個(gè)測試用例僅覆蓋其中一條路徑。有關(guān)生成最小測試用例集的問題已經(jīng)有大量的研究成果。

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

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

        2 LSGA算法

        2.1 算法描述

        第2步:將獲得的種群運(yùn)行待測程序。

        第7步:檢驗(yàn)停止標(biāo)準(zhǔn),若滿足則停止,否則K=K+1,并返回第2步。

        2.2 構(gòu)造適應(yīng)度函數(shù)

        在實(shí)際問題的應(yīng)用過程中,適應(yīng)度函數(shù)是LSGA算法和實(shí)際問題的接口,利用其評(píng)價(jià)最優(yōu)解。文中為了獲得最小測試用例集并且覆蓋待測程序中的所有路徑,記錄已經(jīng)覆蓋過的路徑,采用“鄰近者優(yōu)先”的原則,再動(dòng)態(tài)修正其適應(yīng)度值。具體算法實(shí)現(xiàn)如下:

        第1步:初始化初始種群中每個(gè)個(gè)體的適應(yīng)度,一般為所要覆蓋的路徑數(shù)Cmax。

        第4步:判斷是否覆蓋了待測程序的所有路徑,是則結(jié)束,否則進(jìn)入下一代操作,重復(fù)第2步。

        2.3 算法性能分析

        與GA算法相比,LSGA算法具有較強(qiáng)的效率。下面從概率角度對(duì)它的優(yōu)越性進(jìn)行描述和證明。

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

        證明:因?yàn)槎M(jìn)制個(gè)體串長為L,所以個(gè)體串最多有2L種位串??紤]種群規(guī)模M與2L-1之間的關(guān)系,可以分為三種關(guān)系:M>2L-1,M=2L-1和M<2L-1。對(duì)于這三種關(guān)系,某代種群中可能含有多個(gè)相同的個(gè)體,即Z(i,k)>1,對(duì)于前兩種關(guān)系可能存在Z(i,k)=0,在第三種關(guān)系中一定存在Z(i,k)=0的情況。為了使Z(i,k)無論取什么值都不影響統(tǒng)計(jì)種群中個(gè)體i滿足某個(gè)測試需求的概率,這里使用加權(quán)概率統(tǒng)計(jì)法。

        其中權(quán)值為個(gè)體i的適應(yīng)度值,可以表示為:

        證畢。

        引理1給出了評(píng)價(jià)個(gè)體滿足測試需求的概率公式,由此下面就可以利用該公式證明LSGA算法的優(yōu)越性。

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

        證畢。

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

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

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

        證畢。

        3 實(shí)例分析

        前面已經(jīng)從概率角度理論證明了LSGA算法比GA算法優(yōu)越,該算法仍然是啟發(fā)式方法,算法的有效性應(yīng)該通過實(shí)驗(yàn)來驗(yàn)證。本節(jié)通過軟件測試中常見的一個(gè)測試案例—直角三角形判定程序來驗(yàn)證LSGA算法的優(yōu)越性。

        在研究過程中,筆者開發(fā)了最小測試用例集自動(dòng)生成的系統(tǒng)原型。系統(tǒng)通過分別調(diào)用LSGA算法包和GA算法包,分別記錄兩種算法生成最小測試用例集的迭代代數(shù)。由于初始種群是隨機(jī)生成的,為了保證數(shù)據(jù)的可信性,這里針對(duì)每個(gè)實(shí)驗(yàn)分別執(zhí)行10次,然后取其平均值。

        3.1 實(shí)驗(yàn)驗(yàn)證

        3.2 實(shí)驗(yàn)結(jié)果

        對(duì)LSGA算法和GA算法得到最小測試用例集的運(yùn)行時(shí)間進(jìn)行了考察,結(jié)果如圖1、圖2所示。

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

        圖1 實(shí)驗(yàn)1運(yùn)行時(shí)間對(duì)比圖

        圖2 實(shí)驗(yàn)2運(yùn)行時(shí)間對(duì)比圖

        4 結(jié)束語

        文中對(duì)LSGA算法進(jìn)行了理論分析,該算法能很好地保證種群的最大穩(wěn)定性,提高搜索性能。首先從概率角度理論證明了LSGA算法優(yōu)越于GA算法,然后將算法用于實(shí)例驗(yàn)證。結(jié)果表明,利用該算法能較快生成最小測試用例集,從而實(shí)現(xiàn)對(duì)測試目標(biāo)的充分測試,提高測試效率,降低測試成本。

        [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].計(jì)算機(jī)學(xué)報(bào),2003,26(12):1690-1695.

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

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

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

        [16] 劉 冬,靳蓓蓓,闕向紅.基于LSGA的最小測試用例集自動(dòng)生成[J].微電子學(xué)與計(jì)算機(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

        時(shí)間:2016-03-22

        國家自然科學(xué)基金專項(xiàng)基金項(xiàng)目(81141073);安徽省科技計(jì)劃項(xiàng)目(1301042203);安徽省高校省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2015A241);蕪湖市科技計(jì)劃項(xiàng)目(2012hm35-1)

        劉 冬(1979-),男,碩士,高級(jí)工程師,研究方向?yàn)檐浖y試、醫(yī)學(xué)信息處理等。

        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

        猜你喜歡
        測試用例軟件測試適應(yīng)度
        改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動(dòng)生成
        基于OBE的軟件測試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于混合遺傳算法的回歸測試用例集最小化研究
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        軟件測試工程化模型及應(yīng)用研究
        基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
        中國塑料(2016年11期)2016-04-16 05:26:02
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級(jí)技術(shù)
        少數(shù)民族大學(xué)生文化適應(yīng)度調(diào)查
        国产盗摄一区二区三区av| 在线观看亚洲精品国产| 99久久无色码中文字幕鲁信| 国产一级黄色片在线播放| 五月天激情电影| 亚洲精品国产av成拍色拍| 99热成人精品国产免| 白白色福利视频在线观看| 久久久精品人妻一区二区三区四区| 国产三级精品三级在线观看| 国产午夜在线观看视频播放| 91麻豆精品一区二区三区| 国产一区二区三区仙踪林| 亚洲av永久精品爱情岛论坛| 亚洲黄色免费网站| 国产一区二区一级黄色片| 亚洲精品国产第一综合色吧| 免费观看激色视频网站| 欧美一区二区午夜福利在线yw| 中国av一区二区三区四区| 无码爽视频| 亚洲av第一页国产精品| 在线亚洲AV成人无码一区小说| 日本免费一区二区久久久| 精品国产综合区久久久久久 | 精品国产一区av天美传媒 | 深夜黄色刺激影片在线免费观看| 丰满熟女高潮毛茸茸欧洲视频| 欧美巨鞭大战丰满少妇| 天天躁日日躁狠狠躁av| 国产在线一区二区三区av| 亚洲av无吗国产精品| а√天堂8资源中文在线| 最新亚洲av日韩av二区| 国产偷闻隔壁人妻内裤av| 人妻少妇被猛烈进入中文字幕| 男男性恋免费视频网站| 精品久久亚洲一级α| 成人一区二区三区激情视频| 国内精品伊人久久久久网站| 国产91网址|