遺傳算法在黑盒測試中的應(yīng)用
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):478
遺傳算法在黑盒測試中的應(yīng)用 摘要:提出了一種利用遺傳算法幫助測試人員在較短時間內(nèi)完成軟件模塊的黑盒測試,并給出測試結(jié)果和好的測試用例的方法。 關(guān)鍵詞:遺傳算法 測試用例 耦合度 在軟件測試中,黑盒測試主要是針對模塊進行的功能測試。最普遍的方法是以軟件的功能說明書為基礎(chǔ)將軟件的輸入劃分為若干個等價類,多次運行該軟件來檢驗軟件對于不同的等價類是否能滿足要求。但是在實際應(yīng)用中,有的模塊太大或輸入?yún)?shù)太多,等價類劃分后需要進行的測試工作可能是一個極大的任務(wù)。這時,如何選擇最優(yōu)的測試用例就成為測試人員的一個重要任務(wù)。
遺傳算法是模仿生物遺傳和進化機制的一種最優(yōu)化方法,它把類似于遺傳基因的一些行為,如交叉重組、變異、選擇和淘汰等引入到算法求解的改進過程中。遺傳算法的特點之一是,它同時保留著若干局部最優(yōu)解,通過交叉重組或者解的變異來尋求更好的解。與貪婪算法相比,遺傳算法更可能找到全局最優(yōu)解,而貪婪算法則容易限于局部最優(yōu)而達不到全局最優(yōu)。
如果能夠?qū)⑦z傳算法有效地運用于黑盒測試中,幫助測試人員選擇最優(yōu)的測試用例,那么將給測試工作帶來極大的幫助。
1 應(yīng)用方法
在設(shè)計具體的算法之前,我們先介紹遺傳算法的基本算法,其算法框架如下[1]:
第一步,初始化:選。饌候選解作為初始解,把其中最好的解作為暫定(最優(yōu))解。
第二步,解的改進:若滿足終止條件,輸出暫定解,算法終止。否則,進行以下的運算:
(1)解的交叉重組:從p個解中選出兩個或兩個以上的解進行交叉重組,得到新解,重復(fù)該運算若干次。
(2)解的變異:在候選解中隨機加進一些變異,產(chǎn)生新解。
(3)局部搜索:對新產(chǎn)生的解用局部搜索法進行改良。若能得到比候選解更好的解,更新候選解。
(4)從全部解中按一定的準則選出p個解作為下一代的候選解,更新暫定解。
轉(zhuǎn)第二步。
了解了遺傳算法的算法框架后,進一步要做的就是在軟件的黑盒測試中,如何將不同的等價類轉(zhuǎn)變?yōu)檫z傳算法的候選解, 如何設(shè)定解的優(yōu)劣標準,如何設(shè)置合適的終止條件。
我們假定一個軟件模塊的輸入?yún)?shù)有5個:a、b、c、d、e,經(jīng)過合理的等價類劃分后,每個參數(shù)又有5個不同的等價類:a1~a5,......,e1~e5。我們采用一個廣義的遺傳算法候選解概念,一般的遺傳算法往往將候選解形式定為二進制的數(shù)據(jù)串,比如:111010、010001等等,而在不同等價類輸入作為候選解時我們將候選解形式定為(按照上面假定為基礎(chǔ)):a3b1c2d4e5、a2b2c4d1e3等等。這樣我們解決了候選解的問題,在解的優(yōu)劣標準以及終止條件的設(shè)定問題上,我們需要借助工具作為標準。
軟件測試的目的是提高軟件的可靠性,終止條
遺傳算法在黑盒測試中的應(yīng)用 摘要:提出了一種利用遺傳算法幫助測試人員在較短時間內(nèi)完成軟件模塊的黑盒測試,并給出測試結(jié)果和好的測試用例的方法。 關(guān)鍵詞:遺傳算法 測試用例 耦合度 在軟件測試中,黑盒測試主要是針對模塊進行的功能測試。最普遍的方法是以軟件的功能說明書為基礎(chǔ)將軟件的輸入劃分為若干個等價類,多次運行該軟件來檢驗軟件對于不同的等價類是否能滿足要求。但是在實際應(yīng)用中,有的模塊太大或輸入?yún)?shù)太多,等價類劃分后需要進行的測試工作可能是一個極大的任務(wù)。這時,如何選擇最優(yōu)的測試用例就成為測試人員的一個重要任務(wù)。
遺傳算法是模仿生物遺傳和進化機制的一種最優(yōu)化方法,它把類似于遺傳基因的一些行為,如交叉重組、變異、選擇和淘汰等引入到算法求解的改進過程中。遺傳算法的特點之一是,它同時保留著若干局部最優(yōu)解,通過交叉重組或者解的變異來尋求更好的解。與貪婪算法相比,遺傳算法更可能找到全局最優(yōu)解,而貪婪算法則容易限于局部最優(yōu)而達不到全局最優(yōu)。
如果能夠?qū)⑦z傳算法有效地運用于黑盒測試中,幫助測試人員選擇最優(yōu)的測試用例,那么將給測試工作帶來極大的幫助。
1 應(yīng)用方法
在設(shè)計具體的算法之前,我們先介紹遺傳算法的基本算法,其算法框架如下[1]:
第一步,初始化:選。饌候選解作為初始解,把其中最好的解作為暫定(最優(yōu))解。
第二步,解的改進:若滿足終止條件,輸出暫定解,算法終止。否則,進行以下的運算:
(1)解的交叉重組:從p個解中選出兩個或兩個以上的解進行交叉重組,得到新解,重復(fù)該運算若干次。
(2)解的變異:在候選解中隨機加進一些變異,產(chǎn)生新解。
(3)局部搜索:對新產(chǎn)生的解用局部搜索法進行改良。若能得到比候選解更好的解,更新候選解。
(4)從全部解中按一定的準則選出p個解作為下一代的候選解,更新暫定解。
轉(zhuǎn)第二步。
了解了遺傳算法的算法框架后,進一步要做的就是在軟件的黑盒測試中,如何將不同的等價類轉(zhuǎn)變?yōu)檫z傳算法的候選解, 如何設(shè)定解的優(yōu)劣標準,如何設(shè)置合適的終止條件。
我們假定一個軟件模塊的輸入?yún)?shù)有5個:a、b、c、d、e,經(jīng)過合理的等價類劃分后,每個參數(shù)又有5個不同的等價類:a1~a5,......,e1~e5。我們采用一個廣義的遺傳算法候選解概念,一般的遺傳算法往往將候選解形式定為二進制的數(shù)據(jù)串,比如:111010、010001等等,而在不同等價類輸入作為候選解時我們將候選解形式定為(按照上面假定為基礎(chǔ)):a3b1c2d4e5、a2b2c4d1e3等等。這樣我們解決了候選解的問題,在解的優(yōu)劣標準以及終止條件的設(shè)定問題上,我們需要借助工具作為標準。
軟件測試的目的是提高軟件的可靠性,終止條
熱門點擊
- 一種基于FPGA技術(shù)的虛擬邏輯分析儀的研究與
- 高端電流檢測的原理和電路
- 數(shù)字式溫度計DS18B20的特性及應(yīng)用
- 鋼琴琴鍵排列平整性的測量
- 電話報警系統(tǒng)的設(shè)計
- 基于條形碼技術(shù)的車間監(jiān)控系統(tǒng)的實時信息采集
- 一種高性能的VXI矩陣開關(guān)模塊的研制
- 汽車故障自診斷系統(tǒng)與故障診斷儀V.A.G15
- 電視近距離人體信號檢測及保護電路研究
- 電力電纜接頭運行溫度的在線監(jiān)視
推薦技術(shù)資料
- 完整模擬前端 (AFE) 監(jiān)控
- 2 通道至 4 通道數(shù)字隔離
- 集成雙通道柵極驅(qū)動器̴
- 隔離式半橋 (HB) 柵極驅(qū)動器解決方案
- 高效率降壓 DC/DC 變換器 IC
- 2.3V 至 5.5V 輸入、0.6A、PS
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究