一種面向可靠性評估的軟件自適應(yīng)測試方法,它用五大步驟:步驟一、根據(jù)可控馬爾可夫鏈模型,得到測試過程的控制器方程;步驟二、由控制器方程,在軟件測試過程中,每一步選取的測試決策應(yīng)滿足期望目標(biāo)函數(shù)值最小;步驟三、如果被測軟件參數(shù)已知,就可直接根據(jù)上述方式求得測試決策,從而逐步把測試進(jìn)行下去;步驟四、如果被測軟件參數(shù)未知,利用自適應(yīng)測試,在每步測試中通過在線估計系統(tǒng)參數(shù);步驟五、利用估計值求得最優(yōu)測試決策,逐步把測試進(jìn)行下去,直到滿足測試停止條件。本發(fā)明專利技術(shù)在可靠性評估中充分考慮了不同失效對軟件可靠性的影響的不同,通過引入反饋和自適應(yīng)控制的思想,對測試過程進(jìn)行在線的控制和優(yōu)化,從而提高可靠性評估的精度。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及,特別是一種考慮失效分級的自適應(yīng)測試方法。屬于軟件可靠性評估
技術(shù)介紹
隨著近年來軟件在現(xiàn)代飛行控制系統(tǒng)、核電站的控制系統(tǒng)等安全關(guān)鍵、任務(wù)關(guān)鍵系統(tǒng)中的廣泛應(yīng)用,軟件可靠性的重要程度被提到了一個前所未有的高度。如何對這些高 可信軟件進(jìn)行測試,以獲得全面、精確和魯棒的可靠性評估結(jié)果,是軟件可靠性評估領(lǐng)域的一個重要研究課題。自適應(yīng)控制系統(tǒng)是通過在線實時了解被控對象,不斷調(diào)節(jié)控制器,使系統(tǒng)的性能達(dá)到技術(shù)要求或最優(yōu)。自適應(yīng)系統(tǒng)有三大要素一是在線的實時的了解對象;二是有一個可調(diào)環(huán)節(jié);三是使系統(tǒng)性能達(dá)到要求或最優(yōu)。自適應(yīng)控制可以分為直接自適應(yīng)控制和間接自適應(yīng)控制。在間接自適應(yīng)控制中,被控對象的參數(shù)未知,首先在線估計對象參數(shù),利用估計值對控制器參數(shù)進(jìn)行調(diào)整使系統(tǒng)性能指標(biāo)達(dá)到要求;而在直接自適應(yīng)控制中,不對對象參數(shù)進(jìn)行估計,直接通過調(diào)整控制器參數(shù)使改進(jìn)系統(tǒng)性能。自適應(yīng)測試的理論基礎(chǔ)是以自適應(yīng)控制系統(tǒng)為基礎(chǔ),即受控馬爾可夫鏈。以軟件測試為例,自適應(yīng)測試方法把被測軟件當(dāng)作控制對象,利用受控馬爾可夫鏈理論設(shè)計和優(yōu)化軟件測試策略,并把測試策略作為控制器和被測軟件構(gòu)成一個閉環(huán)反饋系統(tǒng),它是軟件測試的控制論方法的具體實現(xiàn)。現(xiàn)有的面向可靠性評估的測試技術(shù)存在兩個問題I)被測軟件的可靠性模型基于二元失效假設(shè),即僅考慮軟件在測試過程中發(fā)生或者沒有發(fā)生失效,而不考慮發(fā)生的失效是否對系統(tǒng)的安全性和任務(wù)的成功有重要影響,及忽略了失效的嚴(yán)重程度及其對可靠性評估的影響。2)沒有利用面向可靠性評估的測試過程中收集到的測試數(shù)據(jù)(失效發(fā)生時刻、失效等級等)對測試策略進(jìn)行在線的調(diào)整,以改進(jìn)測試的效果。由此,產(chǎn)生的結(jié)果是I)對測試對象可靠性缺乏精確的刻畫,難以給出符合實際需求的精確的可靠性評估;2)缺乏對測試過程的改進(jìn),不能得到最有效的測試過程。而面向可靠性評估的自適應(yīng)測試方法,正是利用測試過程中的歷史信息,并用它來指導(dǎo)未來的測試步驟(比如,測試用例的選擇),同時用這些測試信息估計被測對象的性質(zhì)和參數(shù),根據(jù)這些參數(shù)可以更有針對性的選取測試用例,提高可靠性評估測試的精度。
技術(shù)實現(xiàn)思路
本專利技術(shù)的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供,該方法不僅在可靠性評估中充分考慮了不同失效對軟件可靠性的影響的不同,而且通過引入反饋和自適應(yīng)控制的思想,對測試過程進(jìn)行在線的控制和優(yōu)化,從而提高可靠性評估的精度。本專利技術(shù)的技術(shù)解決方案是,其特點(diǎn)在于它包括下列步驟在測試過程中,以面向可靠性評估的軟件測試為例,針對軟件模型的參數(shù)未知,需通過在線估計參數(shù),再利用估計值調(diào)整控制器,即采用間接自適應(yīng)控制方法進(jìn)行軟件測試,形成所謂的軟件測試的自適應(yīng)策略,具體步驟為步驟一針對被測軟件的失效嚴(yán)重程度,將其劃分為兩大類失效關(guān)鍵失效和非關(guān)鍵失效,并對可靠性模型進(jìn)行如下修改 以考慮不同等級的失效對可靠性的不同影響,并通過權(quán)重參數(shù)α和β對其影響的差異進(jìn)行量化描述;其中,式中符號說明如下R為被測軟件的可靠性;被測軟件的測試用例庫被分為了 m個子域,Pi為第i個測試用例子域的選擇概率,也即從第i個測試用例子域中選擇測試用例的概率名彳和^分別表示從第1個測試用例子域中選擇測試用例,測試執(zhí)行后發(fā)生關(guān)鍵(critical)失效與非關(guān)鍵(non_critical)失效的概率;考慮不同等級的失效對可靠性的不同影響,α和β分別為關(guān)鍵失效與非關(guān)鍵失效的權(quán)重參數(shù);〈^代表從第i個測試用例子域中選擇一個測試用例,測試執(zhí)行后沒有發(fā)生失效的概率;步驟二 根據(jù)可控馬爾可夫鏈模型,得到以下方程權(quán)利要求1.,其特征在于該方法具體步驟如下步驟一針對被測軟件的失效嚴(yán)重程度,將其劃分為兩大類失效關(guān)鍵失效和非關(guān)鍵失效,并對可靠性模型進(jìn)行如下修改全文摘要,它用五大步驟步驟一、根據(jù)可控馬爾可夫鏈模型,得到測試過程的控制器方程;步驟二、由控制器方程,在軟件測試過程中,每一步選取的測試決策應(yīng)滿足期望目標(biāo)函數(shù)值最小;步驟三、如果被測軟件參數(shù)已知,就可直接根據(jù)上述方式求得測試決策,從而逐步把測試進(jìn)行下去;步驟四、如果被測軟件參數(shù)未知,利用自適應(yīng)測試,在每步測試中通過在線估計系統(tǒng)參數(shù);步驟五、利用估計值求得最優(yōu)測試決策,逐步把測試進(jìn)行下去,直到滿足測試停止條件。本專利技術(shù)在可靠性評估中充分考慮了不同失效對軟件可靠性的影響的不同,通過引入反饋和自適應(yīng)控制的思想,對測試過程進(jìn)行在線的控制和優(yōu)化,從而提高可靠性評估的精度。文檔編號G06F11/36GK102831064SQ20121032333公開日2012年12月19日 申請日期2012年9月4日 優(yōu)先權(quán)日2012年9月4日專利技術(shù)者殷蓓蓓, 蔡開元, 呂俊鵬, 胡海, 江昌海 申請人:北京航空航天大學(xué)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種面向可靠性評估的軟件自適應(yīng)測試方法,其特征在于:該方法具體步驟如下:步驟一:針對被測軟件的失效嚴(yán)重程度,將其劃分為兩大類失效:關(guān)鍵失效和非關(guān)鍵失效,并對可靠性模型進(jìn)行如下修改:R=Σi=1mpi(1-θiC+θiNαθiC+βθiN+θiS)以考慮不同等級的失效對可靠性的不同影響,并通過權(quán)重參數(shù)α和β對其影響的差異進(jìn)行量化描述;其中,式中符號說明如下:R為被測軟件的可靠性;被測軟件的測試用例庫被分為了m個子域,pi為第i個測試用例子域的選擇概率,也即從第i個測試用例子域中選擇測試用例的概率;和分別表示從第i個測試用例子域中選擇測試用例,測試執(zhí)行后發(fā)生關(guān)鍵失效與非關(guān)鍵失效的概率;考慮不同等級的失效對可靠性的不同影響,α和β分別為關(guān)鍵失效與非關(guān)鍵失效的權(quán)重參數(shù);代表從第i個測試用例子域中選擇一個測試用例,測試執(zhí)行后沒有發(fā)生失效的概率;步驟二:根據(jù)可控馬爾可夫鏈模型,得到以下方程:v(X,η1,Y1C,Y1N,...,ηm,YmC,YmN)=min1≤i≤mθiCv(X-1,η1,Y1C,Y1N,...,ηi+1,YiC+1,YiN,...,ηm,YmC,YmN)+θiNv(X-1,η1,Y1C,Y1N,...,ηi+1,YiC,YiN+1,...,ηm,YmC,YmN)+(1-θiC-θiN)v(X-1,η1,Y1C,Y1N,...,ηi+1,YiC,YiN,...,ηm,YmC,YmN)X≠0時v(X,η1,Y1C,Y1N,...,ηm,YmC,YmN)=var(ρ^)=Σi=1mpivar(θ^i)=Σi=1mpi{ΣYiCΣYiN[αYiC+βYiN(α-1)YiC+(β-1)YiN+ηi]2×PYiCYiN-[ΣYiCΣYiNαYiC+βYiN(α-1)YiC+(β-1)YiN+ηi×PYiCYiC]2}X=0時表示當(dāng)軟件系統(tǒng)缺陷數(shù)即狀態(tài)為時,最優(yōu)決策i即控制器輸出的選取應(yīng)該使得最小;當(dāng)wj(i)≡w(i),也即測試的消耗不隨軟件狀態(tài)發(fā)生改變時,最優(yōu)控制器為:min1≤i≤mθiCv(X-1,η1,Y1C,Y1N,...,ηi+1,YiC+1,YiN,...,ηm,YmC,YmN)+θiNv(X-1,η1,Y1C,Y1N,...,ηi+1,YiC,YiN+1,...,ηm,YmC,YmN)+(1-θiC-θiN)v(X-1,η1,Y1C,Y1N,...,ηi+1,YiC,YiN,...,ηm,YmC,YmN);其中,式中符號說明如下:X表示剩余可執(zhí)行的測試次數(shù);ηi表示在已執(zhí)行測試用例中,從第i個測試用例子域中選取的測試用例的數(shù)目,和分別表示從第i個測試用例子域中選取的測試用例的經(jīng)測試執(zhí)行后發(fā)生的嚴(yán)重失效與非嚴(yán)重失效的數(shù)目;表示當(dāng)前軟件狀態(tài)下,最小的軟件測試代價;wj(i)表示在軟件狀態(tài)為j的情況下從第i個測試用例子域中選取的測試用例并執(zhí)行的代價;步驟三:由控制器方程,在軟件測試過程中,第t步選取的測試決策應(yīng)滿足:At=argmin{v(X-t,η1,Y1C,Y1N,...,ηm,YmC,YmN)}=at;這里t=1,2,…;其中,式中符號說明如下:At表示第t步選取的最優(yōu)測試決策;at表示為At在不同的測試場景下的實例,也即,應(yīng)該選擇的測試用例子域的類別;步驟四:如果被測軟件參數(shù)N和已知,就可直接根據(jù)上述公式求得測試決策,從而逐步把測試進(jìn)行下去;如果被測軟件參數(shù)N和未知,利用自適應(yīng)測試,在第t步測試中通過點(diǎn)估計:θ^iC=YitCηit,θ^iN=YitNηit|t=x0在線估計系統(tǒng)參數(shù)N和其中,式中符號說明如下:和分別表示和的點(diǎn)估計值;和分別表示截至第t步測試,從第i個測試用例子域中選取的測試用例的經(jīng)測試執(zhí)行后發(fā)生的嚴(yán)重失效與非嚴(yán)重失效的數(shù)目;ηit表示截至第t步測...
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:殷蓓蓓,蔡開元,呂俊鵬,胡海,江昌海,
申請(專利權(quán))人:北京航空航天大學(xué),
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。