[發明專利]基于多目標差異演化算法的軟件測試資源動態分配方法有效
| 申請號: | 201510320713.0 | 申請日: | 2015-06-10 |
| 公開(公告)號: | CN104899101B | 公開(公告)日: | 2021-05-11 |
| 發明(設計)人: | 張國富;蘇兆品;岳峰;齊美彬;蔣建國;王永奇 | 申請(專利權)人: | 合肥工業大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F11/36 |
| 代理公司: | 安徽合肥華信知識產權代理有限公司 34112 | 代理人: | 余成俊 |
| 地址: | 230009 *** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 多目標 差異 演化 算法 軟件 測試 資源 動態分配 方法 | ||
1.基于多目標差異演化算法的軟件測試資源動態分配方法,其特征在于:包括以下步驟:
(1)、對所求問題進行分析,為可行解設計編碼方法;
(2)、對整個測試環節進行劃分,劃分為若干個測試階段;
(3)、對差異演化算法中的包含種群規模、迭代次數、交叉概率、變異概率的控制參數進行設置;
(4)、對種群進行初始化操作;
(5)、對種群中的個體進行變異操作;
(6)、對變異生成的個體與原種群中的個體進行交叉操作;
(7)、采用非支配排序機制進行選擇操作;
(8)、判斷是否達到最大迭代次數,若否,則跳到步驟(5),繼續進化操作;若是,則跳到步驟(9);
(9)、對pareto解進行解碼;
(10)、判斷是否還存在未進行的測試階段,若存在,跳到步驟(11);若否,則結束求解過程;
(11)、更新下一測試階段的測試資源,跳到步驟(4),進入下一測試階段;
步驟(1)中為可行解進行一維整數向量編碼;且若軟件系統包含m個串聯子系統,每個子系統Sj(j=1,2,…,m)由nj個并聯模塊組成,則每個個體包含m個整數向量Γ1,…,Γj…,Γm,每個向量包含nj個元素tjk表示模塊Mjk所分配到的測試資源;
步驟(2)中,將測試資源T分為p個測試階段:
(T0=0,T1],…,(Ti-1,Ti],…,(Tp-1,Tp=T];
步驟(4)中,對種群進行初始化操作,按照不同測試階段采用不同的種群初始化方法;
在步驟(4)中,對于第i=1個測試階段(T0=0,T1],由于系統各個模塊的可靠性都較低,采用隨機的方法初始化每個子系統中每個模塊的測試資源:
其中,rand(u1,u2)函數表示在區間(u1,u2)內隨機取整數;
在步驟(4)中,對于第i個(i≥2)測試階段(Ti-1,Ti],種群初始化的方法是根據模塊已達到的可靠性rjk分配測試資源:
其中,θ是用戶希望達到的模塊可靠性閾值,rjk是模塊Mjk已經達到的可靠性值;
步驟(7)中,采用非支配排序機制進行選擇操作,選擇的對象集合包括原種群個體、變異后的個體以及交叉產生的個體;
步驟(7)中,非支配排序機制是指對種群按照優化目標函數進行分層,并計算個體擁擠度來衡量個體在每層的優劣,然后根據個體的分層和擁擠度的大小選取較優的個體組成新的種群;
步驟(7)中,優化目標函數為:
s.t.
Tia≤Ti-Ti-1
0<tijk≤Ti-Ti-1
其中,k表示子系統Sj的第k個模塊,tijk表示模塊Mjk在第i個測試階段所分配到的測試資源,rijk表示模塊Mjk在第i個測試階段的可靠性值,且rijk=rjk(x/tijk),Ri(x/(Ti-Ti-1))、Ci和Tia分別表示軟件系統在第i個測試階段的總體可靠性、總體測試代價和系統實際消耗的總測試資源,rjk(x/tijk)和Cjk(rijk)分別表示模塊Mjk在第i個測試階段的可靠性和測試代價,均為測試資源的函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于合肥工業大學,未經合肥工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510320713.0/1.html,轉載請聲明來源鉆瓜專利網。





