999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于故障的軟件可測試性模型設計與應用

2015-10-14 11:24:49呂俊廷
科技視界 2015年28期
關鍵詞:失效故障

呂俊廷

【摘 要】軟件的可測試性表示軟件中的錯誤被檢測出的難易程度,軟件的可信度則表示經過測試之后對一個軟件的信任程度,它們都是軟件的重要質量特性。本文將極限理論引入到軟件測試過程中,較好的解決了確定軟件的可信度的方法,建立了基于故障的可測試性模型,并利用這個模型給出了軟件可測試度的計算方法。最后,給出了基于故障的可測試性模型在軟件測試過程中的應用。

【關鍵詞】可測試性;可信度;故障;失效;基于故障的可測試性模

軟件的可測試性指在給定任意輸入集合下對軟件進行隨機黒盒測試的過程中,軟件中存在的錯誤被發現的難易程度。可測試度是可測試性大小的度量,指隨機黒盒測試過程中,軟件錯誤能夠被揭示出來的概率。現有的可測試性模型,如敏感性分析模型[1]、PIE分析模型[2]、靜態可測試性度量模型[3]等,都是基于白盒測試的,它們的理論基礎就是軟件的故障/失效(Fault/Failure)模型[4],這個模型介紹了軟件故障導致軟件失效的三個充分必要條件:

1)程序的輸入使這個軟件錯誤得到了執行;

2)被執行的錯誤使該程序位置之后的數據狀態發生變化(故障);

3)錯誤的程序數據狀態被傳播到程序輸出,并使輸出結果錯誤(產生失效)。

各個不同的模型就是針對這三個充分必要條件,采用不同的技術來獲取它的概率值,如敏感性分析模型和PIE分析模型主要應用了插裝變異體的技術,而靜態可測試性模型則是利用了各種操作符和操作數的發生潛在錯誤的概率來計算可測試性,基于錯誤/故障模型的可測試性計算方法要求多次運行被測程序,通過觀測變異因子對程序結果的影響來估計其執行概率、傳染概率和傳播概率,進而估量程序可測試性度量指標值。該過程雖然較為貼近實際結果,但通常實現起來效率比較低下;同時由于該過程需要記錄大量測試過程信息,因而對系統的資源要求也很高。本文試圖建立一種基于軟件測試過程的可測試性度量模型,可測試性的值在軟件的測試過程中,被逐步的修正并隨之應用于軟件的測試,使得可測試性分析和軟件測試過程有機結合在一起。

軟件的可信度[5]反映了我們對一個軟件的信任程度,一般的,R=,其中Lr表示程序中正確的代碼行數,Lt表示代碼總行數。問題在于一個軟件經過測試之后,軟件中正確的代碼行數依然是未知的,那么我們能夠在多大程度上信任它,即它的可信度是多少呢?軟件測試的結果是衡量軟件質量的依據,本文將從軟件測試的結果中給出軟件可信度的計算方法。

1 軟件測試過程的極限模型

給定規格說明書S,滿足S的正確的程序有無數個,它們構成一個等價類P。我們假定程序經過修改后引入的新故障數小于修正的故障數,對于一個較為成熟的組織,這個假設是成立的。設剛完成的未經測試的程序為P0,

公式(1)為我們在工程上的應用奠定了基礎,我們無法知道正確的程序到底是什么,但是我們可以很容易的知道程序當前的版本和在此之前的版本的差異,后面我們將利用這個差異來確定軟件的可測試度和可信度。

軟件測試過程的極限模型是對程序進行多輪測試的過程中所表現出來的規律,這一點決定了它適合于大型的程序,因為只有大型的程序才有可能進行多輪的軟件測試。對于小型的程序來講,由于它的開發和測試過程受到個人技能因素的影響較大,所以極限模型在小型的程序中的表現并不明顯。

2 基于故障的可測試性模型及其工程化應用

2.1 基于故障的可測試性模型

可測試性反映了程序的錯誤在測試過程中暴露的難易程度,可測試性好的程序,它的錯誤容易暴露出來;可測試性差的程序,它的錯誤難于暴露出來。如果錯誤容易暴露出來,我們就認為它體現了軟件的優良的可測試性方面的信息;如果錯誤隱藏的很深,不容易暴露出來,我們就認為這些錯誤則體現了軟件的可測試性差的方面的信息。因此,一個可測試性好的模塊,它的錯誤必然容易發現,不需要執行太多的測試用例,在測試的初期就能夠揭示出來;相反,可測試性差的模塊,它的錯誤隱藏的很深,需要執行大量的測試用例,到測試的末期甚至直到軟件交付使用后才能將錯誤揭示出來。

根據上面的分析,我們把軟件的錯誤分為兩類:容易暴露的錯誤和難于暴露的錯誤,那么可測試度就是容易暴露的錯誤的度量占錯誤的總度量的比例,下面將以錯誤的數量為度量單位進行討論,即容易暴露的錯誤數占軟件中錯誤總數的比例:

2.2 軟件的可信度度量

在隨機黒盒測試中,軟件中的錯誤只有當以故障的形式表現出來時,我們才能夠發現并修正它,軟件中的錯誤到底有多少,即使經過了大量的測試之后,也是不可知的,因為軟件測試只能夠證明軟件中含有錯誤,而無法證明軟件是正確的。雖然軟件故障只是軟件錯誤的表現形式之一,對于工程化的應用來講,那些永遠不能以故障的形式表現出來的軟件錯誤,可以認為是正確的,所以對于2.1節的可測試度公式(2)中的錯誤數,可以用故障數來代替

那么如何判定一個故障是容易暴露的故障還是難于暴露的故障呢?一個非常直觀的想法就是容易暴露的錯誤必然容易被發現,因此在隨機黒盒測試的早期就能夠以軟件故障的形式表現出來;難于暴露的錯誤必然隱藏的很深,不容易被發現,因此直到軟件測試的末期,甚至于軟件交付使用之后才被揭示出來。基于這種思想,我們把隨機黒盒測試按照時間的順序劃分為若干個階段,用第一階段、第二階段、…來表示,把初始階段測試中發現的故障數作為容易發現的故障數,一般的可以取第一階段

3 基于故障的可測試性模型在軟件測試過程中的應用

基于故障的可測試性模型提供了兩個非常有價值的軟件指標:可信度和可測試度,這兩個指標可以指導我們科學的規劃軟件測試的進度和合理的分配軟件測試過程中資源。下面以p=2為例說明基于故障的可測試性模型在軟件測試過程中的應用。

理論上來說,任何一輪測試結束后都可以計算軟件的可測試度和可信度,但是假定p=2的前提下,第一輪測試結束后根據公式(4)是無法計算可信度的,所以p=2就意味著至少進行兩輪測試;同理,如果假定p=3,則至少進行3輪測試,以此類推。那么兩輪測試結束之后,可以由公式(4)計算軟件的可信度R,如果R大于給定的軟件的可信度R′,則停止測試;否則,根據公式(3)計算軟件各個模塊的可測試度,根據各模塊可測試度的值分配測試資源,即可測試度越小,分配的測試資源越多;可測試度越大,分配的測試資源越少,繼續進行下一輪的測試,直到滿足給定的可信度為止。

可依照如下算法進行:

(Ⅰ)選擇p的值,并進行p輪測試,得到程序Pp。

(Ⅱ)根據公式(4)計算程序Pp的可信度R,如果R>R′,則停止測試,程序Pp即可發布;否則轉(3)。其中R′為事先給定的軟件的可信度,是我們對軟件的要求。

(Ⅲ)根據公式(Ⅲ)計算軟件的各個模塊的可測試度,根據可測試度的大小分配測試資源,進行第p+1輪測試,得到程序Pp+1,轉(Ⅱ)。

在上述測試流程中,軟件的可信度和可測試度不斷的進行著修正,每進行一輪測試就向真值靠近一步,直到達到我們的要求才停下來。

4 結束語

本文將極限理論引入到軟件測試中,解決了軟件發布的時間點,即測試結束的時間點的問題,并在此基礎上建立了基于故障的可測試性模型,給出了基于故障的可測試度計算方法,整個流程如下:

(1)軟件測試以m天為一個階段進行,各個階段的測試天數m可以不同,一個版本測試結束后,把測試中發現的故障進行修正得到新的編譯版本,由此得到一個程序序列:

(3)計算軟件的可測試度,T=,其中Fo表示第一階段發現的故障數,F表示測試過程中發現的故障總數。基于故障的可測試性模型主要是針對桌面操作環境下故障發生的特點提出的,對于網絡環境并沒有考慮到,尤其是網絡環境下的軟件疲勞問題,可能是本模型的一個盲區,還需要做進一步的研究。

【參考文獻】

[1]Jeffrey Voas. Software Testability Measurement for Assertion Placement and Fault Localization[J].Software Quality Journal, 1997,6(5):327-335.

[2]Jeffrey Voas. A Dynamic Failure Model for Predicting the Impact that a Program Location has on the Program[J]. ESEC,1991,550(3):308-331.

[3]Jin-Cherng Lin,Szu-wen Lin&Ian-Ho. An Estimated Method for Software Testability Measurement[J]. Eighth IEEE International Workshop Proceedings on Software Technology and Engineering Practice [Incorporating Computer Aided Software Engineering], 1997,6(6):14-18.

[4]Morell, Larry. A Theory of Fault-based Testing[J]. IEEE Tracsactions on Software Engineering, 1990,16(8):844-857.

[5]宮云戰.軟件的測試性分析與設計[J].裝甲兵工程學院學報,2000,1(1):1-5.

[責任編輯:鄧麗麗]

猜你喜歡
失效故障
故障一點通
滄電鍋爐受熱面幾種典型失效案例分析
如何防止主軸承失效以提高磨機產能
謹防網絡意識形態宣傳“失效”
人民論壇(2016年16期)2016-07-15 10:36:27
三伏貼“失效”三大原因
大學化學實驗用氟離子選擇電極的再生處理研究
科技視界(2016年6期)2016-07-12 09:48:04
奔馳R320車ABS、ESP故障燈異常點亮
故障一點通
故障一點通
故障一點通
主站蜘蛛池模板: 99re精彩视频| 精品视频一区二区观看| 国产视频一二三区| 亚洲精品第一页不卡| 欧美日韩另类国产| 久久久久国产精品熟女影院| 五月激情婷婷综合| 久久婷婷色综合老司机| 国产综合日韩另类一区二区| 久久久久免费看成人影片| 中国成人在线视频| 国产十八禁在线观看免费| 激情午夜婷婷| 国产成人精品日本亚洲| 国产成人免费视频精品一区二区 | 中文字幕av无码不卡免费| 狠狠做深爱婷婷久久一区| 国产欧美精品一区二区| 99偷拍视频精品一区二区| 国产高清免费午夜在线视频| 久久午夜夜伦鲁鲁片无码免费| 亚洲全网成人资源在线观看| 免费一级无码在线网站| 极品尤物av美乳在线观看| 日日拍夜夜嗷嗷叫国产| 欧美影院久久| 欧美精品成人| 自偷自拍三级全三级视频| 毛片卡一卡二| 97视频在线精品国自产拍| 国产精品综合久久久| 亚洲综合一区国产精品| 国产系列在线| 99中文字幕亚洲一区二区| 精品久久香蕉国产线看观看gif| 最新亚洲人成网站在线观看| 久久国产精品夜色| 婷婷六月综合网| 国产精品无码在线看| 免费人成在线观看视频色| 午夜一级做a爰片久久毛片| 久久6免费视频| 国产一区二区在线视频观看| 国产无码性爱一区二区三区| 尤物在线观看乱码| 成人在线欧美| 波多野结衣一区二区三区88| 日本成人精品视频| 欧美成人免费午夜全| 精品91视频| 特级毛片免费视频| 亚洲中文精品久久久久久不卡| 国产一区自拍视频| 91视频首页| 亚洲视频免费在线| 午夜性爽视频男人的天堂| 久久精品无码中文字幕| 亚洲成年人网| 久久久久中文字幕精品视频| 综合久久五月天| 91视频日本| 中文成人在线视频| 精品成人免费自拍视频| 国产精品yjizz视频网一二区| 华人在线亚洲欧美精品| 亚洲精品国产日韩无码AV永久免费网| 亚洲成a∧人片在线观看无码| 国产一级无码不卡视频| 亚洲国产成人无码AV在线影院L| 亚洲高清无在码在线无弹窗| julia中文字幕久久亚洲| 日韩黄色在线| 在线中文字幕日韩| 国产精品妖精视频| 日韩av高清无码一区二区三区| 欧美日韩国产系列在线观看| 国产成人亚洲日韩欧美电影| 国产三级精品三级在线观看| 国产丝袜精品| 91久久夜色精品| 成人一区专区在线观看| 久久成人18免费|