《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于MC/DC的軟件模塊可靠性估計
基于MC/DC的軟件模塊可靠性估計
葉振宇
東南大學 軟件學院,江蘇 南京210096
摘要: 介紹了Nelson模型及修改的條件/判定覆蓋的基本概念,提出用Nelson模型來估計軟件模塊可靠性,依據修改的條件/判定覆蓋劃分數據輸入域。最終依據模塊可靠性算出系統可靠性。
Abstract:
Key words :

摘   要: 介紹了Nelson模型及修改的條件/判定覆蓋的基本概念,提出用Nelson模型來估計軟件模塊可靠性,依據修改的條件/判定覆蓋劃分數據輸入域。最終依據模塊可靠性算出系統可靠性。
關鍵詞: Nelson模型  修改的條件/判定覆蓋  軟件可靠性  覆蓋測試

  隨著軟件開發由手工作坊型向軟件工廠型轉變,軟件系統的規模和復雜性大大增加,對大型復雜軟件進行可靠性分析也越加困難。另外,可靠性模型的基本假設不能完全成立,從而使可靠性模型的估計值與實際統計值有較大差距。解決此問題的方法之一是將復雜軟件系統按結構特征分解到模塊層。模塊的規模有限,結構簡單,數據采集方便,估算各模塊的可靠性相對要容易得多,然后依據各模塊可靠性數據再對系統的可靠性進行估算。
1  Nelson模型簡介

  將輸入數據域劃分為若干子集,根據工程經驗或專家意見估計出各個子集在運行中被選用的概率,然后按此概率分布隨機抽出n個輸入數據,運行n次程序。如果運行失效次數為nl,則程序可靠度的估計是R=1-(nl/n)。
2  對模型輸入數據域劃分的分析
  Nelson模型的應用必須以程序的結構分析為基礎,因此適用于結構性測試的場合。其輸入數據域一般是依據程序執行路徑來劃分的。如圖1所示的程序流程,有三個輸入變量A、B、X,四條路徑abd、ace、abe、acd,劃分成表1所示的輸入數據域。

  在諸Ei中規定了每個輸入變量的取值區間,在取值區間內任意抽取一個變量的實際取值。將各個變量按順序組合起來便生成了測試用例,即程序運行一次的數據。
  這種劃分方法實際上是白盒測試中的全路徑覆蓋,是一種理想化的情況。其缺點為:路徑是以分支的指數級別增加的。例如:一個函數嵌套10個if語句,就有1 024條路徑;程序中有循環體時,路徑數更是一個龐大的數字,何況還要從諸路徑的輸入數據域Ei中抽取若干樣本來運行程序,因此花費的時間和成本相當高。
3  修改的條件/判定覆蓋
  修改的條件/判定覆蓋(Modified Condition/Decision Coverage,MC/DC)是白盒測試中邏輯覆蓋的一種。它繼承了多重條件覆蓋的優點,線性地增加了測試用例的數量,對操作數及非等式變化反應敏感,具有更高的目標覆蓋率。其相關概念定義如下。
  (1)條件(Condition):不包含邏輯表達式,僅包含由關系操作符(如≥≤=等)構成的布爾表達式。
  (2)判定(Decision):至少包含一個邏輯表達式(AND、OR、XOR等)的布爾表達式。
  修改的條件/判定覆蓋:判定中每個條件的可能結果至少出現一次,每個判定本身的可能結果至少出現一次,每個入口點和出口點至少要喚醒一次,并且每個條件都顯示能單獨影響判定結果。
  如果一個條件能單獨地確定判定的輸出值(判定中的其他條件保持不變),則稱該條件獨立地影響判定結果。表明條件獨立影響結果的二組測試用例稱為獨立影響對。
  

  從表2可以看出,(1)、(2)、(3)構成了判定D1滿足修改的條件/判定覆蓋的最小測試用例集。從數據域E1和E2中各取一個測試用例構成的獨立影響對,表明了條件C1的獨立性影響。同樣,(2)、(3)、(4)構成了判定D2滿足修改的條件/判定覆蓋的最小測試用例集。

4  基于MC/DC的模塊可靠性估計
  Nelson模型中程序的輸入數據域Ei(i=1,2,……,N)的劃分是一個關鍵性步驟。理想狀況下,N是一個很大的數甚至是無窮大的數,在實際工程應用中,N只能取有限值。若依據全路徑覆蓋策略劃分Ei,則N將隨程序復雜度的增長而呈指數增長。所以提議依據修改的條件/判定覆蓋的最小測試用例集來劃分輸入空間。例如,綜合表2中的二個判定,可以取如表3所示的輸入數據域。

  這種覆蓋策略能覆蓋全部的條件取值和判定分支,保證每一個語句都能至少執行一次,有很高的代碼覆蓋率。而當程序復雜度增加時,N的增長是線性的。文獻[1]論述了求MC/DC最小測試用例集的方法。
劃分完輸入域后,根據工程經驗和專家意見估計出各個子集在運行中被選用的概率pi;按此概率進行隨機抽樣,得到m組測試用例;運行程序,最后根據公式得到模塊的可靠性。
  Thayer 給出了程序經過結構測試后用Nelson模型估計可靠性的經驗公式。用ri表示程序第i條通路成功運行的概率ri=ai pi,其中ai是經驗系數。
  如果屬于Ei的測試用例數大于1,則ai的經驗值是0.99。
  如果屬于Ei的測試用例數為1,則ai的經驗值是0.95。
如果沒有屬于Ei的測試用例,但由Ei決定的通路中所有的程序單元和由程序單元構成的順序對在測試中已經全部被執行,則ai的經驗值是0.9。
  如果沒有屬于Ei的測試用例,但由Ei決定的通路中所有的程序單元已全部執行,但是程序單元的順序對只有一部分執行,則ai的經驗值是0.8。
  如果在測試中有m個程序單元(1≤m≤4)沒有執行,則ai的經驗值為0.8~0.2m。
  如果有四個以上的程序單元在測試中沒有執行,則ai的經驗值為0。
5  結  論
  軟件模塊的成型往往處于軟件開發的早期階段。在這個階段,整個系統尚未集成和整合,QA部門正在針對軟件設計的最小單位——程序模塊,進行正確性檢驗的單元測試。
  以測試數據為基礎的預計模型因測試生命周期剛剛開始而無法使用。而覆蓋測試一般應用在軟件測試的早期,即單元測試階段,用它來估計模塊可靠性是適宜的。
  得到軟件各模塊的可靠性之后,便可通過程序軟件邏輯流程來評估整個軟件系統的可靠性。Soistman和Regsdalo在文獻[3]中給出了一種硬/軟件復合系統結構預計方法。該方法在獲得各模塊的可靠性數據后,通過識別運行剖面,分析任務功能,用馬爾可夫過程表示程序邏輯流程在模塊間的轉移,最后計算出系統可靠性。
  估計模塊可靠性的意義在于估計過程中所需的資料和數據都可在軟件開發的早期獲得。通過一定的預計方法,人們在軟件開發的早期就可以對整個系統進行可靠性分析和預計。
參考文獻
1   張義德,王國慶,湯幼寧.更改的判定條件覆蓋測試技術研究.計算機工程與設計,2003;24(5)
2   黃錫滋.軟件可靠性、安全性與質量保證.北京:電子工業出版社,2002
3   Soistman E C,Regsdalo K B.Impact of Hardware/Software  Faults On System Reliability.Government Report AD A165231.USA,1986
4   朱鴻.軟件可靠性估計與計算復雜性的關系淺析.軟件學報,1998;9(9)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一级| 性欧美18~19sex高清播放| 一区二区国产在线观看| 一区精品在线| 韩国精品久久久999| 国产午夜精品麻豆| 国产美女精品| 国产精品乱码一区二三区小蝌蚪 | 欧美xxxx在线观看| 美女主播精品视频一二三四| 久久人人超碰| 免费日韩一区二区| 欧美成人免费观看| 欧美国产成人在线| 欧美精品激情blacked18| 欧美精品二区| 国产精品爱久久久久久久| 国产精品福利在线观看| 国产精品乱码| 国产视频一区在线| 黑人一区二区三区四区五区| 精品不卡一区| 亚洲国产精品一区二区第一页| 在线看日韩欧美| 亚洲三级影院| 亚洲一级在线观看| 欧美在线观看一区二区| 91久久精品一区二区别| 一区二区三区日韩欧美| 亚洲欧美日韩直播| 欧美专区日韩专区| 美女黄毛**国产精品啪啪| 欧美精品偷拍| 国产精品三区www17con| 国产主播一区二区三区| 亚洲第一黄网| 一本色道久久综合亚洲二区三区| 亚洲字幕在线观看| 久久成人免费网| 日韩一级免费观看| 午夜精品一区二区三区在线播放| 久久久999| 欧美日韩xxxxx| 国产精品日韩久久久久| 伊人春色精品| 一区二区动漫| 久久精品人人做人人爽| 艳女tv在线观看国产一区| 午夜亚洲影视| 欧美福利专区| 国产精品美女主播在线观看纯欲| 黄色亚洲大片免费在线观看| a91a精品视频在线观看| 欧美制服丝袜第一页| 一区二区三区偷拍| 久久婷婷国产综合尤物精品| 欧美日韩一区二区在线观看视频| 国产一区二区三区精品久久久| 亚洲精品国产日韩| 欧美一区二区三区在线视频 | 欧美中文在线观看国产| 欧美福利专区| 国产欧美日韩| 亚洲乱码国产乱码精品精| 欧美一区二区视频在线观看2020| 99re8这里有精品热视频免费 | 亚洲在线一区| 麻豆久久精品| 国产精品亚洲不卡a| 最新国产成人在线观看| 小嫩嫩精品导航| 国产精品99久久99久久久二8| 久久精品亚洲乱码伦伦中文 | 国产精品自在欧美一区| 亚洲精选国产| 亚洲国产精品久久久久秋霞不卡| 午夜精品在线| 欧美精品性视频| 黄色另类av| 亚洲女人天堂成人av在线| 99精品欧美一区二区蜜桃免费| 久久久久久久久综合| 国产精品久久久久久久浪潮网站 | 久久久www成人免费精品| 欧美涩涩视频| 91久久国产精品91久久性色| 欧美一区二区三区日韩| 午夜伦欧美伦电影理论片| 欧美精品在线免费播放| 激情五月综合色婷婷一区二区| 亚洲欧美国产视频| 亚洲无线视频| 欧美日韩国产成人在线91| 永久91嫩草亚洲精品人人| 性欧美18~19sex高清播放| 亚洲欧美激情一区| 欧美日韩mp4| 亚洲激情亚洲| 亚洲欧洲日本mm| 久久综合99re88久久爱| 国产一区二区三区四区老人| 亚洲欧美日韩精品一区二区| 亚洲一区二区网站| 欧美日韩另类丝袜其他| 亚洲欧洲日产国产网站| 亚洲日本欧美| 免费在线观看一区二区| 一色屋精品视频免费看| 亚洲福利免费| 久久人人爽人人爽| 国产一区二区精品久久| 欧美在线1区| 久久久久久久999精品视频| 国产一区二区久久久| 亚洲欧美日韩精品在线| 久久av红桃一区二区小说| 国产日韩欧美在线一区| 亚洲女ⅴideoshd黑人| 性欧美办公室18xxxxhd| 国产毛片精品视频| 性欧美精品高清| 久久久久久黄| 激情五月婷婷综合| 亚洲国产精品999| 欧美成人一品| 亚洲精品一区二区三| 一本久道久久久| 欧美日韩一级大片网址| 在线视频你懂得一区| 亚洲综合视频在线| 国产精品视频区| 香蕉免费一区二区三区在线观看| 久久精品一区二区三区不卡| 国产麻豆午夜三级精品| 欧美在线播放一区二区| 蜜桃久久精品乱码一区二区| 亚洲激情亚洲| 亚洲性人人天天夜夜摸| 国产精品视频yy9099| 性一交一乱一区二区洋洋av| 猛男gaygay欧美视频| 亚洲日韩欧美视频| 亚洲一区二区免费在线| 国产精品hd| 欧美一区二视频在线免费观看| 久久精品在线观看| 一区二区三区在线不卡| aaa亚洲精品一二三区| 国产精品国产自产拍高清av王其| 亚洲综合精品自拍| 另类尿喷潮videofree| 国产精品一区二区在线| 欧美一区二区视频在线观看| 亚洲欧美精品伊人久久| 国产一区二区三区电影在线观看| 久久精品麻豆| 欧美日韩p片| 亚洲综合精品一区二区| 久久综合伊人77777蜜臀| 亚洲免费久久| 久久av最新网址| 亚洲精品久久7777| 欧美亚洲免费电影| 在线看成人片| 亚洲欧美日韩精品久久久久| 狠狠色伊人亚洲综合成人| 99re6热在线精品视频播放速度| 国产精品看片资源| 亚洲国产精品久久精品怡红院| 欧美日韩亚洲一区二区三区四区| 亚洲欧美清纯在线制服| 免费成人网www| 亚洲香蕉视频| 美日韩在线观看| 亚洲综合色视频| 欧美巨乳在线观看| 欧美一区中文字幕| 欧美日韩在线电影| 亚洲大片在线观看| 国产精品久久久久久久7电影| 亚洲激情自拍| 国产精品一区二区久激情瑜伽| 亚洲激情视频网| 国产精品亚洲一区二区三区在线| 91久久精品一区二区三区| 国产精品日韩精品欧美在线| 亚洲精品视频一区二区三区| 国产欧美日本| 亚洲午夜久久久| 亚洲福利视频一区| 久久久精品网| 亚洲午夜精品福利| 欧美精品在线一区| 亚洲福利精品| 国产欧美亚洲一区| 亚洲桃色在线一区| 亚洲国产一区二区精品专区| 久久精品一区| 亚洲专区一区二区三区| 欧美日韩激情小视频|