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

        ?

        基于自適應(yīng)QPSO算法的軟件測試數(shù)據(jù)自動生成

        2013-07-12 12:11:22蹇紅梅成新文曾燕
        中國測試 2013年3期
        關(guān)鍵詞:聚合度測試數(shù)據(jù)軟件測試

        蹇紅梅,成新文,曾燕

        (四川理工學(xué)院計算機學(xué)院,四川自貢 643000)

        基于自適應(yīng)QPSO算法的軟件測試數(shù)據(jù)自動生成

        蹇紅梅,成新文,曾燕

        (四川理工學(xué)院計算機學(xué)院,四川自貢 643000)

        針對軟件測試數(shù)據(jù)采用遺傳算法和粒子群算法自動生成算法復(fù)雜和容易早熟等問題,提出一種動態(tài)調(diào)整收縮擴張因子的自適應(yīng)量子粒子群算法(AQPSO)。該算法通過引入粒子進化度和聚合度,收縮擴張因子隨粒子進化度因子和聚合度因子變化而變化,從而實現(xiàn)算法的動態(tài)自適應(yīng)性,提高算法收斂速度和求解精度。軟件測試數(shù)據(jù)自動生成實驗驗證了該算法的有效性和可行性。

        量子粒子群;軟件測試;測試數(shù)據(jù)生成;收縮擴張因子

        0 引言

        軟件測試在軟件生命周期中占有十分重要的地位,它是保證軟件質(zhì)量的重要手段,良好的軟件測試數(shù)據(jù)對于程序錯誤的發(fā)現(xiàn)至關(guān)重要。在實際測試過程中,若采用人工方式構(gòu)造測試數(shù)據(jù),時間花費巨大并且效率低下。自動生成測試數(shù)據(jù)可以有效地降低測試人員的工作強度,提高軟件測試效率,一直被廣泛研究。

        近年來,智能優(yōu)化算法開始用于測試數(shù)據(jù)的自動生成。文獻[1]將遺傳算法應(yīng)用于測試數(shù)據(jù)的自動生成;文獻[2]提出了適應(yīng)值函數(shù)構(gòu)造的“分支函數(shù)疊加法”。傅博[3]將模擬退火算法與遺傳算法結(jié)合,取得了一定成果;李軍等[4]提出了自適應(yīng)遺傳算法,通過自適應(yīng)改變交叉率和變異率,提高了算法的覆蓋率;夏蕓等[5]對遺傳算法進行改進,提出了一種基于IGA(免疫遺傳算法)的測試數(shù)據(jù)自動生成方法,有效改善了遺傳算法的未成熟收斂缺陷。由于遺傳算法存在算法復(fù)雜、參數(shù)設(shè)置復(fù)雜的問題,李愛國等[6]提出了一種基于粒子群算法的軟件結(jié)構(gòu)測試數(shù)據(jù)自動生成方法。

        但是,粒子群優(yōu)化算法生成測試數(shù)據(jù)存在容易產(chǎn)生早熟收斂而陷入局部最優(yōu)的問題。文獻[7]提供了量子行為粒子群(QPSO)算法,其全局搜索性能遠遠優(yōu)于一般PSO算法。

        本文將QPSO算法應(yīng)用于軟件測試數(shù)據(jù)自動生成,在文獻[8]的基礎(chǔ)上提出了基于QPSO的自適應(yīng)算法(AQPSO)。該算法的收縮擴張因子隨粒子進化度和聚合度變化而變化,實現(xiàn)了算法的動態(tài)自適應(yīng)性。

        1 粒子群算法

        1995 年,美國社會心理學(xué)家Kennedy博士和電氣工程師Eberhart博士提出了粒子群優(yōu)化算法(PSO)[9-10]。粒子群優(yōu)化算法的基本思想是通過群體中個體之間的協(xié)作和信息共享來尋找最優(yōu)解。

        如果xi=(xi1,xi2,…,xiD)為D維目標搜索空間中粒子i的當(dāng)前位置;νi=(νi1,νi2,…,νiD)為第i個粒子的當(dāng)前“飛行”速度;pbest=(pi1,pi2,…,piD),i=1,2,…,N為粒子i所經(jīng)歷過的具有最好適應(yīng)值的位置(個體極值),整個粒子群迄今為止搜索到的最優(yōu)位置(全局極值)為gbest=(pg1,pg2,…,pgD)。粒子更新自己的速度和位置的方法如下:

        式中:c1,c2——加速常數(shù);

        w——慣性權(quán)重;

        r1,r2——兩兩相互獨立的[0,1]范圍內(nèi)變化的隨機數(shù)。

        由于PSO算法簡單容易實現(xiàn)并且沒有太多的參數(shù)調(diào)節(jié),目前已被廣泛應(yīng)用于函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模糊系統(tǒng)控制以及其他遺傳算法的應(yīng)用領(lǐng)域。但是,PSO算法具有搜索空間有限、容易陷入局部最優(yōu)解的缺陷。

        2 采用的算法思想和策略

        2.1 量子粒子群算法

        在量子空間中,粒子的位置和速度不能同時確定,因此粒子的狀態(tài)可以通過波函數(shù)來描述。波函數(shù)模的平方是粒子在空間中某一點出現(xiàn)的概率密度,并通過求解薛定諤方程得到粒子在空間某一點出現(xiàn)的概率密度函數(shù),隨后通過蒙特卡羅隨機模擬的方式得到量子空間中粒子的位置方程,如下式所示[7]:

        式中:p(t)——P(t)與G(t)之間的隨機位置;

        P(t)——上一代所有粒子的個體最佳位置;

        G(t)——上一代群體的最佳位置;

        C(t)——上一代所有粒子個體最佳位置P(t)的平均值;

        M——粒子個數(shù);

        α——收縮擴張因子,在算法收斂的過程中線性減??;

        it——當(dāng)前迭代次數(shù);

        itmax——設(shè)定的最大迭代次數(shù);

        X(t+1)——粒子的當(dāng)前位置;

        φ(t),u(t)——0~1之間的隨機數(shù),如果u(t)≥0.5時,式(4)則取“-”號,當(dāng)0<u(t)<0.5時,式(4)取“+”號。

        2.2 自適應(yīng)策略和邊界處理策略

        量子粒子群算法的收斂性能與收縮擴張因子α的選擇和控制密切相關(guān)。從式(5)可以看出,在粒子進化過程中,隨著進化代數(shù)的增加收縮擴張系數(shù)α線性減小,這種變化并不能自適應(yīng)避免早熟趨勢。

        為此,引入粒子進化度和粒子聚合度兩個粒子群動態(tài)性能指標[11-13]。粒子進化度(degree of evolutionary)描述粒子群的進化速度,表明本次迭代當(dāng)前的全局最優(yōu)值優(yōu)于前一次迭代全局最優(yōu)值的程度;粒子聚合度(degree of aggregation)描述粒子群所有粒子的聚集程度,當(dāng)所有粒子都達到全局最優(yōu)值時,粒子群聚集為一個點。

        對于適應(yīng)度函數(shù)最小化優(yōu)化問題,其粒子進化度和粒子聚合度的定義式如下:

        式中:f((xg(t))——第t代粒子群全局最優(yōu)值;

        f(xi(t))——粒子i的個體最優(yōu)值;

        N——粒子總量。

        根據(jù)粒子進化度定義式(7)可知0<e≤1,e越小粒子進化速度越快,粒子的集中性越小。在程序運行早期,e較小,粒子可以在較大的空間內(nèi)搜索,隨著程序運行e逐漸增大,e較大時可以減少α使得粒子在小范圍內(nèi)搜索,以便更快地找到最優(yōu)值,直到e為1時為止。

        根據(jù)粒子聚合度定義式(8)可知0<β≤1,β越大,則粒子群聚集程度越大,粒子的多樣性越小。程序運行早期β較小時,粒子比較分散,粒子的多樣性大,粒子不易陷入局部最優(yōu);隨著程序運行β增大,多樣性減少,算法容易陷入局部最優(yōu)值,此時需要增大β從而增大搜索空間,提高粒子群全局尋優(yōu)能力。

        根據(jù)上述分析,QPSO算法的收縮擴張因子α應(yīng)隨粒子進化度增大而減小,隨粒子聚合度β增大而增大。因此,基于粒子進化聚合度的收縮擴張因子計算方法如下所示:

        式中:e——粒子進化度因子;

        β——粒子聚合度因子;

        α0——收縮擴張因子初始值,一般取α0=1.0,b=0.5,c=0.1。

        從而實現(xiàn)了基于粒子進化聚合度的收縮擴張因子動態(tài)自適應(yīng)調(diào)整的AQPSO算法。

        上述AQPSO算法,粒子有時可能會飛出有效的搜索空間,為解決此問題,在實驗中設(shè)計了“隨機回縮法”的邊界處理策略。

        “隨機回縮法”的基本思想是:當(dāng)粒子位置大于最大邊界位置時,將其隨機回縮到中心與最大邊界之間;當(dāng)粒子位置小于最小邊界時,將其隨機回縮到中心與最小邊界之間。更新后的粒子新位置計算方法如式(10):

        式中:xmax——粒子的最大邊界位置;

        xmin——粒子的最小邊界位置。

        2.3 適應(yīng)值函數(shù)的構(gòu)造策略

        在基于量子粒子群優(yōu)化算法的測試數(shù)據(jù)集自動生成算法中,一個粒子代表一個測試數(shù)據(jù),一次產(chǎn)生一個測試數(shù)據(jù)集。適應(yīng)值函數(shù)是QPSO應(yīng)用于求解問題的優(yōu)化目標,它的構(gòu)造直接影響QPSO在具體問題上的運行效率。

        可以采用“分支函數(shù)疊加法”來構(gòu)造QPSO的適應(yīng)值函數(shù)[2]。分支函數(shù)是一個分支謂詞到實際值的映射,可以定量描述在測試數(shù)據(jù)的驅(qū)動下,被測單元的實際執(zhí)行路徑對選定路徑的覆蓋程度。在測試程序選定路徑上的各分支點前進行分支函數(shù)的插樁。

        假定分支謂詞為簡單關(guān)系表達式(不等式和等式),則分支謂詞和其對應(yīng)的等式謂詞描述形式如下:

        其中,分支函數(shù)F為一個實值函數(shù),分支函數(shù)的構(gòu)造方法如表1所示。

        對于分支謂詞通過“And”或“Or”構(gòu)成的邏輯運算,其分支函數(shù)構(gòu)造形式為Max(F1,F(xiàn)2)。

        如果在選定路徑上,有n個分支點,m個輸入?yún)?shù),則n個分支函數(shù)構(gòu)成的分支函數(shù)集為由分支函數(shù)疊加構(gòu)成該路徑的評價函數(shù)為

        表1 分支函數(shù)的構(gòu)造

        評價函數(shù)的插入位置與分支函數(shù)的插樁位置不同,通常位于程序的結(jié)束位置處。

        2.4 基于AQPSO的軟件測試數(shù)據(jù)自動生成策略

        基于AQPSO的測試數(shù)據(jù)自動生成方法,將測試數(shù)據(jù)作為粒子群向量X的元素。首先隨機生成測試數(shù)據(jù),然后用AQPSO算法搜索符合指定路徑的測試數(shù)據(jù),使得適應(yīng)值函數(shù)的值達到最小。AQPSO算法不僅參數(shù)隨機性強,個數(shù)少,并且能覆蓋所有解空間,保證算法的全局收斂性。該算法生成測試數(shù)據(jù)的具體實現(xiàn)步驟如下:

        (1)分析被測的軟件程序,確定適應(yīng)值函數(shù),對被測程序進行插樁。

        (2)設(shè)定粒子數(shù)M,維數(shù)Dimension,最大允許迭代次數(shù)MAXTIER。在問題空間中,初始化粒子群中每一個粒子的當(dāng)前位置Xi(0),并設(shè)置個體的最好位置Pi(0)=Xi(0),設(shè)置迭代次數(shù)計數(shù)器t=0。

        (3)根據(jù)式(4)計算粒子群中的平均最好位置。

        (4)對于粒子群中的每一個粒子i(1≤i≤M),執(zhí)行(5)~(8)。

        (5)按照式(14)計算粒子i的當(dāng)前位置Xi(t)的適應(yīng)值,更新粒子的個體最好位置Pi(t),即將Xi(t)適應(yīng)值與前一次迭代Pi(t-1)的適應(yīng)值比較,如果Xi(t)適應(yīng)值優(yōu)于Pi(t-1)的適應(yīng)值,則置Pi(t)=Xi(t),否則,Pi(t)=Pi(t-1)。

        (6)對于粒子i,將Pi(t)的適應(yīng)值與全局最好位置G(t-1)的適應(yīng)值進行比較,若優(yōu)于G(t-1)的適應(yīng)值,則置G(t)=Pi(t);否則Pi(t)=Pi(t-1)。

        (7)對粒子的每一維,根據(jù)式(3)計算得到一個隨機點的位置。

        (8)按式(9)計算收縮擴張因子,根據(jù)式(6)和式(10)計算和更新粒子位置。

        (9)若算法的終止條件不滿足,置t=t+1,返回步驟(2),否則算法結(jié)束。

        3 實例驗證

        三角形判別問題的程序包含了清晰而又復(fù)雜的邏輯,從而在軟件測試數(shù)據(jù)生成中廣泛使用。為了驗證AQPSO算法自動生成軟件測試數(shù)據(jù)的可行性,采用了與文獻[6]相同的直角三角形判定典型測試實例,并用一組統(tǒng)計數(shù)值來衡量算法的性能。硬件平臺為Lenovo揚天A4600K,Pentium Dual-Core E5800@ 3.2GHz,2G內(nèi)存。算法程序在Matlab R2010b中測試驗證。

        表2提供了AQPSO算法、GA算法及PSO算法找到最優(yōu)解的迭代次數(shù)比較數(shù)據(jù)。粒子數(shù)目和種群數(shù)從100到280之間變化,實驗中對每個粒子數(shù)和種群數(shù)各運行10次。表中記錄了10次運行中找到最優(yōu)解迭代次數(shù)的最好、最差及平均值。

        表2 3種生成直角三角形測試數(shù)據(jù)算法找到最優(yōu)解的迭代次數(shù)比較

        根據(jù)表2數(shù)據(jù)進行分析比較:

        (1)分析GA、PSO和該實驗的AQPSO 3種算法找到最優(yōu)解(生成所需的測試數(shù)據(jù))的迭代次數(shù)。根據(jù)平均值統(tǒng)計情況進行分析,在最好情況下,PSO算法的迭代次數(shù)約是GA算法的1/13,AQPSO算法的迭代次數(shù)約是GA算法的1/32,PSO約是AQPSO的2.4倍;在最壞情況下,PSO算法的迭代次數(shù)約是GA算法的1/12,AQPSO約是GA算法的1/24,PSO算法約是AQPSO算法的2倍;從平均迭代次數(shù)分析,PSO算法的迭代次數(shù)約是GA算法的1/16,AQPSO算法的迭代次數(shù)約是GA算法的1/19,PSO算法的迭代次數(shù)約是AQPSO算法的1.2倍。AQPSO算法的收斂速度均高于PSO算法和GA算法。

        (2)分析GA、PSO和該實驗的AQPSO 3種算法找到最優(yōu)解的迭代次數(shù)穩(wěn)定性。GA算法的最好迭代次數(shù)從第3代到240代,相對于迭代平均值48.3變化幅度很大;PSO的最好迭代次數(shù)從第1代到7代,相對于迭代平均值3.6變化幅度下降,最好迭代次數(shù)較穩(wěn)定;AQPSO的最好迭代次數(shù)大多為第1代或第2代,最好迭代次數(shù)最穩(wěn)定。從3種算法最優(yōu)解的平均迭代次數(shù)分析,也可得到同樣的結(jié)果。

        總之,采用本文所述方法生成直角三角形測試數(shù)據(jù)的效率和穩(wěn)定性均明顯高于粒子群算法PSO和遺傳算法GA。

        4 結(jié)束語

        針對遺傳算法生成軟件測試數(shù)據(jù)存在參數(shù)多、算法復(fù)雜以及標準粒子群算法容易早熟而陷入局部最優(yōu)問題,引入自適應(yīng)量子粒子群優(yōu)化算法(AQPSO)。該算法改變了標準量子粒子群算法收縮擴張因子線性變化難以自適應(yīng)避免早熟趨勢的缺點。通過粒子進化度和聚合度自適應(yīng)動態(tài)調(diào)整收縮擴張因子,從而實現(xiàn)了算法的動態(tài)自適應(yīng)性,提高了算法的收斂速度和求解穩(wěn)定性。軟件測試數(shù)據(jù)自動生成實驗驗證了算法的有效性和可行性,擴展了量子粒子群算法應(yīng)用范圍。

        [1]Hermadi I,Ahmed M A.Genetic algorithm based test data generator[C]∥Evolutionary Computation,2003.

        [2]Korel B.Automated software test data generation.Software Engineering[J].IEEE Transactions,1990,16(8):870-879.

        [3]傅博.基于模擬退火遺傳算法的軟件測試數(shù)據(jù)自動生成[J].計算機工程與應(yīng)用,2005(12):82-84.

        [4]李軍,李艷輝,彭存銀.基于自適應(yīng)遺傳算法的路徑測試數(shù)據(jù)生成[J].計算機工程,2009,35(2):203-205.

        [5]夏蕓,劉鋒.基于免疫遺傳算法的軟件測試數(shù)據(jù)自動生成[J].計算機應(yīng)用,2008(3):723-725.

        [6]李愛國,張艷麗.基于PSO的軟件結(jié)構(gòu)測試數(shù)據(jù)自動生成方法[J].計算機工程,2008(6):93-94,97.

        [7]Sun J,F(xiàn)eng B,Xu W B.Particle swarm op tim ization with particles having quantum behavior[C]∥Proceedings of Congress on Evolutionary Computation,2004:325-331.

        [8]趙吉,孫俊,須文波.一種求解多峰函數(shù)優(yōu)化問題的量子行為粒子群算法[J].計算機應(yīng)用,2006,26(12):2956-2960.

        [9]Kennedy J,Eberhart R.Particle swarm optimization[C]∥Proc of IEEE International Conference on Neural Networks.Perth:IEEE Press,1995:1942-1948.

        [10]朱小六,熊偉麗,徐保國.基于動態(tài)慣性因子的PSO算法的研究[J].計算機仿真,2007,24(5):154-157.

        [11]任子暉,王堅.一種動態(tài)改變慣性權(quán)的自適應(yīng)粒子群算法[J].計算機科學(xué),2009,36(2):227-229.

        [12]黃澤霞,俞攸紅,黃德才.慣性權(quán)自適應(yīng)調(diào)整的量子粒子群優(yōu)化算法[J].上海交通大學(xué)學(xué)報,2012(2):228-232.

        [13]陳翔.一種基于粒子群優(yōu)化的成對組合測試算法框架[J].軟件學(xué)報,2011(12):2879-2893.

        Automatic generation of software test data based on adaptive QPSO algorithm

        JIAN Hong-mei,CHENG Xin-wen,ZENG Yan
        (School of Computer Science,Sichuan University of Science&Engineering,Zigong 643000,China)

        For the complexity and prematurity of the automatic software test data generation algorithm based on the genetic algorithm and the standard particle swarm optimization algorithm,an adaptive quantum-behaved particle swarm optimization(AQPSO)algorithm is presented to dynamically adjust the contraction expansion factro to overcome these shortcomings.By introducing the evolution degree and polymerization degree of the particle into this method,the contraction expansion factor keeps changing as the evolution dgree and polymerization dgree factors are changing,orderly the dynamical and adaptive algorithm is realize,which improves the convergence speed and precision the traditional algorithm.The experiment on automatic generation of software test data verified the validity and feasibility of the algorithm.

        QPSO;software testing;test data generation;contraction expansion factor

        TP206+.1;TP301.6;TP311.52;TP311.55

        A

        1674-5124(2013)03-0100-04

        2012-11-07;

        :2013-01-08

        四川省教育廳科研基金項目(10ZC084)人工智能四川省重點實驗室科研基金(2008RK010)

        蹇紅梅(1980-),女,四川南充市人,講師,碩士,研究方向為計算機應(yīng)用與軟件測試。

        猜你喜歡
        聚合度測試數(shù)據(jù)軟件測試
        膜分離工藝提高產(chǎn)品中高聚合度ε-聚賴氨酸含量
        基于OBE的軟件測試課程教學(xué)改革探索
        計算機教育(2020年5期)2020-07-24 08:53:20
        測試數(shù)據(jù)管理系統(tǒng)設(shè)計與實現(xiàn)
        EXCEL和VBA實現(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)粒子群優(yōu)化算法的測試數(shù)據(jù)擴增方法
        軟件測試工程化模型及應(yīng)用研究
        空間co-location挖掘模式在學(xué)生體能測試數(shù)據(jù)中的應(yīng)用
        體育科技(2016年2期)2016-02-28 17:06:21
        聚醋酸乙烯聚合度的在線監(jiān)測
        安徽化工(2016年5期)2016-02-27 08:25:04
        聚合度7-15的殼寡糖抑制脂多糖刺激的單核細胞產(chǎn)生TNF-α和IL-8的作用研究
        五月婷婷六月丁香久久综合| 午夜精品一区二区三区无码不卡| Jizz国产一区二区| 99久久婷婷国产精品综合| 亚洲精品无码永久在线观看| 欧美最猛黑人xxxx黑人表情| 国产伦精品一区二区三区四区| 亚洲国产综合精品中文| 国产精品沙发午睡系列| 国产精品无码av一区二区三区| 国内精品人妻无码久久久影院94| 精品亚亚洲成av人片在线观看 | 亚洲av片无码久久五月| 中文字幕精品一区二区2021年| 亚洲男人的天堂精品一区二区| 午夜一区二区三区在线观看| 女人无遮挡裸交性做爰| 亚洲一线二线三线写真| 人妖精品视频在线观看| 精品人妻av中文字幕乱| 亚洲精品美女久久777777| 国产香蕉一区二区三区在线视频| 日本亚洲一级中文字幕| 亚洲国产熟女精品传媒| 51国产黑色丝袜高跟鞋| av无码av在线a∨天堂app| 三个黑人插一个女的视频| 国产精品免费看久久久无码| 国产精品无套内射迪丽热巴| 亚洲欧洲无码精品ⅤA| 国产三级黄色大片在线免费看| 97无码免费人妻超级碰碰夜夜| av一区无码不卡毛片| 午夜一区二区三区免费观看| 亚洲精品国精品久久99热| 一本一本久久a久久精品综合| 国产三级自拍视频在线| 国产精品人成在线观看免费| 女性女同性aⅴ免费观女性恋| 高清高速无码一区二区| 久久这里都是精品99|