軟件可靠性測試與評估實驗指導(dǎo)書_第1頁
軟件可靠性測試與評估實驗指導(dǎo)書_第2頁
軟件可靠性測試與評估實驗指導(dǎo)書_第3頁
軟件可靠性測試與評估實驗指導(dǎo)書_第4頁
軟件可靠性測試與評估實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件可靠性測試與評估實驗指導(dǎo)書北航可靠性與系統(tǒng)工程學(xué)院目 錄1緒論11.1軟件可靠性測試與評估概論11.2軟件可靠性測試分類32實驗設(shè)置的背景、意義和內(nèi)容安排42.1實驗設(shè)置的背景、意義42.2本實驗的內(nèi)容安排52.3實驗課要求52.4實驗報告要求62.5實驗軟件簡介62.5.1軟件可靠性測試數(shù)據(jù)生成工具TCS62.5.2軟件可靠性評估工具SRET62.5.3ATM機(jī)軟件63軟件可靠性測試剖面構(gòu)造實驗部分73.1概述及實驗相關(guān)介紹73.1.1Musa操作剖面73.1.2Musa操作剖面的構(gòu)造方法83.2實驗軟件133.2.1TCS133.2.2ATM機(jī)軟件143.3實驗內(nèi)容144軟件可靠性驗證

2、測試實驗部分154.1概述及實驗相關(guān)介紹154.1.1軟件可靠性驗證測試流程154.1.2軟件可靠性驗證統(tǒng)計測試方案174.1.3軟件可靠性驗證測試的注意事項224.2實驗軟件234.3實驗內(nèi)容235軟件可靠性增長測試實驗部分(選做)235.1概述及實驗相關(guān)介紹235.1.1軟件可靠性增長測試流程235.1.2軟件可靠性增長測試的注意事項265.2實驗軟件265.3實驗內(nèi)容276軟件可靠性評估實驗276.1概述及實驗相關(guān)介紹276.1.1軟件可靠性評估流程276.1.2軟件可靠性評估注意事項286.2實驗軟件286.3實驗內(nèi)容281 緒論1.1 軟件可靠性測試與評估概論軟件可靠性測試是指為了保

3、證和驗證軟件的可靠性而對軟件進(jìn)行的測試。它是隨機(jī)測試的一種,其主要特征是按照用戶實際使用軟件的方式來測試軟件。軟件可靠性測試是評估軟件可靠性水平及驗證軟件產(chǎn)品是否達(dá)到可靠性要求的一種有效途徑。與其它類型的軟件測試相比,軟件可靠性測試可以使用與其它測試方法相同的測試環(huán)境和測試結(jié)果分析方法,但是必須使用專有的軟件測試數(shù)據(jù)生成方法和軟件可靠性評估技術(shù),在測試數(shù)據(jù)中體現(xiàn)出軟件需求以及用戶對軟件的使用情況,在評估中體現(xiàn)出軟件可靠性測試中的定量化評估度量。通過軟件可靠性測試可以達(dá)到以下目的:a) 實現(xiàn)軟件可靠性的有效增長:通過軟件可靠性測試暴露出軟件中隱藏的缺陷,并進(jìn)行排錯和糾正后,軟件可靠性會得到增長。

4、軟件可靠性測試暴露出來的缺陷是那些軟件中發(fā)生概率高的缺陷,而且是對軟件可靠性影響最大的缺陷,這些缺陷得到糾正后,軟件可靠性在軟件可靠性測試的早期就會得到較大的增長。b) 用于驗證軟件可靠性是否滿足一定的要求:可以根據(jù)用戶的可靠性要求確定可靠性驗證方案,進(jìn)行可靠性驗證測試,從而驗證軟件可靠性的定量要求是否得到滿足。c) 用于預(yù)計軟件的可靠性:通過對軟件可靠性增長測試中觀測到的失效數(shù)據(jù)進(jìn)行分析,可以評估當(dāng)前軟件可靠性的水平,預(yù)測未來可能達(dá)到的水平,從而為軟件開發(fā)管理提供決策依據(jù)。軟件可靠性測試與一般軟件測試在測試目的、測試效率、測試數(shù)據(jù)生成方法、測試數(shù)據(jù)收集、測試數(shù)據(jù)分析以及測試停止準(zhǔn)則上都存在差

5、異,軟件可靠性測試與一般軟件測試的比較如表1所示。表1軟件可靠性增長測試與一般測試比較比較項目軟件可靠性增長測試一般軟件測試測試目的評估軟件可靠性水平、有效實現(xiàn)軟件可靠性增長發(fā)現(xiàn)軟件的故障測試效率較快達(dá)到可靠性要求達(dá)到可靠性要求較慢測試數(shù)據(jù)生成方法基于使用的測試,根據(jù)軟件的使用狀況構(gòu)造操作剖面然后生成測試用例基于需求/結(jié)構(gòu)的測試,根據(jù)軟件的需求或結(jié)構(gòu)生成測試用例數(shù)據(jù)收集需要收集測試輸出結(jié)果和失效時間等數(shù)據(jù)只需收集測試輸出結(jié)果數(shù)據(jù)分析通過失效數(shù)據(jù)進(jìn)行可靠性分析根據(jù)用例執(zhí)行情況進(jìn)行需求/結(jié)構(gòu)覆蓋分析測試停止準(zhǔn)則滿足可靠性要求功能/性能測試:需求覆蓋100%結(jié)構(gòu)測試:語句覆蓋100%、分支覆蓋100

6、%或滿足其它結(jié)構(gòu)覆蓋要求軟件可靠性測試的特點如圖1所示。圖 1軟件可靠性測試的特點國家標(biāo)準(zhǔn)GB11457中,軟件可靠性評估(software reliability assessment)或軟件可靠性評價(software reliability evaluation)是指“確定現(xiàn)有系統(tǒng)或系統(tǒng)部件可靠性所達(dá)到的水平的過程”。國際標(biāo)準(zhǔn)IEEE Std.1633中,軟件可靠性評估(software reliability evaluation)被定義為“統(tǒng)計學(xué)技術(shù)在系統(tǒng)測試和運行期間收集的可觀測失效數(shù)據(jù)上的應(yīng)用,用于評價軟件的可靠性”。軟件的失效數(shù)據(jù)可以在下述兩種情況下獲得,一是在測試階段后期,通

7、過軟件可靠性測試(即按照軟件的實際使用方式測試軟件的一種方法),收集測試過程中的失效數(shù)據(jù),對軟件的可靠性水平進(jìn)行估計,并能夠?qū)ξ磥砜赡苓_(dá)到的可靠性水平進(jìn)行預(yù)計;二是在軟件投入使用后,通過收集實際使用過程中軟件的失效數(shù)據(jù),對軟件可靠性進(jìn)行評估,并對未來軟件可能達(dá)到的可靠性水平進(jìn)行預(yù)計。此時的軟件可靠性評估結(jié)果被認(rèn)為是真正意義上“軟件完成規(guī)定功能的能力”(即軟件可靠性的定義)的反映,即:此時的可靠性評估結(jié)果,不僅可以給出實際的可靠性水平,也可以為下一代軟件或同類型軟件的可靠性定量要求的確定提供參考。軟件可靠性評估是軟件可靠性工程中的重要活動內(nèi)容之一,可用于定量地評價軟件工程技術(shù),能夠給出“軟件究竟

8、有多可靠”的定量結(jié)果。1.2 軟件可靠性測試分類軟件可靠性測試分為軟件可靠性增長測試、軟件可靠性驗證測試,如果在沒有可靠性指標(biāo)要求而需要評估當(dāng)前的可靠性水平,還有軟件可靠性摸底測試。l 軟件可靠性增長測試軟件可靠性增長測試一般在軟件系統(tǒng)測試階段的末期進(jìn)行。通常在完成編碼、單元測試、集成測試以及常規(guī)系統(tǒng)測試后,如果還有可靠性要求,再進(jìn)行軟件可靠性增長測試。軟件可靠性增長測試是一項費時、費力的工作,一般僅適用于有可靠性定量要求、且可能會影響系統(tǒng)安全和任務(wù)完成的關(guān)鍵軟件。通常采取的是測試-可靠性分析-修改-再測試-再分析-再修改的循環(huán)過程。軟件可靠性增長測試具有以下特點,如表2所示表 2軟件可靠性增

9、長測試的特點軟件可靠性增長測試的特點測試目的通過測試-可靠性分析-修改-再測試-再分析-再修改的循環(huán)過程,使軟件達(dá)到可靠性要求測試人員通常由軟件研制方而非使用方進(jìn)行測試測試階段通常在軟件系統(tǒng)測試階段測試場所一般在實驗室中進(jìn)行測試對象軟件產(chǎn)品的中間形式測試方法基于操作剖面的隨機(jī)測試方法測試特征測試過程中軟件出現(xiàn)失效后修改軟件、排除引起失效的缺陷,從而實現(xiàn)軟件可靠性的增長l 軟件可靠性驗證測試軟件可靠性驗證測試是為了驗證在給定的置信度下,軟件當(dāng)前的可靠性水平是否滿足用戶的要求而進(jìn)行的測試。即用戶在接收軟件時,確定它是否滿足軟件研制任務(wù)書中規(guī)定的可靠性指標(biāo)要求。軟件可靠性驗證測試具有如表3所示的特點

10、。表 3軟件可靠性驗證測試的特點軟件可靠性驗證測試的特點測試目的定量估計軟件產(chǎn)品的可靠性,并作出接收/拒收回答測試人員通常由使用方參加進(jìn)行測試測試階段軟件確認(rèn)(驗收)階段測試場所既可在實驗室測試又可現(xiàn)場測試測試對象軟件產(chǎn)品的最終形式,而不是中間形式測試方法基于軟件操作剖面的隨機(jī)測試方法測試特征不進(jìn)行軟件缺陷剔除2 實驗設(shè)置的背景、意義和內(nèi)容安排2.1 實驗設(shè)置的背景、意義在高新技術(shù)武器裝備中,計算機(jī)軟件在裝備研制中的地位日趨重要。以美國殲擊機(jī)上的航空電子系統(tǒng)為例,美國的殲擊機(jī)每更新一代,其由軟件實現(xiàn)的功能翻一番。然而,軟件發(fā)展至今不過短短幾十年的時間,無論從開發(fā)過程還是質(zhì)量控制,與硬件相比都顯

11、得較為薄弱。對軟件,人們通常關(guān)心兩個方面:一個是軟件的功能性能需求,我們需要功能強(qiáng)大、性能優(yōu)越的軟件在生產(chǎn)、生活中扮演更加重要的角色;另一個是對軟件質(zhì)量的需求,需要高可靠性的軟件在生產(chǎn)、生活中持續(xù)的發(fā)揮作用。對于第一個需求,不斷涌現(xiàn)的編程工具和語言,能夠使編程人員開發(fā)出功能和規(guī)模非常強(qiáng)大的軟件。對于第二個需求,定量化的可靠性管理將是一個重要手段,如在美國的第五代戰(zhàn)機(jī)研制中已經(jīng)明確的提出了軟件可靠性指標(biāo),并進(jìn)行定量化的驗證。常規(guī)的軟件測試(如單元測試、集成測試、系統(tǒng)測試等)旨在發(fā)現(xiàn)軟件缺陷,卻不能進(jìn)行軟件可靠性的定量評估。因為軟件可靠性與軟件的使用情況密切相關(guān),在測試中需要體現(xiàn)出用戶對軟件的使用

12、情況,成為了軟件可靠性測試中一個非常重要的環(huán)節(jié)。軟件可靠性測試有效地發(fā)現(xiàn)程序中影響軟件可靠性的缺陷,從而實現(xiàn)可靠性增長;通過對軟件可靠性測試中觀測到的失效情況進(jìn)行分析,可以驗證軟件可靠性的定量要求是否得到滿足;通過對軟件可靠性測試中觀測到的失效數(shù)據(jù)進(jìn)行分析,可以評估當(dāng)前軟件可靠性的水平,預(yù)測未來可能達(dá)到的水平,從而為軟件的開發(fā)管理提供決策依據(jù)。軟件可靠性測試與評估是軟件可靠性工程的核心內(nèi)容,是軟件可靠性工程技術(shù)區(qū)別與其它軟件工程技術(shù)的特色所在。通過軟件可靠性測試與評估實驗教學(xué),能夠使學(xué)生建立定量的軟件可靠性實驗技術(shù)的概念,掌握軟件可靠性工程中最具代表性的軟件可靠性測試剖面技術(shù),按照嚴(yán)格的軟件可

13、靠性增長測試和驗證測試的要求,實現(xiàn)完整的測試評估實驗過程,以軟件可靠性測試計劃、測試說明、測試報告的方式完成實驗報告。本實驗采用的軟件可靠性測試試驗系統(tǒng),軟件可靠性測試數(shù)據(jù)自動生成工具,軟件可靠性評估工具為北航所獨有。本實驗的開設(shè),對國內(nèi)高校研究生軟件可靠性實驗來說具有開創(chuàng)性。不僅可以掌握軟件可靠性測試與評估的基本原理,而且通過實驗使學(xué)生從軟件被測對象分析、軟件可靠性測試剖面構(gòu)造、軟件可靠性測試執(zhí)行、軟件可靠性測試評估等環(huán)節(jié)加深對軟件可靠性測試及評估理論知識的理解,并熟悉相關(guān)軟件的使用,對于他們將來走上工作崗位無論是理論研究還是工程實踐都具有重要意義。2.2 本實驗的內(nèi)容安排本實驗包括四部分內(nèi)

14、容:1)軟件可靠性測試剖面構(gòu)造實驗2)軟件可靠性評估實驗3)軟件可靠性驗證測試實驗4)軟件可靠性增長測試實驗(選做)其中軟件可靠性評估實驗會貫穿在驗證測試實驗和增長測試實驗之中進(jìn)行。2.3 實驗課要求1) 以兩人為小組完成實驗內(nèi)容,每組使用一臺固定的實驗用計算機(jī),以小組成績作為學(xué)生個人成績。2) 每個小組需要在實驗用計算機(jī)的D盤,以兩人的姓名命名一個文件夾,并把實驗中產(chǎn)生的數(shù)據(jù)、文件、文檔存放在該文件夾中。3) 實驗用計算機(jī)禁止插拔自帶U盤,非教師允許,不得向?qū)嶒炗嬎銠C(jī)拷入和拷出文件。4) 各小組可以在實驗過程中自帶筆記本電腦編寫測試文檔,測試文檔可以在實驗室之外完成。5) 實驗中使用的軟件可

15、靠性測試剖面報告、軟件可靠性驗證測試計劃、軟件可靠性驗證測試說明、軟件可靠性驗證測試報告、軟件可靠性增長測試計劃、軟件可靠性增長測試說明、軟件可靠性增長測試報告及測試記錄表格模版可以在實驗課公共郵箱中下載:,密碼為shiyan2014。實驗報告需要在實驗結(jié)束后的2周內(nèi)提交。6) 實驗前請認(rèn)真預(yù)習(xí)實驗指導(dǎo)書,每次到實驗室需要簽到。7) 實驗出勤情況、軟件可靠性測試剖面的完成質(zhì)量、軟件可靠性測試數(shù)據(jù)的收集質(zhì)量、測試文檔質(zhì)量將作為成績評價的主要標(biāo)準(zhǔn)。2.4 實驗報告要求本實驗按照軟件可靠性測試過程開展。實驗報告為可靠性測試的階段性文檔,包括測試計劃、測試說

16、明、測試報告、測試記錄等。實驗報告以電子文檔的方式編寫和提交,嚴(yán)禁抄襲。如果發(fā)現(xiàn)雷同的實驗報告,將取消實驗課成績。2.5 實驗軟件簡介2.5.1 軟件可靠性測試數(shù)據(jù)生成工具TCS軟件可靠性測試數(shù)據(jù)生成工具TCS是集軟件可靠性測試剖面建模與測試用例生成為一體的軟件工具,支持使用Musa的建模。關(guān)于TCS的說明詳見TCS用戶手冊。2.5.2 軟件可靠性評估工具SRETSRET支持基于軟件可靠性失效數(shù)據(jù)分析可靠性趨勢,分析軟件可靠性模型的質(zhì)量,并進(jìn)行可靠性評估。關(guān)于SRET的詳細(xì)說明詳見SRET用戶手冊。2.5.3 ATM機(jī)軟件ATM機(jī)軟件主要用于用戶進(jìn)行取款,存款,轉(zhuǎn)賬,查詢余額,退卡等操作??蛻?/p>

17、通過插入銀行卡,輸入正確的密碼,便可根據(jù)顯示器頁面上的提示進(jìn)行以上操作。操作界面如圖2。關(guān)于ATM機(jī)軟件的詳細(xì)說明詳見ATM機(jī)的軟件需求規(guī)格說明。圖 2 ATM軟件界面3 軟件可靠性測試剖面構(gòu)造實驗部分3.1 概述及實驗相關(guān)介紹軟件可靠性測試的主要思想就是按照用戶對軟件實際使用的統(tǒng)計規(guī)律進(jìn)行隨機(jī)測試,目前通常采用操作剖面的形式對軟件的使用情況進(jìn)行建模,然后在建模的基礎(chǔ)上生成測試數(shù)據(jù)進(jìn)行測試。常見的操作剖面通常有Musa的操作剖面、Markov、使用剖面等方法。本實驗將采用Musa操作剖面構(gòu)造方法進(jìn)行剖面構(gòu)造。3.1.1 Musa操作剖面對于軟件可靠性測試而言,其基本思路都是按照用戶的實際使用軟

18、件的方式來進(jìn)行測試,操作剖面是目前常用的一種對用戶實際使用軟件情況進(jìn)行建模的工具。其主要目的之一就是生成軟件可靠性測試數(shù)據(jù),用于支持測試的執(zhí)行。對于操作剖面,Musa的定義是指操作的集合及其發(fā)生概率。該定義中,操作剖面不嚴(yán)格強(qiáng)調(diào)輸入之間的相互約束和時序關(guān)系,重點關(guān)心操作的分布。這種定義的特點是簡單易行,由于相對忽略了輸入之間的約束和時序,在工程中較容易推行。在Musa的操作剖面中,操作是一個主要的系統(tǒng)邏輯任務(wù),持續(xù)時間短,結(jié)束時將控制權(quán)交還給系統(tǒng),并且它的處理與其它操作顯著不同。按照Musa的定義,操作應(yīng)該是一個邏輯概念,它與軟件的功能需求和特征相關(guān)。根據(jù)Musa的操作剖面,對操作可以做如下的

19、解釋:“持續(xù)時間短”是指在通常負(fù)載條件下每個小時可以有多個操作發(fā)生;“將控制權(quán)交還給系統(tǒng)”說明當(dāng)一個操作完成后,系統(tǒng)應(yīng)該結(jié)束對該操作的處理,進(jìn)而轉(zhuǎn)入等待下一個操作,或者立即執(zhí)行下一個操作;“處理與其它操作顯著不同”是從系統(tǒng)執(zhí)行操作的角度來說的,不同的操作,系統(tǒng)應(yīng)該有著顯著不同的處理方式。剖面是一組獨立的元素及其發(fā)生概率。例如,如果某一時刻操作A的發(fā)生概率是60%,B的發(fā)生概率是30%,C發(fā)生的概率是10%,則此時的剖面可以表示為A,0.6;B,0.3;C,0.1。3.1.2 Musa操作剖面的構(gòu)造方法構(gòu)造操作剖面的主要目的是定量刻畫用戶對軟件的使用情況,即用戶使用軟件的統(tǒng)計規(guī)律。通常操作剖面可

20、以采用兩種不同的構(gòu)造方法。1) Musa操作剖面構(gòu)造方法1Musa第一種構(gòu)造操作剖面方法(簡稱Musa-1)的流程通常包括以下5個步驟,見Error! Reference source not found.3,其中(1)(4)步為中間步驟剖面,是為準(zhǔn)確得到操作剖面而逐步細(xì)化的過程。圖3 Musa-1流程(1) 確定客戶剖面軟件的客戶是購買并使用軟件系統(tǒng)的個人、團(tuán)體或者機(jī)構(gòu)??蛻羝拭姘ㄒ唤M獨立的客戶類型??蛻纛愋褪强蛻羧后w中以相近的方式使用系統(tǒng)的一個或多個客戶,這些客戶在使用軟件的方式上與其它客戶存在顯著的區(qū)別。通過市場調(diào)查的方式可以收集軟件的客戶信息,對它們進(jìn)行歸納整理就能得到不同的客戶類型

21、??蛻羝拭嬷行枰獮槊恳环N客戶類型確定發(fā)生概率。概率信息可以從以往類似的軟件系統(tǒng)的客戶類型中進(jìn)行收集,并根據(jù)新系統(tǒng)的使用要求進(jìn)行修正,也可以通過收集的客戶數(shù)量,將組成某一客戶類型的客戶數(shù)量比上所有客戶的總數(shù)得到。(2) 定義用戶剖面用戶是使用系統(tǒng)的人、組織、機(jī)構(gòu)或其它系統(tǒng),而用戶組是以同一種方法使用軟件的用戶的集合。用戶剖面是用戶組及其發(fā)生概率的集合,通常在客戶剖面的基礎(chǔ)上建立用戶剖面。可以通過市場或用戶調(diào)查的方式收集軟件的用戶信息,然后根據(jù)使用軟件方式的不同將用戶劃分為不同的用戶組;用戶組的發(fā)生概率可以通過組成用戶組的用戶數(shù)量比上同一客戶類型中所有用戶數(shù)量的方式得到。如果在不同的客戶類型中出現(xiàn)

22、了相同的用戶組,則需要把它們進(jìn)行合并:假設(shè)用戶組U在某一客戶類型Ci下的概率為P(Ci,U),Ci的發(fā)生概率為P(Ci),則合并后的用戶組發(fā)生概率: (1)其中n為包含用戶組U的客戶類型總數(shù)。(3) 定義系統(tǒng)模式剖面系統(tǒng)模式是為了便于分析執(zhí)行行為,分組而成的一個功能或操作集合。系統(tǒng)模式剖面是系統(tǒng)模式及其發(fā)生概率的集合。通常情況下,系統(tǒng)模式種類越多,專門化信息的價值越高,操作也越便利,但是與之而來的是確定和測試其相關(guān)操作剖面的費用也增多了。系統(tǒng)模式可以來源于軟件的需求或使用情況分析。系統(tǒng)模式的發(fā)生概率可以使用各種模式發(fā)生頻率占所有模式發(fā)生頻率的比例確定,獲得系統(tǒng)模式發(fā)生頻率的最佳途徑是統(tǒng)計軟件在

23、客戶現(xiàn)場的使用情況;對于新軟件或新的應(yīng)用領(lǐng)域,由于軟件還未發(fā)布,此時就需要統(tǒng)計類似軟件或應(yīng)用于其它領(lǐng)域的軟件早期版本的使用情況,然后根據(jù)新軟件或新領(lǐng)域的實際情況進(jìn)行調(diào)整;也可以邀請部分客戶對新軟件進(jìn)行試用,統(tǒng)計試用情況;在沒有統(tǒng)計數(shù)據(jù)的情況下可以通過調(diào)查目標(biāo)客戶、詢問專家意見等方式進(jìn)行估計。定義系統(tǒng)模式可以參考以下因素:a) 重要的環(huán)境條件:如過載與正常的通訊量、初始化與連續(xù)操作、系統(tǒng)場所、時間等;b) 操作的構(gòu)造性結(jié)構(gòu):如聯(lián)機(jī)模式和單機(jī)模式;c) 緊迫性:如某種緊急情況下的應(yīng)急處理模式;d) 客戶或用戶:如要求特殊功能的用戶組,飛行員模式和地勤人員維護(hù)模式;e) 用戶經(jīng)驗程度:如初學(xué)者、普通

24、用戶或?qū)<夷J健?4) 確定功能剖面功能剖面是在系統(tǒng)模式下分解系統(tǒng)所需的功能,并確定每個功能的發(fā)生概率。功能剖面不需要考慮系統(tǒng)的體系結(jié)構(gòu)或設(shè)計因素,通常在需求階段建立,并且與需求密切相關(guān)。構(gòu)造過程中可以先從軟件的研制任務(wù)書或軟件的需求文檔中獲得初始的軟件功能列表,再結(jié)合運行環(huán)境的各種情況得到最終的功能列表,最后為每個最終功能分配發(fā)生概率。發(fā)生概率可以通過功能使用頻率占同一系統(tǒng)模式下所有功能使用頻率的比例確定,功能的使用頻率同樣可以通過統(tǒng)計現(xiàn)場使用信息、參考類似軟件或早期版本、邀請客戶試用、調(diào)查目標(biāo)客戶及詢問專家意見等方式確定。(5) 確定操作剖面操作剖面是操作及其發(fā)生概率的集合,確定操作剖面的

25、主要步驟是列出操作并確定每個操作的發(fā)生概率。功能與操作之間存在一定的聯(lián)系,一個功能可以映射成一個或多個操作,一組功能也可以重新合并成一組不同的操作,因此能夠根據(jù)功能剖面獲取操作列表。由于功能之間的差異主要體現(xiàn)在完全不同的任務(wù)實現(xiàn)上,而操作之間的差異主要體現(xiàn)在完全不同的處理過程上,因此需要根據(jù)系統(tǒng)任務(wù)將功能映射為操作。操作發(fā)生概率的確定方式與功能發(fā)生概率的確定方式類似,通過操作發(fā)生頻率占所有操作發(fā)生頻率的比例得到,操作的發(fā)生頻率也是通過統(tǒng)計現(xiàn)場信息、參考類似軟件或早期版本、統(tǒng)計客戶使用信息、調(diào)查目標(biāo)客戶及詢問專家意見等方式收集。根據(jù)軟件的具體特點,可以對上述步驟進(jìn)行裁減:a) 在軟件的客戶比較單

26、一的情況下,不需要建立客戶剖面;b) 在軟件的用戶比較單一的情況下,不需要建立用戶剖面;c) 在軟件的系統(tǒng)模式比較單一的情況下,可以省去系統(tǒng)模式剖面的構(gòu)造;d) 在軟件的操作比較明顯的情況下,可以省去功能剖面的構(gòu)造。2) Musa操作剖面構(gòu)造方法2Musa另一種構(gòu)造操作剖面(簡稱Musa-2)的方法流程通常包括以下6個步驟,見圖4。圖 4 Musa-2流程(1) 確定操作模式操作模式的概念與Musa第一種方法中的系統(tǒng)模式概念相同,是系統(tǒng)使用的獨特模式,是需要單獨測試的環(huán)境條件的集合。(2) 確定操作的發(fā)起者操作的發(fā)起者包括系統(tǒng)的用戶、外界系統(tǒng)和系統(tǒng)自身的控制程序。為了確定操作的發(fā)起者,首先應(yīng)該

27、基于系統(tǒng)相關(guān)的商業(yè)用例和系統(tǒng)使用信息來確定系統(tǒng)的用戶類型,用戶類型是傾向于以同樣的方式使用系統(tǒng)的用戶的集合。這里的用戶指的是任何能夠發(fā)起操作的人、系統(tǒng)或組織。(3) 選擇操作剖面表示法操作剖面可以用表格表示法或圖形表示法進(jìn)行表示。表格表示法的示例見表3,圖形表示法的示例見圖5。如果大部分操作可以用很少的屬性表示,就使用表格表示法,表格表示法中通常以其功能組合來命名操作;如果大部分操作由許多屬性來描述,逐一地考慮屬性會比較容易,此時就應(yīng)該選擇圖形表示法。圖形表示法將每個操作表示為圖中的一條路徑,圖5中的節(jié)點表示操作的屬性,分支表示不同的屬性值。表 3表格法表示的操作剖面操作概率GPS有效、目標(biāo)方

28、向水平、開啟軸線調(diào)整0.4725GPS有效、目標(biāo)方向水平、關(guān)閉軸線調(diào)整0.2025GPS有效、目標(biāo)方向垂直、開啟軸線調(diào)整0.0525GPS有效、目標(biāo)方向垂直、關(guān)閉軸線調(diào)整0.0225GPS無效、目標(biāo)方向水平、開啟軸線調(diào)整0.14875GPS無效、目標(biāo)方向水平、關(guān)閉軸線調(diào)整0.06375GPS無效、目標(biāo)方向垂直、開啟軸線調(diào)整0.02625GPS無效、目標(biāo)方向垂直、關(guān)閉軸線調(diào)整0.01125圖 5圖形法表示的操作剖面(4) 為每個操作發(fā)起者創(chuàng)建操作列表基于操作的發(fā)起人,能夠較為方便地創(chuàng)建操作列表。創(chuàng)建操作列表時,應(yīng)該將每個顯著不同的處理都定義為不同的操作,除非它有著非常低的發(fā)生概率或執(zhí)行非常不重要

29、的功能。除了主要參考系統(tǒng)的需求以外,還可以參考事件流圖、用戶手冊、協(xié)議和以前的系統(tǒng)版本等信息。(5) 確定單個操作或?qū)傩灾档某霈F(xiàn)率出現(xiàn)率是操作或?qū)傩灾翟趩挝粫r間內(nèi)的發(fā)生次數(shù),最好使用實際的數(shù)據(jù)來決定出現(xiàn)率。這種對使用的度量常??梢詮南到y(tǒng)的日志中獲得,通常情況下,這些數(shù)據(jù)已經(jīng)存在于相同或相類似的系統(tǒng)中。如果在沒有這些直接的日志的情況下,可以通過更多的調(diào)研工作來收集信息,使用相關(guān)的一些數(shù)據(jù)來對出現(xiàn)率進(jìn)行評估。確定操作或?qū)傩灾档陌l(fā)生概率。操作或?qū)傩灾档陌l(fā)生概率通過出現(xiàn)率計算得來,可以采用操作/屬性值的發(fā)生次數(shù)除以所有操作/屬性值發(fā)生的總數(shù)獲得。3.2 實驗軟件3.2.1 TCSTCS軟件是面向?qū)崟r嵌

30、入式軟件可靠性測試數(shù)據(jù)生成的應(yīng)用軟件,能夠支持對實時嵌入式軟件的圖形化測試輸入建模以及輸入元素的信息描述,輔助測試人員對測試環(huán)境、軟件的使用情況、軟件輸入情況進(jìn)行分析。在測試建模的基礎(chǔ)上,本軟件能夠自動生成軟件可靠性測試數(shù)據(jù),并實現(xiàn)對測試數(shù)據(jù)的管理。TCS具備以下的基本功能特性:1) 支持測試分析、測試建模和測試數(shù)據(jù)自動生成的全過程。2) 提供系統(tǒng)圖的建模機(jī)制,能夠以圖形化描述的方式輔助用戶進(jìn)行被測系統(tǒng)交聯(lián)環(huán)境的構(gòu)建和系統(tǒng)分析。3) 為用戶提供輸入變量和使用類的提取以及圖形建模的機(jī)制,使用戶能夠以圖形繪制的方式構(gòu)建使用類圖。4) 為用戶提供使用剖面的建模機(jī)制,能夠以圖形化視圖的方式實現(xiàn)多個使用

31、子剖面圖,并建立起使用剖面中各個元素的使用關(guān)系。5) 為使用剖面中的每個操作構(gòu)建操作描述圖,支持步驟圖和連續(xù)圖描述。6) 支持圖形化建模過程中的圖形元素的拖放、刪除、修改、重命名等操作,并能夠保持建模中關(guān)系的一致性。7) 能夠為圖形建模提供檢查機(jī)制,實現(xiàn)建模過程中錯誤的發(fā)現(xiàn)和定位,并給出準(zhǔn)確的錯誤提示。8) 能夠根據(jù)用戶的描述建模信息,自動按照測試數(shù)據(jù)取值規(guī)則生成XML形式的測試數(shù)據(jù)。9) 能夠以測試報表的形式給出整個測試輸入建模過程中用戶描述信息的報表。10) 能夠提供信息檢索服務(wù),用于查找建模中的元素,并提供定位功能。11) 通過提供測試輸入建模信息導(dǎo)入導(dǎo)出功能,從而實現(xiàn)多人開發(fā)對同一個被

32、測對象進(jìn)行描述。3.2.2 ATM機(jī)軟件在本部分實驗中,學(xué)生需要熟悉ATM機(jī)軟件的使用,并對其進(jìn)行剖面建模。ATM機(jī)軟件的主要功能如圖6所示。圖 6 ATM功能結(jié)構(gòu)圖1) 登錄模塊登錄模塊提供了插卡和輸入密碼兩個功能。用戶只有在插入磁卡,并正確輸入密碼后,才能進(jìn)行后續(xù)的事務(wù)操作。2) 事務(wù)模塊事務(wù)模塊提供了取款,存款,轉(zhuǎn)賬,查詢余額,修改密碼五項功能。各項功能的詳細(xì)說明可見ATM機(jī)軟件需求說明書。3) 退出模塊用戶可選擇退卡功能選項,退出賬戶。再次登錄需要重新輸入密碼,執(zhí)行登錄操作。3.3 實驗內(nèi)容1) 教師演示教師將對ATM機(jī)軟件和TCS軟件的使用進(jìn)行演示,以幫助學(xué)生熟悉這兩項軟件的使用。2

33、) 學(xué)生熟悉軟件學(xué)生分組之后,以兩人為一組熟悉ATM機(jī)軟件和TCS軟件的使用。3) ATM機(jī)軟件剖面構(gòu)造(1) 學(xué)生以小組為單位對ATM機(jī)軟件進(jìn)行分析,并使用TCS構(gòu)造剖面。(2) 編寫剖面報告,編寫的剖面報告將作為該部分的成績參考。4) 軟件可靠性測試剖面討論(視情)在剖面構(gòu)造完成并提交之后,隨機(jī)抽取小組講解構(gòu)造的剖面,并集體進(jìn)行完善,挑選出最佳的剖面建模,作為后續(xù)實驗的標(biāo)準(zhǔn)剖面。4 軟件可靠性驗證測試實驗部分4.1 概述及實驗相關(guān)介紹4.1.1 軟件可靠性驗證測試流程軟件可靠性驗證測試過程分為4個階段:測試策劃階段、測試設(shè)計與實現(xiàn)階段、測試執(zhí)行階段和測試總結(jié)階段。主要流程見圖7。圖 7軟件

34、可靠性驗證測試的主要流程1 測試策劃階段在該階段主要進(jìn)行的工作為確定軟件失效的定義和等級、編制驗證統(tǒng)計測試方案;主要輸出為軟件可靠性驗證測試計劃。其中最為重要的工作為編制驗證統(tǒng)計測試方案。軟件可靠性驗證測試中通常選用的統(tǒng)計方案有:定時截尾方案、序貫方案和無失效運行方案。表4Error! Reference source not found.簡述了各統(tǒng)計方案的特點與確定程序。表 4統(tǒng)計測試方案特點及確定程序測試方案定時截尾方案序貫方案無失效運行方案特點a.測試時間可以預(yù)先確定,便于進(jìn)行資源分配,管理簡單;b.在信息量的利用上還不夠充分a.更充分地利用軟件每次的失效信息;b.在可靠性比較高或比較低

35、的情況下可以做出更快的判決a.針對可靠性要求很高的軟件;b.對驗證測試已判為接收的軟件改錯后要進(jìn)行無失效運行測試2 測試設(shè)計與實現(xiàn)階段在該階段主要進(jìn)行的工作為構(gòu)造操作剖面并生成測試用例、建立并校核測試環(huán)境。該階段工作的輸出為軟件可靠性驗證測試說明及其附件軟件可靠性測試用例集。該階段的主要工作與增長測試類似。3 測試執(zhí)行階段在該階段主要進(jìn)行的工作為執(zhí)行測試用例,記錄、分析測試結(jié)果并收集失效數(shù)據(jù),按照統(tǒng)計方案要求進(jìn)行接受/拒收判斷。主要的輸出為軟件可靠性驗證測試記錄、軟件可靠性驗證測試問題報告和軟件可靠性驗證測試失效數(shù)據(jù)記錄和分析。這三份文檔作為最終的軟件可靠性驗證測試報告的附件。4 測試總結(jié)階段

36、在該階段主要進(jìn)行的工作為對軟件可靠性驗證測試過程和結(jié)果進(jìn)行總結(jié),對軟件可靠性參數(shù)進(jìn)行估計,給出軟件可靠性驗證測試結(jié)論。該階段的主要輸出為軟件可靠性驗證測試報告。4.1.2 軟件可靠性驗證統(tǒng)計測試方案軟件可靠性驗證統(tǒng)計測試方案對于軟件可靠性驗證測試非常重要,是驗證測試時間、資源、接收/拒收條件的重要支持。不同的可靠性驗證指標(biāo),對統(tǒng)計方案有著不同的要求。選擇統(tǒng)計測試方案時應(yīng)考慮驗證指標(biāo)的類型、測試環(huán)境的預(yù)期壽命、該類型軟件的質(zhì)量要求、對軟件的實際質(zhì)量的估計、可承受的最大測試時間、可承受的最大失效數(shù)、測試經(jīng)費、費用-時間的權(quán)衡、是否有先驗信息等諸多因素。1 方案類別的選擇(1) 驗證指標(biāo)為MTBF/

37、失效率的軟件a) 若合同中要求進(jìn)行軟件可靠性驗證測試,提供MTBF的驗證值,并且有固定的測試截止時間時,應(yīng)選用軟件可靠性(MTBF)定時測試方案;b) 對于質(zhì)量很高或很低的軟件,可選擇軟件可靠性(MTBF)序貫測試方案,以盡早對軟件作出接收或拒收判決;c) 對可靠性要求(MTBF)較高的軟件可選用基于MTBF的無失效考核測試方案;d) 對于做過軟件可靠性增長測試,有先驗失效信息的軟件,可選擇貝葉斯測試方案以減少測試時間。(2) 驗證指標(biāo)為成功率/失效概率的軟件a) 對于人力和測試時間受限的情況宜采用定數(shù)測試方案以提前確定測試工作量;b) 對于質(zhì)量很高或很低的軟件,可選擇軟件可靠性(成功率)序貫

38、測試方案,以盡早對軟件作出接收或拒收判決;c) 對可靠性要求(成功率)較高的軟件可選用基于成功率的無失效考核測試方案;d) 對于驗證指標(biāo)為可接收的失效概率和使用方風(fēng)險/置信度的單邊指標(biāo),對測試中允許的最大失效數(shù)有限制時可選擇TRW法;e) 對于驗證指標(biāo)為可接收的失效概率和使用方風(fēng)險/置信度的單邊指標(biāo)時,對測試的最長時間有限制時,可選用單風(fēng)險序貫測試方案;f) 對于驗證指標(biāo)為可接收的失效概率和使用方風(fēng)險/置信度的單邊指標(biāo)時,若做過軟件可靠性增長測試,有先驗失效信息時,可選擇貝葉斯測試方案以減少測試時間。2 統(tǒng)計方案參數(shù)的選取原則(1) 測試時間a) 驗證指標(biāo)為MTBF的統(tǒng)計測試方案對于序貫測試方

39、案,應(yīng)按方案中可能的最長測試時間來設(shè)計,以保證時間控制在計劃之內(nèi)。測試應(yīng)進(jìn)行到總測試時間或失效數(shù)達(dá)到測試方案可以作出接收或拒收判決為止。定時測試方案和無失效考核測試方案的測試時間應(yīng)按照確定的統(tǒng)計方案中的驗證時間進(jìn)行。b) 驗證指標(biāo)為成功率的統(tǒng)計測試方案對于序貫測試方案,應(yīng)按方案中可能的最大用例數(shù)執(zhí)行所需的估計時間來設(shè)計,以保證時間控制在計劃之內(nèi)。測試應(yīng)執(zhí)行到最大用例數(shù)或失效數(shù)達(dá)到測試方案可以作出接收或拒收判決為止。定數(shù)測試方案和無失效考核測試方案的測試用例數(shù)量應(yīng)按照確定的統(tǒng)計方案中的用例數(shù)量來生成用例,相應(yīng)的測試應(yīng)按執(zhí)行該測試用例數(shù)量所需的估計時間來設(shè)計。(2) 決策風(fēng)險在風(fēng)險方案中,一般來說

40、,選擇決策風(fēng)險較小的測試方案,需要較長的總測試時間(用例數(shù)量),但接收不合格軟件及拒收合格軟件的概率也小了。在制定方案時,力求方案的實際決策風(fēng)險值接近于指定的風(fēng)險值,并使每一方案的兩類決策風(fēng)險盡可能接近。(3) 鑒別比鑒別比是檢驗上限與檢驗下限的比值。鑒別比越大,作出判決就越快。應(yīng)慎重選擇鑒別比,以防止因鑒別比過大而導(dǎo)致的檢驗上限相應(yīng)過大,使指標(biāo)要求難以實現(xiàn)。3 定時可靠性驗證測試方案制定定時可靠性驗證測試方案的程序通常為:a) 根據(jù)軟件產(chǎn)品的可靠性要求及可用的測試資源,由用戶和開發(fā)方共同協(xié)商確定1、d、值,一般選、值為10%、20%,特殊情況下可取高風(fēng)險率30%。b) 根據(jù)1、d、值查表5(

41、原定的、叫名義值,實際計算中的、取值叫實際值、 ),得相應(yīng)的測試時間(1的倍數(shù))、接收數(shù)Ac及拒收數(shù)Re = Ac +1值。統(tǒng)計在方案中給定的測試時間內(nèi)收集的失效數(shù)據(jù)個數(shù),進(jìn)行接收/拒收判斷:l 當(dāng)實際失效個數(shù)小于等于接收數(shù)Ac時,接收軟件;l 當(dāng)實際失效個數(shù)大于等于拒收數(shù)Re時拒收軟件。c) 參數(shù)估計。若用戶需要根據(jù)測試數(shù)據(jù)估計軟件的MTTF,必須規(guī)定置信區(qū)間的置信度,GJB899A建議=1-2。測試方根據(jù)測試數(shù)據(jù)向用戶提供MTTF的觀測值(點估計值)及相應(yīng)于給定的置信區(qū)間(L,U),這里分為兩種情況: l 判決結(jié)果為接收時的MTTF的估計設(shè)T是定時截尾測試規(guī)定測試時間,r是到測試結(jié)束時出現(xiàn)

42、的失效總數(shù),則MTTF的觀測值為: (2)表5驗證測試統(tǒng)計方案對應(yīng)表方案號決策風(fēng)險(%)鑒別比d=0/1實驗時間(1的倍數(shù))判決失效數(shù)名義值實際值拒收數(shù)() Re接收數(shù)() Ac9101012.09.91.545.0373610102010.921.41.529.9262511202019.719.61.521.518171210109.610.62.018.814131310209.820.92.012.410914202019.921.02.07.86515109.36516102010.921.33.05.44317202017.519.73.04.33219303

43、08328.52.03.73221303030.733.33.01.110當(dāng)r0時,根據(jù)IEC建議 (3)給定置信度,則的單側(cè)置信下限為 (4)其中表示:置信水平為,自由度為2r+2的分布值。的雙側(cè)置信區(qū)間為: (5)(6)l 判決結(jié)果為拒收時的MTTF的估計設(shè)T是最后一個失效發(fā)生時軟件的總測試時間,r是失效總數(shù),則MTTF的觀測值為: (7)給定置信度則相應(yīng)的置信區(qū)間為: (8)(9)4 序貫可靠性驗證測試方案制定序貫可靠性驗證測試方案的步驟通常為:a) 用戶及軟件開發(fā)商協(xié)商確定0、1、。d可取1.5、2.0、3.0之一,、可取10%或20%,(

44、短時高風(fēng)險方案取30%)。b) 畫出序貫測試判決圖(如Error! Reference source not found.),圖中標(biāo)出合格判定線及不合格判定線,接收區(qū)、繼續(xù)測試區(qū)。圖表中的標(biāo)準(zhǔn)化判決時間t以的倍數(shù)表示。使用時應(yīng)將圖表中的標(biāo)準(zhǔn)化判決時間乘以,以得到實際的接收判決時間及拒收判決時間。圖 8 序貫測試判決示意圖Error! Reference source not found.中,合格判定線 (10)不合格判定線 (11) 其中: (12) 根據(jù)每次失效的發(fā)生時間在序貫測試判決圖上描點,進(jìn)行接收/拒收判決:l 若該點落在“接收區(qū)”即接收軟件;l 若該點落在“拒收區(qū)”即拒收軟件;l 若

45、該點落在“繼續(xù)測試區(qū)”即繼續(xù)測試,直至失效點落在接收區(qū)或拒收區(qū)即停止測試。c) 參數(shù)估計。根據(jù)測試中收集的每個失效發(fā)生的時間,在給定的置信度下可估計MTTF的上下限。4.1.3 軟件可靠性驗證測試的注意事項軟件可靠性驗證測試的注意事項如下:a) 驗證測試中,使用的測試數(shù)據(jù)必須基于操作剖面(如Musa操作剖面)隨機(jī)抽取,否則驗證的結(jié)果以及評估得出的結(jié)果是不正確的;b) 驗證測試過程中,發(fā)現(xiàn)失效后不對軟件進(jìn)行修改,從而保證失效時間服從指數(shù)分布;c) 在進(jìn)行可靠性驗證測試前必須由測試方、開發(fā)方以及使用方(可能的話)明確失效的判據(jù),并明確哪些失效需要統(tǒng)計在內(nèi)。對于不同的可靠性要求其失效判據(jù)可能不同,比

46、如,如果只對影響任務(wù)的失效提出了可靠性定量要求,則失效應(yīng)定義為影響軟件系統(tǒng)任務(wù)完成的軟件行為;d) 在接受/拒收判定及可靠性參數(shù)評估中,應(yīng)計入每一次失效,無論其是否由相同的原因?qū)е?;如一次失效是由N個獨立的缺陷引起,則應(yīng)計為N次失效;e) 在驗證測試中,就算產(chǎn)品被接收了,也應(yīng)該排除可靠性測試中發(fā)現(xiàn)的軟件缺陷,在條件允許的情況下,可以增加無失效方案進(jìn)一步驗證。4.2 實驗軟件本部分實驗將使用TCS軟件、ATM機(jī)軟件。本部分實驗需要根據(jù)4.1.2中的方法制定統(tǒng)計方案,并使用TCS生成的測試用例對ATM機(jī)軟件進(jìn)行可靠性測試,根據(jù)測試過程中收集到的失效數(shù)據(jù)數(shù)據(jù)進(jìn)行接收或拒收判別。4.3 實驗內(nèi)容選取驗

47、證統(tǒng)計測試方案進(jìn)行可靠性驗證測試。1) 按照Error! Reference source not found.開展軟件可靠性驗證測試2) 設(shè)計統(tǒng)計實驗方案3) 使用TCS生成1000個測試用例4) 按照測試用例逐一測試ATM機(jī)軟件5) 記錄測試用例的執(zhí)行時間和失效發(fā)生的時間6) 判定是否接收或拒收,同時進(jìn)行區(qū)間和點估計7) 完成軟件可靠性驗證測試計劃、說明、報告的編寫5 軟件可靠性增長測試實驗部分(選做)5.1 概述及實驗相關(guān)介紹5.1.1 軟件可靠性增長測試流程軟件可靠性增長測試通常采用如圖9的流程。1) 測試策劃階段該階段的主要工作是定義失效和可靠性目標(biāo)。在測試前應(yīng)該確定失效判據(jù)。專用的

48、失效判據(jù)通常由測試人員、開發(fā)人員和用戶共同商定。首先需要定義什么是失效,如果軟件可靠性要求是針對不同嚴(yán)重性等級的失效提出的,則應(yīng)按照嚴(yán)重性等級將軟件失效進(jìn)行分類,以便基于不同嚴(yán)重性等級的失效數(shù)據(jù)評估相應(yīng)的軟件可靠性。定義軟件可靠性增長的目標(biāo)主要用于是否停止增長測試的參照。通常采用系統(tǒng)分配給軟件的可靠性指標(biāo)作為可靠性增長的目標(biāo)值。該階段的主要輸出是軟件可靠性增長測試計劃,計劃中包括對失效和可靠性目標(biāo)的定義,以及時間進(jìn)度、資源等安排。通常軟件可靠性增長測試計劃完成后需要組織評審。圖 9軟件可靠性增長測試的主要流程2) 測試設(shè)計與實現(xiàn)階段該階段的主要工作包括構(gòu)造操作剖面與建立測試環(huán)境,以及在此基礎(chǔ)上

49、生成軟件可靠性測試用例。(1) 構(gòu)造操作剖面如上一節(jié)實驗內(nèi)容(2) 搭建軟件可靠性測試環(huán)境通常測試環(huán)境應(yīng)與真實運行環(huán)境盡可能相同,在真實測試環(huán)境受限的情況下也可以在仿真測試環(huán)境下進(jìn)行測試。本實驗的測試環(huán)境已經(jīng)由實驗教師搭建完畢。(3) 生成測試用例根據(jù)構(gòu)建的操作剖面,可以通過隨機(jī)抽樣生成測試數(shù)據(jù)。該階段的主要輸出是軟件可靠性增長測試說明,包含測試用例集。對于較復(fù)雜的軟件,隨機(jī)抽樣產(chǎn)生的測試數(shù)據(jù)通常不含測試預(yù)期結(jié)果,此時可以在抽樣生成的測試數(shù)據(jù)的基礎(chǔ)上,人工添加測試預(yù)期結(jié)果,從而生成完整的測試用例。由于操作剖面是軟件可靠性測試的關(guān)鍵環(huán)節(jié)之一,通常在操作剖面構(gòu)建完成之后要進(jìn)行嚴(yán)格的評審,重點審核操

50、作剖面的合理性以及測試環(huán)境的可行性。3) 軟件可靠性增長測試執(zhí)行階段測試執(zhí)行階段的主要工作是根據(jù)測試用例執(zhí)行測試,同時收集失效數(shù)據(jù)用于可靠性評估。(1) 測試執(zhí)行與收集失效數(shù)據(jù)收集軟件失效數(shù)據(jù)是采用模型進(jìn)行軟件可靠性評估的基礎(chǔ),因此失效數(shù)據(jù)收集的完整、準(zhǔn)確、及時與否對可靠性評估結(jié)果的可信程度至關(guān)重要。針對不同的可靠性要求,應(yīng)該制定不同的數(shù)據(jù)收集程序和數(shù)據(jù)收集要求。通常認(rèn)為,對于軟件可靠性模型來說,執(zhí)行時間比日歷時間更好,如果不能得到執(zhí)行時間,也可以使用一些近似的表示,諸如時鐘時間、加權(quán)時鐘時間或事務(wù)處理數(shù)等表示。常用的模型使用兩類失效數(shù)據(jù):失效計數(shù)數(shù)據(jù)和失效時間數(shù)據(jù)。失效計數(shù)數(shù)據(jù)是指單位時間內(nèi)

51、發(fā)生的失效數(shù),如每日、每周發(fā)生的失效次數(shù);失效時間數(shù)據(jù)是指每次失效發(fā)生的累計執(zhí)行時間或間隔執(zhí)行時間,可以直接或間接地收集,最好收集程序的實際執(zhí)行時間,而不是時鐘時間。因為時鐘時間往往會給出樂觀的軟件可靠性估計。可以用單位時鐘時間的平均利用率因子來調(diào)整時鐘時間得到實際執(zhí)行時間的估計值。(2) 測試結(jié)果分析與處理對測試結(jié)果的分析與處理主要包含兩部分的工作,一是針對發(fā)現(xiàn)的軟件失效,分析失效帶來的影響,從而排除缺陷,并進(jìn)行回歸測試;另一方面是分析失效數(shù)據(jù)的趨勢,選擇出軟件可靠性模型進(jìn)行評估分析。軟件可靠性增長測試執(zhí)行階段的主要輸出是可靠性測試執(zhí)行記錄、問題報告以及失效數(shù)據(jù)分析與處理的記錄。4) 軟件可

52、靠性測試總結(jié)階段總結(jié)階段主要對測試過程和數(shù)據(jù)進(jìn)行總結(jié),主要輸出是軟件可靠性增長測試報告。通常需要對測試報告進(jìn)行正式評審。5.1.2 軟件可靠性增長測試的注意事項軟件可靠性增長測試注意事項為:a) 對于有可靠性定量要求的軟件才進(jìn)行軟件可靠性增長測試;b) 軟件可靠性增長測試使用的測試數(shù)據(jù)必須基于操作剖面生成;c) 對增長測試中發(fā)現(xiàn)的問題必須加以糾正;d) 可能的話,記錄每一次軟件的失效時間;e) 在軟件可靠性評估中,由相同的軟件缺陷導(dǎo)致的軟件失效只計第一次;f) 回歸測試時收集的信息,不作為軟件可靠性評估的依據(jù);g) 軟件可靠性估計必須基于軟件可靠性數(shù)據(jù),即在基于操作剖面的軟件測試中收集到的失效數(shù)據(jù),或?qū)嶋H使用中收集到的失效數(shù)據(jù)。失效數(shù)據(jù)的收集必須完整、及時、準(zhǔn)確;h) 在進(jìn)行可靠性測試前必須由測試方、開發(fā)方以及使用方(可能的話)明確失效的判據(jù),并明確哪些失效需要統(tǒng)計在內(nèi)。對于不同的可靠性要求其失效定義可能不同,例如,如果只對影響任務(wù)的失效提出了可靠性定量要求,則失效應(yīng)定義為影響軟件系統(tǒng)任務(wù)完成的軟件行為;i) 一個軟件系統(tǒng)可以有多個操作剖面,主要取決于是否針對不同的操作模式有獨立的可靠性要求。5.2 實驗軟件本部分實驗將使用TCS軟件、ATM機(jī)軟件和SRET軟件。TCS軟件將用于測試數(shù)據(jù)的自動生成;ATM機(jī)軟件作為被測軟件支持測試工作的進(jìn)行;SRET軟

溫馨提示

  • 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

提交評論