【正文】
38遺傳算法186隨機算法266648遺傳算法38100隨機算法58100738遺傳算法45100隨機算法9151008310遺傳算法1510隨機算法519928遺傳算法13100隨機算法441001018遺傳算法75100隨機算法351001118遺傳算法2592隨機算法45921238遺傳算法55100隨機算法9151001324遺傳算法5396隨機算法23961418遺傳算法26隨機算法1561538遺傳算法811隨機算法169從上表可以發(fā)現(xiàn)遺傳算法有12個運行的都比隨機算法好,其中有10個只需要更小的迭代次數(shù)就能達到相同的覆蓋率而第8個和第15個,遺傳算法使用了更少了迭代次數(shù)達到了更高的覆蓋率。所以,遺傳算法的性能優(yōu)于隨機算法。為了比較遺傳算法中,輪盤選擇法和隨機選擇法的優(yōu)劣,實驗在上述的15個程序中運行了分別采用輪盤選擇法和隨機選擇法的遺傳算法,實驗結果如下。表5 輪盤選擇法和隨機選擇法的比較 A parison between parent selection methods used in the GA technique程序編號選擇方法迭代次數(shù)測試用例個數(shù)覆蓋率1輪盤選擇法46100隨機選擇法461002輪盤選擇法16100隨機選擇法161003輪盤選擇法34100隨機選擇法341004輪盤選擇法424100隨機選擇法1641005輪盤選擇法196隨機選擇法1866輪盤選擇法168100隨機選擇法381007輪盤選擇法45100隨機選擇法451008輪盤選擇法3210隨機選擇法15109輪盤選擇法13100隨機選擇法1310010輪盤選擇法105100隨機選擇法7510011輪盤選擇法5592隨機選擇法259212輪盤選擇法55100隨機選擇法5510013輪盤選擇法5396隨機選擇法939614輪盤選擇法26隨機選擇法2615輪盤選擇法2513隨機選擇法811根據(jù)上表可以發(fā)現(xiàn)隨機選擇法有7個表現(xiàn)的比輪盤選擇法好輪盤選擇法只有1個表現(xiàn)的比隨機選擇法好另外7個輪盤選擇法和隨機選擇法運行效果相當。所以,相對來說,隨機選擇法要優(yōu)于輪盤選擇法。6 結論本文介紹了遺傳算法基于數(shù)據(jù)流分析在測試用例自動生成上的算法。遺傳算法運行在插裝后的程序上,輸出每條defuse路徑對應的測試用例編號。本文也通過實驗比較了遺傳算法和隨機選擇法在基于數(shù)據(jù)流分析上的測試用例自動生成上的優(yōu)劣,發(fā)現(xiàn)遺傳算法明顯優(yōu)于隨機選擇法。本文也比較了輪盤選擇法和隨機選擇法在選擇個體上的優(yōu)劣,發(fā)現(xiàn)隨機選擇法略優(yōu)于輪盤選擇法。參考文獻:[1] 張小松,王鈺,[m].北京:機械工業(yè)出版社,2006:340.[2] 馬志兵,余榮學,[J].計算機技術應用,193194.[3] [D].大連:大連海事大學,2009:77.[4] Moheb Test Data Generation for Data Flow Testing Using a Genetic Algorithm[J].Journal of University Computer Science,2005,11(6):898915.