基于粒子群優(yōu)化的測試用例生成方法
發(fā)布時間:2021-01-05 18:24
時代以及科技的進步,計算機越來越滲入到人們的生活中,軟件也隨之不斷地上新,人們在使用軟件的時候越來越重視軟件的質(zhì)量要求。軟件測試的工作在軟件開發(fā)周期周期中起到了對待測測試軟件質(zhì)量的檢測,軟件測試的工作一定程度上保證了軟件的質(zhì)量,而在對軟件進行測試時,繁冗的測試用例集會使得在進行測試工作時的效率變低,所以能夠自動化生成出簡單而高效的測試用例可以大大提高軟件在測試時的效率,同時節(jié)約了人力和物力。為了解決測試用例自動生成的問題,通過構造出有效的適應度函數(shù)將其變?yōu)槭呛瘮?shù)的優(yōu)化問題,接著選取高效的智能搜索算法來解決測試用例自動生成問題。本文在智能搜索算法中選取了粒子群算法,由于該算法的參數(shù)少,沒有遺傳算法中需要交叉變異的復雜過程,實現(xiàn)起來比較簡單的優(yōu)點,所以本文采用了粒子群算法來實現(xiàn)測試用例的生成。但是傳統(tǒng)的粒子群算法存在著不足之處,例如容易陷入局部收斂,收斂速度較慢等缺陷。為了優(yōu)化目前粒子群算法比較容易陷入局部最優(yōu)、后期收斂過慢等的缺陷,在本文提出了一種改進慣性權重參數(shù)來優(yōu)化算法的方法。其中應用了差分進化算法思想中的參數(shù)之一變異算子的操作來改進算法的自適應,在慣性權重參數(shù)中加入余弦函數(shù),使其可...
【文章來源】:南華大學湖南省
【文章頁數(shù)】:59 頁
【學位級別】:碩士
【部分圖文】:
程序流程圖
程序控制流圖
第2章基于粒子群的測試用例相關理論11斷地隨之更新,利用每個粒子所得到的參數(shù)值來計算目標函數(shù)當前的適應度值,然后通過算法的迭代更新從而找到最理想的適應值。粒子群算法中每個粒子的速度公示和位置公式就依據(jù)如下所示:jijiijijixgbestrcxpbestrcvwv*****22111…(2.1)11jijijivxx…………………………(2.2)介紹一下在這式子中各個參數(shù)所代表的意思,在粒子的速度公式中,w表示的是慣性權重,慣性權重與算法的全局搜索能力有著直接的關系,該參數(shù)能夠直接地顯示出上一代的速度在對下一代速度的影響中所占領的比重;j表示算法當前的迭代次數(shù);c1、c2代表的是學習因子,而c1、c2又可以有自己的單獨的意思,其中c1表示的是自我學習因子而c2表示的是社會學習因子;r1、r2是隨機數(shù)在[0,1]范圍內(nèi)取值[31]。粒子群算法的終止條件一般為當前可達到的最大迭代次數(shù)或者在迭代結束之前達到了算法要求的精度。為了清晰直觀的看出粒子在算法中的活動方式,以圖2.3的粒子初始狀態(tài)圖和圖2.4粒子的最終狀態(tài)圖說明。由于粒子群算法的種群是在一個維度空間內(nèi)活動,在此把算法從一維的角度進行分析。如圖2.3所示是平面上的一個振蕩的波形圖,假設我們需要利用粒子群算法從中找尋最大值,算法中的粒子會在其搜索范圍內(nèi)不斷的尋找,而每個粒子能找尋到的值又是個體極值,隨著粒子群們的搜尋,在個體之間進行對比得到一個更好的值又叫做全局極值,隨著該項活動的不斷迭代,最后如圖2.4所示,找到了該波形上的最大值。圖2.3初始狀態(tài)圖圖2.4最終狀態(tài)圖根據(jù)上述粒子群算法的簡單介紹,大致了解了傳統(tǒng)粒子群算法的基本工作流
本文編號:2959086
【文章來源】:南華大學湖南省
【文章頁數(shù)】:59 頁
【學位級別】:碩士
【部分圖文】:
程序流程圖
程序控制流圖
第2章基于粒子群的測試用例相關理論11斷地隨之更新,利用每個粒子所得到的參數(shù)值來計算目標函數(shù)當前的適應度值,然后通過算法的迭代更新從而找到最理想的適應值。粒子群算法中每個粒子的速度公示和位置公式就依據(jù)如下所示:jijiijijixgbestrcxpbestrcvwv*****22111…(2.1)11jijijivxx…………………………(2.2)介紹一下在這式子中各個參數(shù)所代表的意思,在粒子的速度公式中,w表示的是慣性權重,慣性權重與算法的全局搜索能力有著直接的關系,該參數(shù)能夠直接地顯示出上一代的速度在對下一代速度的影響中所占領的比重;j表示算法當前的迭代次數(shù);c1、c2代表的是學習因子,而c1、c2又可以有自己的單獨的意思,其中c1表示的是自我學習因子而c2表示的是社會學習因子;r1、r2是隨機數(shù)在[0,1]范圍內(nèi)取值[31]。粒子群算法的終止條件一般為當前可達到的最大迭代次數(shù)或者在迭代結束之前達到了算法要求的精度。為了清晰直觀的看出粒子在算法中的活動方式,以圖2.3的粒子初始狀態(tài)圖和圖2.4粒子的最終狀態(tài)圖說明。由于粒子群算法的種群是在一個維度空間內(nèi)活動,在此把算法從一維的角度進行分析。如圖2.3所示是平面上的一個振蕩的波形圖,假設我們需要利用粒子群算法從中找尋最大值,算法中的粒子會在其搜索范圍內(nèi)不斷的尋找,而每個粒子能找尋到的值又是個體極值,隨著粒子群們的搜尋,在個體之間進行對比得到一個更好的值又叫做全局極值,隨著該項活動的不斷迭代,最后如圖2.4所示,找到了該波形上的最大值。圖2.3初始狀態(tài)圖圖2.4最終狀態(tài)圖根據(jù)上述粒子群算法的簡單介紹,大致了解了傳統(tǒng)粒子群算法的基本工作流
本文編號:2959086
本文鏈接:http://sikaile.net/kejilunwen/zidonghuakongzhilunwen/2959086.html
最近更新
教材專著