• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種提高軟件可靠性驗證測試效率的方法*

    2018-10-09 03:15:26馬振宇劉福勝陳守華
    火力與指揮控制 2018年8期
    關(guān)鍵詞:軟件可靠性測試用例先驗

    馬振宇,劉福勝,吳 緯,陳守華,韓 坤

    (1.陸軍裝甲兵學(xué)院,北京 100072;2.北京特種車輛研究所,北京 100072)

    0 引言

    當今軟件在各個領(lǐng)域當中,被使用的范圍越來越廣泛,其自身的可靠性問題也就成為專家學(xué)者們越來越關(guān)注的問題。尤其在武器裝備、航空航天等相關(guān)領(lǐng)域,對于這些安全關(guān)鍵型的軟件,使用方明確給出了軟件可靠性指標要求。那么如何高效、客觀地驗證這一類安全關(guān)鍵型軟件的可靠性是否達到用戶所規(guī)定的可靠性標準,成為當下軟件可靠性驗證測試[1]中最關(guān)鍵的問題。

    目前針對軟件可靠性驗證測試有一類關(guān)于使用貝葉斯方法的測試方法。文獻[2]應(yīng)用了構(gòu)造共軛分布的貝葉斯方法。文獻[3]提出了基于先驗動態(tài)整合的可靠性驗證測試方法。文獻[4]提出了基于混合貝塔分布的貝葉斯驗證方法。文獻[5]應(yīng)用了基于減函數(shù)的先驗分布構(gòu)造法進行測試驗證的方案。進一步在文獻[6]中,提出了基于減函數(shù)的多層貝葉斯軟件可靠性驗證測試方法。

    為了更好地利用先驗信息,找到新舊軟件產(chǎn)品之間存在的差異,更加真實地反映軟件可靠性驗證測試的實際結(jié)果。本文首先采用了混合加權(quán)貝葉斯方法,通過引入混合加權(quán)權(quán)重(繼承因子),充分考慮軟件在更新?lián)Q代中各類信息,將混合加權(quán)權(quán)重看作一個隨機變量,提出了基于混合加權(quán)貝葉斯的軟件可靠性驗證測試方法。接著詳細給出了在混合加權(quán)情況條件下的超參數(shù)估計方法。最后通過實驗分析,驗證了該方法的有效性。

    1 貝葉斯驗證測試方法基礎(chǔ)理論

    1.1 貝葉斯方法的基本原理

    將每一次軟件可靠性驗證測試試驗看成成敗型試驗,同時設(shè)定每次軟件被測試出失效的概率相等且為p,并且每一次測試均符合n重伯努利實驗。那么在n次獨立重復(fù)測試中,出現(xiàn)X次失效次數(shù)的概率就符合二項分布,即:

    根據(jù)上述假設(shè)的條件,在實際的軟件可靠性測試中,選擇共軛分布貝塔分布作為失效概率的概率密度函數(shù)的先驗分布。同時后驗分布應(yīng)與先驗分布屬于同一類分布。

    其中,00,b>0,a,b 都為先驗分布的超參數(shù)。B(a,b)為貝塔函數(shù),即:

    依據(jù)式(2),軟件經(jīng)過n個測試用例遍歷測試完成之后,出現(xiàn)了r個失效數(shù),并由貝葉斯定理可以得到該失效概率的后驗分布應(yīng)是 Beta(a+r,b+n-r),即:

    在進行軟件可靠性驗證測試時,假設(shè)初始的可靠性指標為(p0,c),其中 p0為軟件失效概率,c為置信度。聯(lián)合式(4)求出滿足下式中最小的整數(shù)解,即為軟件可靠性驗證測試的測試用例數(shù)n。

    1.2 超參數(shù)的求解辦法

    根據(jù)歷史性數(shù)據(jù)結(jié)合貝葉斯推斷原理對先驗分布進行估計,即對超參數(shù)a、b進行量化估計。其求解的基本原理為:假定樣本數(shù)(x1,x2,…,xn),對變量p 的似然分布為 g(x1,x2,…,xn|p),并且變量 p 的先驗分布為f(p),則可得到樣本數(shù)據(jù)和變量之間的聯(lián)合密度函數(shù)f(p)g(x1,x2,…,xn|p),進而求得樣本的邊緣密度函數(shù)。h(x1,x2,…,xn)的估計是通過歷史樣本數(shù)據(jù)得到的,然后將確定出的f(p)和g(x1,x2,…,xn|p)一同去估計出超參數(shù)的值。

    依據(jù)超參數(shù)的求解原理,選用軟件在以往測試過程中遺留下的最后m組的測試記錄作為先驗信息,每一組里含有n個測試用例,并同時統(tǒng)計出每一組測試用例中造成軟件失效的數(shù)量,分別記作k1,k2,…,km,因而求得失效概率的經(jīng)驗值為ti=ki/n(i=1,2,…,m)。

    樣本的邊緣分布為:

    進而求得h(x)對應(yīng)的一階矩為:

    h(x)的二階矩為:

    將 E(x)、E(x2)記作 w1、w2,則超參數(shù) a,b 為:

    然而w1、w2可以通過經(jīng)驗樣本值的期望所估計,即:

    把式(10)代入到式(9)中,即可估計出超參數(shù)a與b的值。

    2 混合貝葉斯方法

    2.1 混合貝葉斯基礎(chǔ)理論

    通常來說,軟件的研發(fā)過程是一個不斷更新的進程。高版本的軟件一般是在低版本的軟件基礎(chǔ)之上進行改進的,因此,高版本的軟件就會具有許多和低版本軟件相似的特性,同時高版本的軟件也會具有自己獨有的特性。這就要求先驗分布既有傳承性,還有由于版本的升級換代引發(fā)的不確定性。因此,本文引入混合先驗分布的概念,把混合加權(quán)權(quán)重[7](繼承因子和更新因子)結(jié)合到先驗貝塔分布當中去,使得軟件可靠性驗證測試方案更具有實際意義。

    在二項分布中,混合先驗分布為:

    其中:ρ為混合加權(quán)權(quán)重(繼承因子),1-ρ為更新因子,0≤ρ≤1。p 為失效概率,0<p<1。a,b 為超參數(shù)。

    根據(jù)式(11)可以得出,混合先驗分布是無信息先驗分布以及共軛先驗分布的加權(quán)和。繼承因子體現(xiàn)了歷史數(shù)據(jù)符合總體與試驗樣本符合總體的相似程度,然而更新因子就體現(xiàn)出更新的高版本軟件中帶來的可靠性不確定性。

    當ρ=1時,說明高版本軟件對低版本軟件沒有進行任何的改進措施,那么此時的混合先驗分布就是共軛先驗分布,即為f(p)=Beta(a,b);當ρ=0時,說明高版本軟件徹底改變了低版本軟件的所有性質(zhì),是一個全新的軟件,那么此時的混合先驗分布就是在區(qū)間[0,1]上的均勻分布,即f(p)=1。實際的意思就是徹底沒有利用歷史信息,在無先驗信息的條件下,確定的先驗分布;當0<ρ<1說明高版本軟件與低版本軟件是類似的,歷史數(shù)據(jù)起到了一定的參考價值。當ρ取值在0和1之間,也更貼近實際的工程意義。

    因為繼承因子對軟件可靠性的驗證起到了至關(guān)重要的作用,所以對于它的取值就應(yīng)該非常慎重。它體現(xiàn)的是相似程度。如果當高版本軟件在低版本軟件的基礎(chǔ)上做了許多改動,則ρ的值就應(yīng)該越小;反過來說,如果當高版本軟件在低版本軟件的基礎(chǔ)上幾乎沒有做太多的改動,則ρ的值就應(yīng)該越大。

    2.2 混合加權(quán)權(quán)重下的超參數(shù)估計方法

    依舊根據(jù)超參數(shù)估計的基本原理,結(jié)合式(6)與式(11),可以得到在混合加權(quán)貝葉斯條件下的樣本邊緣分布,即:

    結(jié)合式(7)和式(11),求得在混合加權(quán)貝葉斯條件下的h(x)對應(yīng)的一階矩為:

    同理,結(jié)合式(8)和式(11),求得在混合加權(quán)貝葉斯條件下的h(x)對應(yīng)的二階矩為:

    接著把式(10)代入到式(15)中,即可估計出超參數(shù)a與b的值。

    3 基于混合加權(quán)貝葉斯的驗證方法

    在軟件可靠性測試過程中,用n個測試用例進行遍歷測試,共出現(xiàn)了r次失效。再根據(jù)混合貝葉斯的先驗分布,結(jié)合式(1)和式(11),可以推導(dǎo)出失效概率的后驗分布,即:

    根據(jù)實際情況,設(shè)定軟件可靠性測試中最大失效的次數(shù)r,失效概率為p0,置信度為c。應(yīng)用式(16),求出滿足式(17)的最小整數(shù)值,也就是基于混合加權(quán)貝葉斯可靠性驗證測試方案的測試用例數(shù)量n。

    4 案例分析

    本文通過一個實測項目結(jié)果用于證明基于混合加權(quán)貝葉斯方法在軟件可靠性驗證測試的方法中有效地降低工作量,減少測試用例的數(shù)量。首先收集軟件可靠性測試過程中最后10組數(shù)據(jù)作為估計先驗信息的歷史數(shù)據(jù),每一組出現(xiàn)的失效次數(shù)如表1所示。

    表1 先驗信息失效數(shù)據(jù)

    由式(15)可以算出在不同混合加權(quán)權(quán)重下的先驗分布的超參數(shù)的估計值,如表2所示。

    表2 不同混合加權(quán)權(quán)重下的超參數(shù)估計值

    特別指出,表2中并未包含ρ=0時,超參數(shù)的估計情況,那是因為當ρ=0時,此時為無先驗信息的分布,并且該分布為在區(qū)間[0,1]上的均勻分布,同時滿足 Beta(1,1)=U(0,1)。也就說明此時 a、b 的取值都為1。

    給定測試方案的指標(p0,c)=(0.001,0.99),即為在置信度為0,99,失效概率為0.001。同時規(guī)定最大允許失效次數(shù)為5的條件下,通過歷史信息,結(jié)合式(17)求得在不同失效個數(shù)下,不同權(quán)重測試方案所需要的測試用例數(shù)量,如表3所示。

    表3 基于混合加權(quán)貝葉斯驗證方法所需測試用例數(shù)量

    根據(jù)表3,可以得到以下2個相關(guān)結(jié)論:

    1)當高版本軟件在低版本的基礎(chǔ)上做出的改變越多,那么混合加權(quán)權(quán)重的值就越小,這就造成軟件可靠性驗證測試的測試用例數(shù)量陡然增加;反之,高版本軟件在原有軟件的基礎(chǔ)上只做出少許改變,則混合加權(quán)權(quán)重的值就越大,對于測試方案所需要的測試用例數(shù)量來說,增加的測試用例數(shù)量也就沒有那么明顯。特別指出當ρ≤0.5時,軟件可靠性驗證測試方案的測試用例數(shù)會大幅度增加,因此,本文推斷存在當高版本軟件在原軟件基礎(chǔ)之上做出至少一半的改動時,就會給驗證測試帶來巨大的工作量,增加測試成本。

    2)當ρ=0時,說明此時是在無先驗信息條件下,測試方案對于驗證測試所需要的工作量是最大的。當ρ=0.1時,可以發(fā)現(xiàn)較ρ=0的條件下的所需測試用例數(shù)減少了許多。這是因為當ρ>0時,說明是在有歷史數(shù)據(jù),先驗信息的情況下,可以顯著地降低驗證測試的工作量。貝葉斯方法的測試方案比起無先驗信息的測試方案分別在失效數(shù)r=0,1,2,3,4,5 時,測試用例最少分別減少了 1 262 個、1 392個、1 341個、1 268個、1 201個、1 325個(ρ=0.1時),最多減少了2 460個、2 603個、2 593個、2 538個、2 596個、2 514個(ρ=1時)。

    5 結(jié)論

    本文首先提出基于貝葉斯方法的軟件可靠性驗證測試方案,并同時給出針對超參數(shù)求解的詳細推導(dǎo)過程。接著提出混合加權(quán)權(quán)重,該權(quán)重能夠更加真實地反映軟件在更新?lián)Q代過程中的各種變化信息。然后依據(jù)超參數(shù)的求解過程,給出了混合加權(quán)情況下的超參數(shù)估計的具體方法。最后給出了提高軟件可靠性驗證測試效率的方法。通過案例分析,該方法比起傳統(tǒng)貝葉斯方法更客觀地反映被測軟件的可靠性,因此,該方法在實際運用過程中更加合理化。同時比起無先驗信息的測試方案,在保證驗證結(jié)果置信度不變的基礎(chǔ)之上,能夠顯著地降低可靠性驗證測試所需要的測試用例數(shù)量。但是該方法還需要投入到今后大量的驗證測試實驗中去檢驗,以此來不斷完善該方法,以便后續(xù)更高效地應(yīng)用到軟件可靠性驗證測試中。

    猜你喜歡
    軟件可靠性測試用例先驗
    基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
    基于無噪圖像塊先驗的MRI低秩分解去噪算法研究
    軟件可靠性工程綜合應(yīng)用建模技術(shù)研究
    基于混合遺傳算法的回歸測試用例集最小化研究
    基于自適應(yīng)塊組割先驗的噪聲圖像超分辨率重建
    數(shù)控系統(tǒng)軟件可靠性設(shè)計與故障分析技術(shù)
    基于平滑先驗法的被動聲信號趨勢項消除
    先驗的廢話與功能的進路
    基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
    簡談使用BoundsChecker進行計算機聯(lián)鎖系統(tǒng)人機界面軟件可靠性測試
    贵德县| 汶川县| 康保县| 稻城县| 周宁县| 延庆县| 九龙县| 玛纳斯县| 监利县| 渭南市| 论坛| 芦溪县| 华阴市| 尼勒克县| 安新县| 龙岩市| 玉溪市| 综艺| 龙井市| 衡南县| 石屏县| 西宁市| 兴和县| 崇仁县| 靖远县| 抚宁县| 虹口区| 吉林市| 柘荣县| 英超| 宜阳县| 湖口县| 岳普湖县| 屯门区| 庄浪县| 景德镇市| 太谷县| 灯塔市| 右玉县| 乌鲁木齐县| 星座|