軟件可靠性測試數(shù)據(jù)生成方法的研究_第1頁
軟件可靠性測試數(shù)據(jù)生成方法的研究_第2頁
軟件可靠性測試數(shù)據(jù)生成方法的研究_第3頁
軟件可靠性測試數(shù)據(jù)生成方法的研究_第4頁
軟件可靠性測試數(shù)據(jù)生成方法的研究_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第""卷"#%年第9期%月航空學(xué)報NnPzQXn-NPn+nzQXn-N+-Q-NfUp*""QU*9QUa*"#%.文章編號!%#$9:)+("#%-#9$#)$#,軟件可靠性測試數(shù)據(jù)生成方法研究陳雪松;陸民燕;阮鐮%#:+-北京航空航天大學(xué)工程系統(tǒng)工程系;北京(<=>?AB<AC=DEFGFGHIEJIHI=G<=?E=EKGBGFE=IABLG=MA?$;W$;NOPQRS7TU6VXYZ66XQWZ6(;_#:+;N-_7ZZ6VX6Za7bTZ/Uc7bU6S/Z8T6dT/bU6S/Z8T

2、7ZZ6V%.Z6摘要!闡述了構(gòu)造非實時軟件運(yùn)行剖面的方法;以及根據(jù)運(yùn)行剖面生成非實時軟件可靠性測試數(shù)據(jù)的方法;并提出了構(gòu)造實時軟件運(yùn)行剖面和生成實時軟件可靠性測試數(shù)據(jù)的思路e最后給出實例;系統(tǒng)地演示非實時軟件可靠性測試數(shù)據(jù)的生成過程e關(guān)鍵詞!軟件可靠性測試&系統(tǒng)模式剖面&功能剖面&運(yùn)行剖面&測試數(shù)據(jù)&(非-實時軟件中圖分類號!f"%*g文獻(xiàn)標(biāo)識碼!nEhijklmj.7o7/.UdUc8U6T/bS8/Z6V/.7U07b/ZU6p0bUcZp75T7dU62.Z8./.7b7pZ5ZpZ/7T/d/b7V76$*p$*67b/7dcUb6U

3、6b7p/Zo7TUc/2b7ZTdZT8STT7dTU/.7Zd7Uc/.UT7cUbb7p/Zo7TUc/2b7ZT0bU0UT7d$74o0p7ZppST/b/Z6V/.72.Up70bU87dSb7UcV767b/Z6V6U6b7p/Zo7TUc/2b7b7pZ5ZpZ/7T/d/TT/7o/Z$*8ppZTVZa76/.776dUc/.ZT007b!T&T&c&U&/qrstukviUc/2b7b7pZ5ZpZ/7T/Z6VT/7ooUd70bUcZp7S68/ZU6p0bUcZp707b/ZU6p0bUcZp77T/d$&(-$/6U6b7p

4、/Zo7TUc/2b7軟件可靠性測試是保證軟件質(zhì)量與可靠性的重要手段;它能夠有效地暴露在實際使用過程中影響軟件可靠性的缺陷(最先暴露的一-;w7c78/般是高發(fā)生概率的缺陷e軟件可靠性測試包括軟%y件可靠性增長測試和軟件可靠性驗證測試xe在構(gòu)造運(yùn)行剖面的過程中;需要了解用戶是如何使用該軟件的e要充分了解用戶使用軟件的各種完成這些功能相應(yīng)的輸入變量e模式和各種功能;同時;還要了解用戶在使用軟件時各系統(tǒng)模式和功能發(fā)生的概率e這些信息大都來自軟件開發(fā)的文檔;規(guī)格說明書和接口文件等資料e需要測試分析人員向用戶了解軟件的使用信息e系統(tǒng)模式及功能劃分得越完整;概率越準(zhǔn)確;構(gòu)造出的運(yùn)行剖面越能反映軟件的實際

5、使用情況e構(gòu)造軟件的運(yùn)行剖面的方法是按照一種層次結(jié)構(gòu);自頂向下地把用戶使用軟件的輸入空間劃把系統(tǒng)模式剖面劃分為功能分為系統(tǒng)模式剖面;+;,y剖面;最后把功能剖面劃分為運(yùn)行剖面xe軟件可靠性測試的主要特點(diǎn)是按照用戶實際使用軟件的方式來測試軟件e軟件的運(yùn)行剖面可以用來定量描述用戶實(-z07b/ZU6pbUcZp7際使用的軟件方式e構(gòu)造軟件的運(yùn)行剖面是實現(xiàn)軟件可靠性測試的關(guān)鍵步驟;也是軟件可靠性測試最主要的特征e可靠性測試數(shù)據(jù)是基于運(yùn)行剖面生成的e軟件可以分為實時軟件和非實時軟件兩類e本文在討論生成非實時軟件可靠性測試數(shù)據(jù)的基礎(chǔ)上;給出了構(gòu)造實時軟件運(yùn)行剖面和生成可靠性測試數(shù)據(jù)的思路e*構(gòu)造系統(tǒng)模

6、式剖面通過分析軟件使用的方式;可將其劃分成相對獨(dú)立的一組系統(tǒng)模式;確定系統(tǒng)模式發(fā)生的概率;即構(gòu)成系統(tǒng)模式剖面!%&(;$&"#"#"#$個系統(tǒng)模式剖面元%;")*,;其中!"#+$是第$素&"個系統(tǒng)模式&#個系統(tǒng)模式$是第$是第$發(fā)生的概率&*+是系統(tǒng)模式的個數(shù)e除非特別需要;系統(tǒng)模式不宜劃分得過多;要盡可能準(zhǔn)確而精練地描述出用戶使用被測軟件的可能方式;這一原則同樣適用于構(gòu)造功能剖面和%構(gòu)造非實時軟件運(yùn)行剖面的方法軟件的運(yùn)行剖面|是指對系統(tǒng)使用條件的定義e即系統(tǒng)的輸入值用其按時間的分布或按它們x

7、"y在可能輸入范圍內(nèi)的出現(xiàn)概率的分布來定義e收稿日期!"#$%#$%&修訂日期!"#%$#%$#基金項目!國防科工委九五重點(diǎn)預(yù)研項目(資助項目%)*+*%*,-文章網(wǎng)址!11*11"#%1#91#)1./0222*.34567/86.345運(yùn)行剖面!在確定系統(tǒng)模式發(fā)生的概率時"可通過對相似系統(tǒng)某一系統(tǒng)模式的使用進(jìn)行統(tǒng)計或依據(jù)用戶經(jīng)驗"估計出該系統(tǒng)模式發(fā)生的概率!在統(tǒng)計概率可以結(jié)合開發(fā)人員或有關(guān)專無法獲得的情況下"家的意見"估計出軟件各系統(tǒng)模式發(fā)生的概率值!概率值的估計有若干種方法"包括#經(jīng)驗法$統(tǒng)

8、%#計法$等!在構(gòu)造功能剖面%運(yùn)行剖面時"仍可以采用相似方法來確定功能和運(yùn)行的條件概率值!&(構(gòu)造功能剖面對于某一特定的系統(tǒng)模式"需要分析完成該系統(tǒng)模式所有的功能及其概率"構(gòu)成功能剖面)-./"0".1"2"3"!其中7*+*+*+,4*+,56,是第,個功能剖面元素8*個功能8+,是第,是第,個功能發(fā)生的概率845是當(dāng)前系統(tǒng)模式下功能的個數(shù)!構(gòu)造功能剖面需要考慮以下方面79分別劃分某一系統(tǒng)模式下的功能8:確定某一系統(tǒng)模式下的功能發(fā)生概率8;不同系統(tǒng)模式下的相同的功能剖面要合并!&<構(gòu)造運(yùn)行剖

9、面對于某一獨(dú)立功能的完成"是通過輸入一系在實際測試軟件過程中"列輸入變量值來實現(xiàn)的!軟件的先后輸入變量之間通常存在著某種聯(lián)系"不是完全獨(dú)立的!為了研究簡便起見"這里假設(shè)這種關(guān)聯(lián)關(guān)系比較小"仍然按照它們之間相對獨(dú)立規(guī)定這些輸入變量其具體取值區(qū)間"在取來對待!值區(qū)間內(nèi)把它們看作是獨(dú)立的!運(yùn)行剖面需要分別描述各功能輸入變量的取值區(qū)間"即區(qū)間的上下限"和各輸入變量在其取值區(qū)間內(nèi)的概率分布!該概率分布是條件概率分布"是指在功能被選中的條件下"該功能各輸入變量取值的概率分布!運(yùn)行剖面可表達(dá)為)-./&quo

10、t;0".=+=+=+,1"2"3""其中744+>6>是功能的運(yùn)行個數(shù)8=,是第,個運(yùn)行剖面元素8+個運(yùn)行發(fā)生的,是第,概率8=個運(yùn)行".)"?"3""=?,是第,12A12A其中?是第A個輸入變量的第3"6"?4AA個取4A值區(qū)間".1"2"3""BA是輸入變量取值區(qū)間BAA的個數(shù)!對于每一個功能需要構(gòu)造運(yùn)行剖面"之后對不同功能下的相同的運(yùn)行剖面需要進(jìn)行合并"構(gòu)成最終的軟件的運(yùn)行剖面!系統(tǒng)模

11、式剖面%功能剖面和運(yùn)行剖面的層次關(guān)系見圖1!第I期陳雪松等軟件可靠性測試數(shù)據(jù)生成方法研究M00NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN的約束關(guān)系!每個輸入變量的取值區(qū)間及其相應(yīng)的條"#$構(gòu)成了實時件概率分布按照輸入時序進(jìn)行排列%軟件的運(yùn)行剖面!通過遍歷每個輸入變量%對其在取值區(qū)間"&$內(nèi)隨機(jī)抽樣%可以按時序生成一個輸入向量%用于測試相應(yīng)的功能序列!本文提出的這種實時軟件運(yùn)行剖面構(gòu)造的思路%可用于開發(fā)計算機(jī)輔助構(gòu)造運(yùn)行剖面并基于概率分布抽樣!通過對運(yùn)行和各輸入變量取值1個步驟的抽樣

12、%就生成了一個測試數(shù)據(jù)!每個輸入變量的測試數(shù)據(jù)構(gòu)成一個輸入向量%用于測試選定功能!不斷重復(fù)上述步驟%直到生成所需數(shù)量的測試數(shù)據(jù)為止!&應(yīng)用實例這里通過一個實例%系統(tǒng)地演示對AA飛機(jī)該運(yùn)行剖面生成實時軟件的可靠性測試數(shù)據(jù)!#非實時軟件測試可靠性測試數(shù)據(jù)的生成方法軟件的可靠性測試數(shù)據(jù)是根據(jù)運(yùn)行剖面隨機(jī)生成的!在運(yùn)行剖面中規(guī)定了每個輸入變量的取值區(qū)間%并且在很難確定輸入變量具體概率分布的情況下%可以假設(shè)認(rèn)為輸入變量在取值區(qū)間內(nèi)均勻分布或分段均勻分布!軟件可靠性測試是一種隨機(jī)測試%測試數(shù)據(jù)的選取方式是隨機(jī)選取!因此%根據(jù)隨機(jī)測試的原則%在運(yùn)行剖面給定的輸入變量的取值區(qū)間內(nèi)任意抽取一個變量的實際

13、取值!將各個變量按順序組合起來便形成了測試數(shù)據(jù)!如是體現(xiàn)出用于軟件可靠性測試的測試數(shù)據(jù)是基于運(yùn)行剖面生成的這個概念!根據(jù)運(yùn)行剖面生成測試數(shù)據(jù)的過程如下由于運(yùn)行剖面是由一系列變量的取值區(qū)間和該運(yùn)行發(fā)生的概率組成的%因此%可以基于運(yùn)行剖面隨機(jī)抽取一個運(yùn)行來實現(xiàn)對某一功能的一次測試!抽取運(yùn)行的過程如下將運(yùn)行剖面()*+,)*+-.)+%*+/%+-0%1%2%34中所有運(yùn)行發(fā)生的概率*+求5前5項和65%65-7*+形成一個數(shù)列(654%其中+-05-0%1%23%3為軟件運(yùn)行剖面中運(yùn)行總數(shù)%規(guī)定68-8%并有60-*0%63-098%65:65:0-*5!這里運(yùn)行相互獨(dú)立!任給一個隨機(jī)數(shù)%;<

14、;"8%098$觀察;落在哪個區(qū)間%若;滿足65:0=;>65%則該隨機(jī)數(shù);與*5這個概率值對應(yīng)%那么這次隨機(jī)抽到的運(yùn)行為)5!其次%要進(jìn)行第1次抽樣來確定運(yùn)行中每個輸入變量將取到的具體取值!由于輸入變量的取值類型可以是離散的%也可以是連續(xù)的%在隨機(jī)抽樣時要分別考慮這1種類型輸入變量的抽樣方法!連續(xù)性的輸入變量要在其取值區(qū)間內(nèi)%依概率密度函數(shù)抽樣?離散型的要在其可取值集合內(nèi)依起落架故障診斷專家系統(tǒng)B軟件構(gòu)造運(yùn)行剖面并生成測試數(shù)據(jù)的過程!C9D被測軟件簡介AA飛機(jī)起落架故障診斷專家系統(tǒng)B軟件是一個使用E專家系統(tǒng)F方法對AA飛機(jī)起落架進(jìn)行故障診斷的軟件!根據(jù)軟件功能的說明%結(jié)合軟件

15、的有關(guān)文檔%以及對相關(guān)概率的估計%可構(gòu)造軟件的系統(tǒng)模式剖面G功能剖面和運(yùn)行剖面%其過程如下!C9H軟件的系統(tǒng)模式剖面通過分析軟件的輸入空間%主要劃分&個系統(tǒng)模式%并給出了相應(yīng)的概率%構(gòu)成系統(tǒng)模式剖面!這個概率由開發(fā)人員估計給出!下面的功能剖面G運(yùn)行剖面概率值的確定亦是如此!系統(tǒng)模式剖面如下序號系統(tǒng)模式代號系統(tǒng)模式概率系統(tǒng)模式描述060891故障處理16189I故障診斷及解釋#6#890知識庫管理&6&890幫助C9J軟件的功能剖面針對以上&種系統(tǒng)模式%又分別構(gòu)造了功能剖面%并進(jìn)行了不同系統(tǒng)模式下功能剖面的合并%合并后的功能剖面按功能的發(fā)生概率值由大到小排序%其中

16、部分如下序號功能代號功能發(fā)生的概率功能描述0K10890L反向推理后完整解釋1K1#890L正向推理后完整解釋#K118901反向推理后從當(dāng)前位置解釋C9C軟件的運(yùn)行剖面對于以上每一個功能%需要按照運(yùn)行的定義描述其輸入變量!需要對每一個運(yùn)行進(jìn)行描述%并給出概率分布%構(gòu)成各功能下的運(yùn)行剖面!然后%R$航空學(xué)報第卷xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx將這些運(yùn)行剖面加以整理!形成軟件的運(yùn)行剖面"其形式如下#序號運(yùn)行代號運(yùn)行發(fā)生的概率運(yùn)行描述$($%&)*)+;正向推理后完整解釋!允許上翻和多

17、次推理數(shù)據(jù)包括#測試數(shù)據(jù)序號7輸入變量名稱和按順序輸入的各變量具體取值等項目"其形式如下#測試數(shù)據(jù)序號輸入變量名稱輸入變量的具體取值$89:,-./0$0$;運(yùn)行的取值范圍#,-./0$0$1$!21$!+21$!32上翻選擇確定1)!2選擇確定,-./00$用以上6其測試結(jié))個測試數(shù)據(jù)測試軟件!果如下#累積6)個測試數(shù)據(jù)共發(fā)生<)次失效!運(yùn)行時間$3($*+"=對這<剔除了由相同缺陷)個失效進(jìn)行分析!造成的失效后剩下+個屬于不同類型失效"失效數(shù)據(jù)如表$所示"這里的失效數(shù)據(jù)是完全失效數(shù)據(jù)"因此!可使用完全失效數(shù)據(jù)模型對該軟件的可靠性

18、進(jìn)行評估"本文不作探討"4*5軟件的可靠性測試數(shù)據(jù)根據(jù)運(yùn)行剖面共生成6)個測試數(shù)據(jù)"測試表>軟件可靠性測試記錄?ABC>?DCECFGEHGIJGIKLECEBMAMBMKNKCJKMOP失效序號$(6R測試數(shù)據(jù)序號$RS66S3$)3開始測試時刻失效發(fā)生時刻測試運(yùn)行時間Q=R+*3$)R*($<)*($6*)<$*(累積運(yùn)行時間Q=3+S*3$S$*$S)3*66S$*3<666*3內(nèi)存#$<失效現(xiàn)象解釋圖形少一個邏輯門用戶程序出錯拖動滾動條畫圖時死機(jī)非最大化畫圖時死機(jī)輸入故障樹信息存不住診斷解釋說明字符串無結(jié)尾失效等級T$R#$3#$($R#$+#$(#)#<$(#)6#$R#(S#R3$R#6)#(3$6#)#$)$6#$6$)#R)#+$)#R$#($(測試數(shù)據(jù)號#$到6)3<9$(VWX#W-.YZ/,RY測試開始日期#UUUU年UU月UU日操作系統(tǒng)#_R中文版ab%_c+參考文獻(xiàn)陸民燕1北京航空航天大學(xué)可$+&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論