欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

軟件自適應(yīng)測試方法

文檔序號:6386211閱讀:939來源:國知局
專利名稱:軟件自適應(yīng)測試方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件缺陷測試方法,特別是一種軟件自適應(yīng)測試方法。
背景技術(shù)
自適應(yīng)控制系統(tǒng)是通過在線實時了解被控對象,不斷調(diào)節(jié)控制器,使系統(tǒng)的性能達到技術(shù)要求或最優(yōu)。自適應(yīng)系統(tǒng)有三大要素一是在線的實時的了解對象;二是有一個可調(diào)環(huán)節(jié);三是使系統(tǒng)性能達到要求或最優(yōu)。自適應(yīng)控制可以分為直接自適應(yīng)控制和間接自適應(yīng)控制。在間接自適應(yīng)控制中,被控對象的參數(shù)未知,首先在線估計對象參數(shù),利用估計值對控制器參數(shù)進行調(diào)整使系統(tǒng)性能指標達到要求;而在直接自適應(yīng)控制中,不對對象參數(shù)進行估計,直接通過調(diào)整控制器參數(shù)使改進系統(tǒng)性能。
自適應(yīng)測試的理論基礎(chǔ)是以自適應(yīng)控制系統(tǒng)為基礎(chǔ),即受控馬爾可夫鏈。以軟件測試為例,自適應(yīng)測試方法把被測軟件當作控制對象,利用受控馬爾可夫鏈理論設(shè)計和優(yōu)化軟件測試策略,并把測試策略作為控制器和被測軟件構(gòu)成一個閉環(huán)反饋系統(tǒng),它是軟件測試的控制論方法的具體實現(xiàn)。K.Y.Cai,“AControlled Markov Chains Approach to Software Testing”,working paper,2000描述了受控馬爾可夫鏈,受控馬爾可夫鏈由五元素模型描述<S,A,{A(y)|y∈S},Q,W>,其中各元的含義為S,A分別是系統(tǒng)所有可能的狀態(tài)所組成的狀態(tài)空間集和決策集。{A(y)|y∈S}是系統(tǒng)狀態(tài)為y時的決策;Q(B|y,a)=Pr{Yt+1∈B|Yt=y(tǒng),At=a},BS表示在狀態(tài)Yt=y(tǒng)時,采用決策At=a,轉(zhuǎn)移到狀態(tài)Yt+1的概率;W是每步測試代價。該模型是一個在t=0,1,2,...時刻上隨機可控的系統(tǒng)。如果假設(shè)在t時刻系統(tǒng)狀態(tài)為Yt=y(tǒng)∈S,而此時的決策為At=a∈A(y),那么將會有以下事件發(fā)生系統(tǒng)在轉(zhuǎn)移方程Q的決定下,以代價
WYt(a),轉(zhuǎn)移到Y(jié)t+1狀態(tài)。一旦發(fā)生轉(zhuǎn)移,系統(tǒng)進入新的狀態(tài),并會選擇新的決策繼續(xù)循環(huán)決策過程。
隨機測試則是在任意一步測試中,從已知的決策集{At}中隨機選取決策,這樣選中任何一個決策的概率都是均等的,而不存在最優(yōu)決策,這樣把測試進行下去,直到剔除所有的缺陷。
現(xiàn)有測試技術(shù)存在兩個問題(1)沒有引入測試歷史信息,大量的測試信息(比如,測試用例的有效性)沒有用于指導(dǎo)下一步的測試行為;(2)沒有對被測對象的參數(shù)和對象的性質(zhì)作在線估計。由此,產(chǎn)生的結(jié)果是(1)缺乏對測試過程的改進,不能得到最有效的測試過程;(2)對測試對象的性質(zhì)不了解,難以實現(xiàn)給定的測試目標(比如,測試代價最小,可靠性評估的方差最小)。
而自適應(yīng)測試,正是利用測試過程中的歷史信息,并用它來指導(dǎo)未來的測試步驟(比如,測試用例的選擇),同時用這些測試信息估計被測對象的性質(zhì)和參數(shù),根據(jù)這些參數(shù)可以更有針對性的選取測試用例,實現(xiàn)給定目標下的最優(yōu)測試。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供一種軟件自適應(yīng)測試方法,該方法不僅可以提高檢測效率,而且還可以提高檢測性能的穩(wěn)定性。
本發(fā)明的技術(shù)解決方案是軟件自適應(yīng)測試方法,其特點在于包括下列步驟在測試過程中,以軟件測試為例,包括軟件可靠性增長測試,軟件變異測試和軟件可靠性評估過程,針對軟件模型的參數(shù)未知,需通過在線估計參數(shù),再利用估計值調(diào)整控制器,即采用間接自適應(yīng)控制方法進行軟件測試,形成所謂的軟件測試的自適應(yīng)策略,具體地
(1)根據(jù)可控馬爾可夫鏈模型,得到以下方程v(j)=min1≤i≤m{wj(i)jθi+v(j-1)};]]>j=2,3,K,N表示當軟件系統(tǒng)缺陷數(shù)(狀態(tài))為j時,最優(yōu)決策i(即控制器輸出)的選取應(yīng)該使得wj(i)/θi最??;當wj(i)≡w(i)時,最優(yōu)控制器為min{w(i)θi};]]>(2)由控制器方程,在軟件測試過程中,第t步選取的測試決策應(yīng)滿足At=arg min{v(j)}=at;這里t=1,2,K(3)如果被測軟件參數(shù)N和θi已知,就可直接根據(jù)上述公式求得測試決策,從而逐步把測試進行下去;(4)利用自適應(yīng)測試,在第t步測試中通過求解最優(yōu)化問題minΣj=-1t[zj-(N-Σi=-1j-1zi)θai]]]>在線估計系統(tǒng)參數(shù)(N和θi);(5)利用估計值求得下一步最優(yōu)測試決策,At+1=arg min{v(j)}=at+1,逐步把測試進行下去,直到剔除所有缺陷。
本發(fā)明的原理把測試用例或測試對象輸入域劃分為多個等價類,用可控馬爾可夫鏈模型建模軟件測試過程,在測試過程中不斷把歷史測試信息反饋給測試過程,使得隨著測試過程的進行可以逐漸了解被測對象的性質(zhì)和測試用例的能力,并通過自適應(yīng)算法調(diào)整模型參數(shù)并確定下一步最有效的測試用例等價類,在該等價類中選擇一個測試用例作為被測對象的輸入。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(1)提高缺陷檢測效率;(2)提高檢測性能的穩(wěn)定性;(3)能夠?qū)崿F(xiàn)給定的定量測試目標,比如測試代價最小。


圖1為本發(fā)明自適應(yīng)測試系統(tǒng)的結(jié)構(gòu)框圖,
圖2是可控馬爾可夫鏈的狀態(tài)轉(zhuǎn)移圖。
具體實施例方式
如圖1所示,在測試過程中以軟件測試為例,包括軟件可靠性增長測試,軟件變異測試和軟件可靠性評估過程,針對軟件模型的參數(shù)未知,需通過在線估計參數(shù),再利用估計值調(diào)整控制器,即采用間接自適應(yīng)控制方法進行軟件測試,形成所謂的軟件測試的自適應(yīng)策略,其中根據(jù)可控馬爾可夫鏈模型,圖中各參數(shù)意義如下表示是否檢測到缺陷;N為軟件總?cè)毕輸?shù)。
Yt=j(luò);j=0,1,2,...N;t=0,1,2....表示t時刻被測軟件含有j個缺陷;At是測試過程每一步應(yīng)采取的決策。
θi是第i種決策的測試決策缺陷檢測率。
t時刻采取策略At的代價定義為WYt(At);WYt(At=i)=w(i)ifYt=j≠00ifYt=0]]>由控制器方程,在軟件測試過程中,每一步應(yīng)該選取的測試決策應(yīng)滿足At=argmin{w(i)θi}]]>如果被測軟件參數(shù)N和θi已知,就可直接根據(jù)上述公式求得測試決策,從而逐步把測試進行下去,這種測試成為最優(yōu)測試;而由于實際測試中,被測軟件參數(shù)的不可知性,這就需要利用自適應(yīng)測試,在每步測試中通過在線估計系統(tǒng)參數(shù)(N和θi),再利用估計值求得最優(yōu)測試決策,逐步把測試進行下去,直到剔除所有缺陷。隨機測試則是在任意一步測試中,從已知的決策集{At}中隨機選取決策,這樣選中任何一個決策的概率都是均等的,而不存在最優(yōu)決策,這樣把測試進行下去,直到剔除所有的缺陷。
具體實施例以Space軟件為例。Space軟件是一個公認的典型軟件測試對象,它是為歐洲航天局開發(fā)的一個矩陣描述語言(ADL)解釋器,從文件中讀取ADL描述語句并檢查文件內(nèi)容是否合乎語法規(guī)則。如果ADL文件解釋正確,Space將輸出一個矩陣數(shù)據(jù)文件,包含矩陣元素信息、位置、激勵,否則將輸出錯誤提示。Space軟件包含9564行C語言代碼,已知36個缺陷,每個缺陷有很多種表現(xiàn)形式。典型的比如,輸入合法的ADL文件沒有得到正確的結(jié)果或輸入非法的ADL文件沒有得到錯誤提示。13498個測試用例,一個測試用例為一個ADL文件。
具體測試步驟(1)確定自適應(yīng)測試模型的參數(shù)(比如,滑動窗口的長度l);(2)把測試用例或軟件輸入域劃分為幾個等價類(設(shè)分為m類),并輸入等價類的個數(shù);(3)隨機選擇一類測試用例等價類;并從該等價類中隨機選擇一個測試用例。
(4)按照(3)的方法測試l步(獲得初始的測試信息);(5)取得從測試開始的所有測試數(shù)據(jù),即Ai和Zt(i=0,1,Λ,t-1),通過求解minΣj=-11[zj-(N-Σi=-1j-1zi)θaj]]]>來在線估計系統(tǒng)參數(shù)N和θi(i=1,2,Λ,m),然后根據(jù)At=arg min{v(j)}確定下一個最適合的測試用例等價類At,其中v(j)=min1≤i≤m{wj(i)jθi+v(j-1)};]]>(6)在該等價類內(nèi)隨機選取下一個測試用例,測試步數(shù)t=t+1;(7)把該測試用例(ADL文件)用于Space軟件的輸入;(8)如果輸出正確,設(shè)置Zt=0,轉(zhuǎn)步驟(10);(9)如果輸出不正確,表明發(fā)現(xiàn)缺陷,剔除一個缺陷并設(shè)置Zt=1;(10)如果檢測到指定的缺陷個數(shù)(在本實驗中為36個)或測試步數(shù)小于指定步數(shù),否則轉(zhuǎn)步驟(5);
(11)測試結(jié)束。
使用自適應(yīng)軟件測試技術(shù)進行缺陷檢測實驗,對比隨機測試,自適應(yīng)測試無論是檢測效率(步數(shù)均值)還是檢測性能的穩(wěn)定性(方差)都明顯優(yōu)于后者,詳見下表

其中∑(n)表示一次測試實驗中檢測并剔除已知36個缺陷所需的測試用例數(shù)。
該技術(shù)不僅可應(yīng)用于軟件的測試過程,也能應(yīng)用于其它領(lǐng)域的測試過程以提高測試效率。
權(quán)利要求
1.軟件自適應(yīng)測試方法,其特征在于包括下列步驟(1)根據(jù)可控馬爾可夫鏈模型,得到以下方程v(j)=minl≤i≤m{wj(i)jθi+v(j-1)};j=2,3,K,N]]>表示當軟件系統(tǒng)缺陷數(shù)(狀態(tài))為j時,最優(yōu)決策i(即控制器輸出)的選取應(yīng)該使得wi(i)/θi最?。划攚j(i)≡w(i)時,最優(yōu)控制器為 (2)由控制器方程,在軟件測試過程中,第t步選取的測試決策應(yīng)滿足At=arg min{v(j)}=αt;這里t=1,2,K;(3)如果被測軟件參數(shù)N和θi已知,就可直接根據(jù)上述公式求得測試決策,從而逐步把測試進行下去;(4)利用自適應(yīng)測試,在第t步測試中通過求解最優(yōu)化問題minΣj=-1t[zj-(N-Σi=-1j-1zi)θαj]]]>在線估計系統(tǒng)參數(shù)(N和θi);(5)利用估計值求得下一步最優(yōu)測試決策,At+1=arg min{v(j)}=αt+1,逐步把測試進行下去,直到剔除所有缺陷。
全文摘要
軟件自適應(yīng)測試方法(1)根據(jù)可控馬爾可夫鏈模型,得到以下方程
文檔編號G06F11/36GK1770118SQ20041000971
公開日2006年5月10日 申請日期2004年10月27日 優(yōu)先權(quán)日2004年10月27日
發(fā)明者蔡開元, 胡海, 顧博, 白成剛, 李永超, 江昌海 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
芒康县| 资溪县| 雅安市| 青铜峡市| 固阳县| 福泉市| 鹤壁市| 青龙| 望城县| 梁平县| 顺昌县| 上犹县| 舟山市| 新巴尔虎左旗| 会昌县| 抚州市| 京山县| 大港区| 莒南县| 隆昌县| 临潭县| 锦屏县| 信宜市| 晋江市| 广丰县| 临城县| 陇西县| 武陟县| 怀柔区| 嘉鱼县| 民和| 澜沧| 内黄县| 治县。| 全南县| 苏尼特右旗| 武邑县| 溧阳市| 井陉县| 商城县| 都兰县|