• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      優(yōu)化遺傳算法在軟件測試用例方面的應(yīng)用

      2015-06-02 02:33:28李華等
      科技創(chuàng)新導(dǎo)報 2015年8期
      關(guān)鍵詞:技術(shù)研究軟件測試遺傳算法

      李華等

      摘 要:計(jì)算機(jī)軟件測試的重要手段是測試用例的自動生成,關(guān)鍵問題是路徑搜索。遺傳算法技術(shù)是一種高效的搜索巡游算法,在軟件測試用例中廣泛應(yīng)用。將遺傳算法進(jìn)行優(yōu)化改進(jìn),使它有能力處理輸入的龐大數(shù)據(jù),均衡搜索能力,從而設(shè)計(jì)出最優(yōu)測試數(shù)據(jù)。

      關(guān)鍵詞:遺傳算法 軟件測試 技術(shù)研究

      中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2015)03(b)-0050-01

      軟件測試過程中,可以用搜索問題的思想對測試數(shù)據(jù)的生成問題進(jìn)行轉(zhuǎn)化。遺傳算法是美國學(xué)者提出的,是指通過對生物遺傳和進(jìn)化機(jī)制的模仿,對問題進(jìn)行最優(yōu)化,它將遺傳基因中的某些行為,借鑒應(yīng)用到算法求解的過程中。作為一種高效的搜索尋優(yōu)算法,遺傳算法在解決現(xiàn)實(shí)中很多復(fù)雜問題上起到了很大的作用。近些年,人們又嘗試在軟件測試中運(yùn)用遺傳算法,取得了一定的研究成果。但是在應(yīng)用過程中也存在很多缺陷,優(yōu)化遺傳算法在軟件測試方面的應(yīng)用是目前需要研究的重要課題。

      1 基于遺傳算法的軟件測試用例優(yōu)化技術(shù)研究

      1.1 遺傳算法技術(shù)介紹

      遺傳算法產(chǎn)生于20世紀(jì)六七十年代,后來,國外有科學(xué)家首次將遺傳算法應(yīng)用到機(jī)器學(xué)領(lǐng)域,并研制出分類器系統(tǒng)。近些年,對遺傳算法的研究更多,作為一種簡單、實(shí)用、高效的優(yōu)化技術(shù),得到迅速發(fā)展。

      1.2 遺傳算法的應(yīng)用

      遺傳算法的應(yīng)用領(lǐng)域比較廣泛,如自動化工程中自適應(yīng)控制、車間調(diào)度、優(yōu)化設(shè)計(jì)等。遺傳算法主要包括可編碼設(shè)計(jì)、評價函數(shù)設(shè)計(jì)、選擇路徑、自適應(yīng)控制、計(jì)算機(jī)模擬等等。遺傳算法現(xiàn)已應(yīng)用于許多學(xué)科,目前已在生物科學(xué)術(shù)及計(jì)算機(jī)軟件工程等學(xué)科得到廣泛應(yīng)用,并且發(fā)展成為了一種綜合性技術(shù)。

      1.3 遺傳算法在計(jì)算機(jī)軟件測試用例中的應(yīng)用

      遺傳算法進(jìn)行軟件測試用例優(yōu)化的關(guān)鍵在于選擇恰當(dāng)?shù)脑u價函數(shù),用戶在設(shè)計(jì)評價函數(shù)時應(yīng)與求解問題本身的要求相結(jié)合。我們知道軟件測試用例選擇的好壞直接影響測試結(jié)果,從而影響計(jì)算機(jī)軟件質(zhì)量。因此在軟件測試中對測試用例進(jìn)行優(yōu)化是重中這重,目前軟件測試用例優(yōu)化技術(shù)包括三種,一是測試用例序列化技術(shù)、測試用例最優(yōu)排序技術(shù)及測試用例集合最少技術(shù)。

      2 遺傳算法與構(gòu)件化軟件測試技術(shù)相結(jié)合

      軟件開發(fā)是一個多人參與的復(fù)雜過程,在開發(fā)中出現(xiàn)錯誤的情況難以避免。隨著軟件需求的不斷增多和軟件規(guī)模的不斷擴(kuò)大,錯誤發(fā)生的可能性也就越大,對軟件進(jìn)行有效測試的問題也急需解決。在構(gòu)建和軟件測試中,需要利用改進(jìn)的算法來對最初生成的測試用例進(jìn)行優(yōu)化。遺傳算法從串集開始搜索,覆蓋面大,利于全局擇優(yōu),同時具有基于領(lǐng)域交叉的交叉操作技術(shù),在實(shí)際操作中顯示了其獨(dú)特的優(yōu)勢。

      2.1 構(gòu)件化軟件測試用例技術(shù)

      目前的構(gòu)件化軟件測試用例生成技術(shù)是在傳統(tǒng)的軟件測試技術(shù)基礎(chǔ)上發(fā)展來的,相較于傳統(tǒng)技術(shù)而言,增設(shè)了對構(gòu)件源代碼不可見性問題的研究,但是由于其自身的存在缺陷,也導(dǎo)致了一系列軟件測試問題。在軟件測試中需要評判測試用例的有效性問題,這就需要具體的軟件測試充分準(zhǔn)則。

      測試準(zhǔn)則可以用一個定性的函數(shù)C(p,s,t)=true來表示。在這個公式中,p為代表程序、s代表規(guī)格說明、t是測試集。函數(shù)結(jié)果為true時,則意味著在程序p運(yùn)行的情況下,規(guī)格說明s所產(chǎn)生的測試用例集t符合測試充分準(zhǔn)則。

      2.2 構(gòu)件化軟件測試用例生成技術(shù)中應(yīng)用遺傳算法研究

      在進(jìn)行搜索中,遺傳算法基本不需要利用外部信息,僅依據(jù)評價函數(shù),它用來判斷群體中的個體的優(yōu)劣程度的指標(biāo),因此,在利用遺傳算法進(jìn)行構(gòu)件化軟件測試中,關(guān)鍵是要選取恰當(dāng)?shù)脑u估函數(shù),進(jìn)而找到遺傳算法的最優(yōu)解。對于優(yōu)化的遺傳算法而言,不需要了解所需解決問題的實(shí)質(zhì),問題解決好壞的關(guān)鍵取決于適應(yīng)度函數(shù)的構(gòu)造是否合理。

      對于構(gòu)件化軟件而言,構(gòu)造適度函數(shù)首先要對構(gòu)件化軟件的每個構(gòu)件建立標(biāo)記函數(shù),此標(biāo)記函數(shù)用作唯一的標(biāo)識,并對相應(yīng)構(gòu)件加以識別。假設(shè)某構(gòu)件化軟件的構(gòu)件組成是m件,每個構(gòu)件接口為n個,則每個構(gòu)件標(biāo)記函數(shù)可記為:

      K1=f1(x1,x2,…,xn)

      K2=f2(x1,x2,…,xn)

      Km=fm(x1,x2,…,xn)

      在構(gòu)建軟件結(jié)束處插入的適度函數(shù)為:

      F=U(K1)+U(K2)+……+U(Km),其中,x>0。

      3 軟件測試用例生成技術(shù)中應(yīng)用蟻群算法的研究

      3.1 遺傳算法和蟻群算法

      遺傳算法和蟻群算法均是模擬自然生物系統(tǒng)的仿生算法體系,是指通過正反饋、分布式協(xié)作來尋找最優(yōu)路徑,從而優(yōu)化生存狀態(tài),是一種仿生智能算法。遺傳算法和蟻群算法兩種算法間既有共同之處,又存在明顯差異。其相同點(diǎn)為兩種均屬概率型的全局優(yōu)化算法,具有組織性進(jìn)化型,均屬于智能控制算法等。但是,兩種算法也有很多不同之處,如算法原理和實(shí)現(xiàn)形式等方面。

      遺傳算法和蟻群算法在科學(xué)研究中很多領(lǐng)域都有廣泛研究,但是在軟件測試方面研究較少,尤其是蟻群算法。如果將蟻群算法的思想融入遺傳算法之中,將兩種算法進(jìn)行優(yōu)勢互補(bǔ),合為遺傳蟻群算法,這對其在軟件測試方面的具有極大的研究價值。

      3.2 改進(jìn)遺傳算法后測試用例自動生成技術(shù)

      基于遺傳蟻群算法的軟件測試用例自動生成的方法,比單一的遺傳算法和蟻群算法更具優(yōu)勢。要充分發(fā)揮其優(yōu)勢,需要對具體的遺傳蟻群核算方法進(jìn)行研究,不僅需要對模型方法進(jìn)行模型構(gòu)建,還要對適度函數(shù)進(jìn)行適當(dāng)改進(jìn)。具體的算法流程包括建立蟻群網(wǎng)、蟻群和控制參數(shù)的初始化設(shè)計(jì),隨后利用建構(gòu)的初始化網(wǎng)絡(luò)進(jìn)行信息的搜索,并根據(jù)螞蟻移動規(guī)律更新信息,設(shè)計(jì)計(jì)算的最佳路徑,最后對信息的發(fā)揮作用進(jìn)行動態(tài)控制,同時對路徑隨機(jī)變異進(jìn)行調(diào)控分析,最后找到最優(yōu)路徑。

      遺傳蟻群算法中,對軟件測試數(shù)據(jù)生成,對參數(shù)編碼、信息、適度函數(shù)和螞蟻路徑都做出了很多改進(jìn),強(qiáng)化了混合算法的搜索能力。在軟件測試的具體應(yīng)用中取得了良好成效。

      4 結(jié)語

      綜上所述,軟件測試是軟件開發(fā)利用工程的一個重要環(huán)節(jié),當(dāng)今社會,軟件系統(tǒng)開發(fā)規(guī)模不斷擴(kuò)大,軟件測試對軟件質(zhì)量檢測的意義重大。探索適合軟件測試的方法,對軟件的可行性與準(zhǔn)確性進(jìn)行科學(xué)有效測試,是當(dāng)今社會發(fā)展中探究解決的課題。在今后的研究中應(yīng)進(jìn)一步加大對遺傳蟻群算法應(yīng)用于軟件測試用例生成的研究,為軟件開發(fā)提供科學(xué)參考。

      參考文獻(xiàn)

      [1] 祁金佺.直覺模糊遺傳算法在軟件測試中的應(yīng)用[J].自動化與儀器儀表,2013,5(12):98-100.

      [2] 苗亮亮.基于遺傳算法軟件測試用例自動生成分析與研究[D].蘭州交通大學(xué),2013.

      猜你喜歡
      技術(shù)研究軟件測試遺傳算法
      基于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)遺傳算法的CSAMT一維反演
      一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
      基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測
      關(guān)于公共廣播系統(tǒng)的研究與應(yīng)用
      大數(shù)據(jù)挖掘中的數(shù)據(jù)分類算法技術(shù)研究
      薄煤層巷旁高水充填沿空留巷技術(shù)研究
      淺談暖通空調(diào)系統(tǒng)節(jié)能設(shè)計(jì)思考
      鄱阳县| 禹城市| 壤塘县| 金阳县| 马鞍山市| 荆门市| 固安县| 延庆县| 祁门县| 宁远县| 若羌县| 潢川县| 岚皋县| 榆树市| 平南县| 库车县| 措美县| 达尔| 澄迈县| 马尔康县| 乌兰察布市| 罗甸县| 靖州| 武冈市| 孝感市| 灵台县| 桃源县| 正蓝旗| 凤阳县| 阿图什市| 洪雅县| 抚顺市| 浦北县| 文登市| 临洮县| 沙河市| 确山县| 涡阳县| 和田县| 镇江市| 铁岭市|