對(duì)軟件可靠性測(cè)試的認(rèn)識(shí)_第1頁(yè)
對(duì)軟件可靠性測(cè)試的認(rèn)識(shí)_第2頁(yè)
對(duì)軟件可靠性測(cè)試的認(rèn)識(shí)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、一、對(duì)軟件可靠性測(cè)試的認(rèn)識(shí)1. 有關(guān)術(shù)語(yǔ)(1) 軟件可靠性在規(guī)定條件下,在規(guī)定時(shí)間內(nèi),軟件不引起系統(tǒng)失效的概率。該概率是系統(tǒng)輸入和系統(tǒng)使用 的函數(shù),也是軟件中存在故障的函數(shù),系統(tǒng)輸入將確定是否會(huì)遇到存在的故障。(2) 軟件可靠性估計(jì)應(yīng)用統(tǒng)計(jì)技術(shù)處理在系統(tǒng)測(cè)試和運(yùn)行期間采集、觀察到的失效數(shù)據(jù),以評(píng)估該軟件的可靠性。(3) 軟件可靠性測(cè)試在有使用代表性的環(huán)境中,為進(jìn)行軟件可靠性估計(jì)對(duì)該軟件進(jìn)行的功能測(cè)試。需要說(shuō)明的是,”使用代表性”指的是在統(tǒng)計(jì)意義下該環(huán)境能反映出軟件的使用環(huán)境特性。2. 軟件可靠性測(cè)試的目的軟件可靠性測(cè)試的主要目的有:(1) 通過(guò)在有使用代表性的環(huán)境中執(zhí)行軟件,以證實(shí)軟件需求是否

2、正確實(shí)現(xiàn)。(2) 為進(jìn)行軟件可靠性估計(jì)采集準(zhǔn)確的數(shù)據(jù)。估計(jì)軟件可靠性一般可分為四個(gè)步驟,即數(shù)據(jù)采集、模型選擇、模型擬合以及軟件可靠性評(píng)估??梢哉J(rèn)為,數(shù)據(jù)采集是整個(gè)軟件可靠性估計(jì)工作的基礎(chǔ) ,數(shù)據(jù)的準(zhǔn)確與否 關(guān)系到軟件可靠性評(píng)估的準(zhǔn)確度。(3) 通過(guò)軟件可靠性測(cè)試找出所有對(duì)軟件可靠性影響較大的錯(cuò)誤。3. 軟件可靠性測(cè)試的特點(diǎn)軟件可靠性測(cè)試不同于硬件可靠性測(cè)試,這主要是因?yàn)槎呤У脑虿煌?。硬件失效一般是由于元器?的老化引起的,因此硬件可靠性測(cè)試強(qiáng)調(diào)隨機(jī)選取多個(gè)相同的產(chǎn)品,統(tǒng)計(jì)它們的正常運(yùn)行時(shí)間。 正常運(yùn)行的平均時(shí)間越長(zhǎng),則硬件就越可靠。軟件失效是由設(shè)計(jì)缺陷造成的,軟件的輸入決定是否會(huì)遇到軟件

3、內(nèi)部存在的故 障。因此,使用同樣一組輸入反復(fù)測(cè)試軟件并記錄其失效數(shù)據(jù)是沒有意義的。在軟件沒有改動(dòng)的情況下,這種數(shù)據(jù)只是首次記錄的不斷重復(fù),不能用來(lái)估計(jì)軟件可靠性。軟件可靠性測(cè)試強(qiáng)調(diào)按實(shí)際使用的概率分布隨機(jī) 選擇輸入,并強(qiáng)調(diào)測(cè)試需求的覆蓋面。軟件可靠性測(cè)試也不同于一般的軟件功能測(cè)試。相比之下,軟件可靠性測(cè)試更強(qiáng)調(diào)測(cè)試輸入與典型使用環(huán)境輸入統(tǒng)計(jì)特性的一致,強(qiáng)調(diào)對(duì)功能、輸入、數(shù)據(jù)域及其相關(guān)概率的先期識(shí)別。測(cè)試實(shí)例的采樣策略也不同, 軟件可靠性測(cè)試必須按照使用的概率分布隨機(jī)地選擇測(cè)試實(shí)例,這樣才能得到比較準(zhǔn)確的可靠性估計(jì),也有利于找出對(duì)軟件可靠性影響較大的故障。此外,軟件可靠性測(cè)試過(guò)程中還要求比較準(zhǔn)確

4、地記錄軟件的運(yùn)行時(shí)間,它的輸入覆蓋一般也要大于普通軟件功能測(cè)試的要求。對(duì)一些特殊的軟件,如容錯(cuò)軟件、實(shí)時(shí)嵌入式軟件等,進(jìn)行軟件可靠性測(cè)試時(shí)需要有多種 測(cè)試環(huán)境。這是因?yàn)樵谑褂铆h(huán)境下常常很難在軟件中植入錯(cuò)誤,以進(jìn)行針對(duì)性的測(cè)試。4. 軟件可靠性測(cè)試的效果軟件可靠性測(cè)試是軟件可靠性保證過(guò)程中非常關(guān)鍵的一步。經(jīng)過(guò)軟件可靠性測(cè)試的軟件并不能保證該軟件中殘存的錯(cuò)誤數(shù)最小,但可以保證該軟件的可靠性達(dá)到較高的要求。從工程的角度來(lái)看,一個(gè)軟件的可靠性高不僅意味著該軟件的失效率低,而且意味著一旦該軟件失效,由此所造成的危害也小。一個(gè)大型的工程軟件 沒有錯(cuò)誤是不可能的,至少理論上還不能證明一個(gè)大型的工程軟件能沒有

5、錯(cuò)誤。因此,保證軟件可靠性的關(guān)鍵不是確保軟件沒有錯(cuò)誤,而是要確保軟件的關(guān)鍵部分沒有錯(cuò)誤。更確切地說(shuō),是要確保軟件中沒有對(duì)可靠性影響較大的錯(cuò)誤。這正是軟件可靠性測(cè)試的目的之一。軟件可靠性測(cè)試的側(cè)重點(diǎn)不同于一般的軟件功能測(cè)試,其測(cè)試實(shí)例設(shè)計(jì)的出發(fā)點(diǎn)是尋找對(duì)可靠性影響較大的故障。因此,要達(dá)到同樣的可靠性要求,可靠性測(cè)試比一般的功能測(cè)試更有效,所花的時(shí)間也更少。另外,軟件可靠性測(cè)試的環(huán)境是具有使用代表性的環(huán)境,這樣,所獲得的測(cè)試數(shù)據(jù)與軟件的實(shí)際運(yùn)行數(shù)據(jù)比較接近,可用于軟件可靠性估計(jì)。總之,軟件可靠性測(cè)試比一般的功能測(cè)試更加經(jīng)濟(jì)和有效,它可以代替一般的功能測(cè)試,而一般的軟件功能測(cè)試卻不能代替軟件可靠性測(cè)

6、試,而且一般功能測(cè)試所得到的測(cè)試數(shù)據(jù)也不宜用于軟件可靠性估計(jì)。二、軟件可靠性測(cè)試中需注意的問題軟件可靠性測(cè)試一般可分為四個(gè)階段 :制定測(cè)試方案,制定測(cè)試計(jì)劃,進(jìn)行測(cè)試并記錄測(cè)試結(jié)果,編寫測(cè)試 報(bào)告。制定測(cè)試方案時(shí)需要特別注意被測(cè)功能的識(shí)別和失效等級(jí)的定義。制定測(cè)試計(jì)劃時(shí)需設(shè)計(jì)測(cè)試實(shí)例 決定測(cè)試時(shí)要確定輸入順序,并確定程序輸出的預(yù)期結(jié)果,這時(shí)也需注意測(cè)試覆蓋問題。1. 功能識(shí)別軟件可靠性測(cè)試的第一步就是進(jìn)行功能識(shí)別,確定使用剖面。功能識(shí)別的目標(biāo)是 :識(shí)別所有被測(cè)功能以及執(zhí)行這些功能所需的相關(guān)輸入,識(shí)別每一個(gè)使用需求及其相關(guān)輸入的概率分布。為達(dá)到第一個(gè)目標(biāo),需要分析軟件功能的所有集合,這些功能之間

7、全部的約束條件,功能之間的獨(dú)立性、相 互關(guān)系和相互影響,還需分析系統(tǒng)的不同運(yùn)行模式、失效發(fā)生時(shí)系統(tǒng)重構(gòu)策略等對(duì)軟件運(yùn)行方式有較大影響 的因素。第一個(gè)目標(biāo)也是一般軟件功能測(cè)試需要達(dá)到的目標(biāo),但第二個(gè)目標(biāo)則是軟件可靠性測(cè)試特別強(qiáng)調(diào)的。為了得到能夠反映軟件使用的有代表性的概率分布,測(cè)試人員必須和系統(tǒng)工程師、系統(tǒng)運(yùn)行分析員和顧客共同合作。需要指出的是,由于可靠性的要求,輸入數(shù)據(jù)的概率分布應(yīng)包括合法數(shù)據(jù)的概率分布和非法數(shù)據(jù)的概率分 布兩部分。有時(shí)為了更好地反映實(shí)際使用狀況,還需給出那些影響程序運(yùn)行方式的條件,如硬件配置、負(fù)荷等 的概率分布。2. 定義換效等級(jí)定義失效等級(jí)主要是為了解決下面兩個(gè)問題:對(duì)發(fā)生

8、概率小但失效后危害嚴(yán)重的功能需求的識(shí)別。對(duì)可不查找失效原因、并不做統(tǒng)計(jì)的功能需求的識(shí)別。在制定測(cè)試計(jì)劃時(shí),失效及其等級(jí)的定義應(yīng)由測(cè)試人員、設(shè)計(jì)人員和用戶共同商定,達(dá)成協(xié)議。一般的等級(jí)定義如表所示。如果存在 1 級(jí)和 2 級(jí)失效可能性,那么就應(yīng)該進(jìn)行故障樹分析,標(biāo)識(shí)出所有可能造成嚴(yán)重失效的功能需求 和其相關(guān)的輸入域、外部條件和發(fā)生的可能性。對(duì)引起 1 級(jí)和 2 級(jí)失效的功能需求及其相關(guān)的輸入域必須進(jìn)行嚴(yán)格的強(qiáng)化測(cè)試。對(duì)引起3 級(jí)失效的功能可按其發(fā)生概率選擇測(cè)試實(shí)例。第 4 級(jí)失效可不查找原因,可在以后的版本中處理。3. 可靠性測(cè)試覆蓋可靠性測(cè)試必須保證輸入覆蓋和環(huán)境覆蓋,這是準(zhǔn)確估計(jì)軟件可靠性的

9、基礎(chǔ)。輸入覆蓋包括下面幾個(gè)內(nèi)容:輸入域覆蓋,即所有被測(cè)輸入值域的發(fā)生概率之和必須大于軟件可靠度的要求。重要輸入變量值的覆蓋。相關(guān)輸入變量可能組合的覆蓋,以確保相關(guān)輸入變量的相互影響不會(huì)導(dǎo)致軟件失效。設(shè)計(jì)輸入空間與實(shí)際輸入空間之間區(qū)域的覆蓋,即不合法輸入域的覆蓋。各種使用功能的覆蓋。環(huán)境覆蓋是指測(cè)試時(shí)必須覆蓋所有可能影響程序運(yùn)行方式的條件。三、軟件可靠性測(cè)試的步驟軟件可靠性測(cè)試分為四個(gè)階段:1. 制訂測(cè)試方案本階段的目標(biāo)是識(shí)別軟件功能需求,觸發(fā)該功能的輸入和對(duì)應(yīng)的數(shù)據(jù)域,確定相關(guān)的概率分布及需強(qiáng)化測(cè) 試的功能。以下是我們推薦的步驟。在一些特定的應(yīng)用中,有的步驟并不是必須的。(1)分析功能需求分析

10、各種功能需求,識(shí)別觸發(fā)該功能的輸入及相關(guān)的數(shù)據(jù)域(包括合法與不合法的兩部分)。分析時(shí)要注意下述問題:該軟件是否存在不同的運(yùn)行模式 ?如果存在,那么應(yīng)列出所有的系統(tǒng)運(yùn)行模式。是否存在影響程序運(yùn)行方式的外部條件 ?如果存在,那么有多少?它們的影響程度如何各種功能需求之間是相互獨(dú)立的還是相關(guān)的?如果相關(guān),是密切相關(guān)還是部分相關(guān) ?如果兩種功能密切相關(guān),那么可將兩種功能合并為一種功能。如果功能之間為部分相關(guān),則需列出相應(yīng)輸入變量的合法組合。(2) 定義失效等級(jí)判斷是否存在出現(xiàn)危害度較大的1 級(jí)和 2 級(jí)失效的可能性。如果這種可能性存在,則應(yīng)進(jìn)行故障樹分析,標(biāo)識(shí)出所有可能造成嚴(yán)重失效的功能需求和其相關(guān)的

11、輸入域。(3) 確定概率分布確定各種不同運(yùn)行方式的發(fā)生概率,判斷是否需要對(duì)不同的運(yùn)行方式進(jìn)行分別測(cè)試。如果需要,則應(yīng)給出各種運(yùn)行方式下各數(shù)據(jù)域的概率分布;否則,給出各數(shù)據(jù)域的概率分布。判斷是否需要強(qiáng)化測(cè)試某些功能。(4) 整理概率分布的信息將這些信息編碼送入數(shù)據(jù)庫(kù)。2. 制訂測(cè)試計(jì)劃本階段的目標(biāo)是:(1) 根據(jù)前一階段整理的概率分布信息生成相對(duì)應(yīng)的測(cè)試實(shí)例集,并計(jì)算出每一測(cè)試實(shí)例預(yù)期的軟件輸出結(jié)果。本階段需要注意:在按概率分布隨機(jī)選擇生成測(cè)試實(shí)例的同時(shí),要保證測(cè)試的覆蓋面。(2) 編寫測(cè)試計(jì)劃,確定測(cè)試順序,分配測(cè)試資源。由于本階段前一部分的工作需要考慮大量的信息和數(shù)據(jù),因此需要一個(gè)軟件支持工

12、具,建立數(shù)據(jù)庫(kù),并產(chǎn)生測(cè)試實(shí)例。另外,有時(shí)預(yù)測(cè)軟件輸出結(jié)果也需要大量的計(jì)算 , 有些復(fù)雜的軟件甚至要用到仿真器模擬輸出結(jié)果??傊?具體實(shí)施與被測(cè)應(yīng)用軟件的實(shí)際功能類型有關(guān)。3. 測(cè)試本階段進(jìn)行軟件測(cè)試。需注意的是被測(cè)軟件的測(cè)試環(huán)境(包括硬件配置和軟件支撐環(huán)境)應(yīng)和預(yù)期的實(shí)際使用環(huán)境盡可能一致,對(duì)某些環(huán)境要求比較嚴(yán)格的軟件(如嵌入式軟件)則應(yīng)完全一致。測(cè)試時(shí)按測(cè)試計(jì)劃和順序?qū)γ恳粋€(gè)測(cè)試實(shí)例進(jìn)行測(cè)試,判斷軟件輸出是否符合預(yù)期結(jié)果。測(cè)試時(shí)應(yīng)記錄測(cè)試結(jié)果、運(yùn)行時(shí)間和判斷結(jié)果。如果軟件失效,那么還應(yīng)記錄失效現(xiàn)象和時(shí)間,以備以后核對(duì)。4. 編寫測(cè)試報(bào)告按軟件可靠性估計(jì)的要求整理測(cè)試記錄,并將結(jié)果寫成報(bào)告。筆者認(rèn)為,軟件可靠性測(cè)試的關(guān)鍵在于:對(duì)需求、輸入、數(shù)據(jù)域的識(shí)別及相關(guān)概率分布的確定。按照概率分布隨機(jī)生成測(cè)試實(shí)例,并確定測(cè)

溫馨提示

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