李建平/新青區(qū)人民政府辦公室信息中心
基于電子系統(tǒng)工程軟件可靠性評(píng)估方法初探
李建平/新青區(qū)人民政府辦公室信息中心
我們有必要深入研究軟件的可靠性評(píng)估和測(cè)試方式,以保證軟件系統(tǒng)的質(zhì)量,本文結(jié)合工程軟件自身的特點(diǎn),對(duì)軟件可靠性的基本概念以及測(cè)試軟件可靠性的過(guò)程進(jìn)行了簡(jiǎn)要敘述,提出了一種適用于大型電子系統(tǒng)工程軟件的可靠性定量評(píng)估方法
評(píng)估方法;軟件可靠性;電子系統(tǒng)
對(duì)于軟件可靠性的研究至今已經(jīng)有幾十年的歷史,也取得了一定程度的進(jìn)展,研究軟件的可靠性是當(dāng)前時(shí)代的一個(gè)前沿科技課題,軟件的可靠性研究就目前的情況來(lái)看還不夠成熟,與實(shí)際的工程應(yīng)用之間還存在著一定的差距,還處于理論研究的探索階段。傳統(tǒng)的軟件可靠性模型由于多種因素,導(dǎo)致在實(shí)際工程中軟件可靠性模型無(wú)法直接應(yīng)用,當(dāng)前一種用于工程軟件可行的可靠性定量評(píng)估方法是我們所缺少的。
1.規(guī)定的環(huán)境條件。軟件的運(yùn)行環(huán)境指的就是環(huán)境條件。其涉及到如操作系統(tǒng)、輸入數(shù)據(jù)格式域范圍、支持硬件、操作規(guī)程、其他支持軟件等軟件系統(tǒng)運(yùn)行時(shí)所需要的各種支持要素。軟件的可靠性在不同的環(huán)境條件下是有所差異的。規(guī)定的條件具體來(lái)說(shuō)主要是描述在軟件系統(tǒng)運(yùn)行的過(guò)程中對(duì)輸入數(shù)據(jù)的要求以及計(jì)算機(jī)的配置情況,其他因素并假定都是理想因素。對(duì)環(huán)境條件進(jìn)行了明確的規(guī)定,可以判斷出軟件失效的責(zé)任是在研制方還是使用方。
2.規(guī)定的時(shí)間運(yùn)行時(shí)間可以作為規(guī)定時(shí)間的定量,因?yàn)檐浖煽啃运w現(xiàn)的只是其運(yùn)行階段。軟件系統(tǒng)在運(yùn)行后掛起與工作的累計(jì)時(shí)間是運(yùn)行時(shí)間的主要內(nèi)容。此外,選取程序路徑和軟件的運(yùn)行環(huán)境由于具有隨機(jī)性,因此軟件的失效為隨機(jī)性事件,運(yùn)行時(shí)間也就相應(yīng)的屬于隨機(jī)變量。
3.規(guī)定的功能。規(guī)定的工程和任務(wù)與軟件的可靠性也有著重要的關(guān)系。軟件的運(yùn)行剖面會(huì)由于所要完成的不同任務(wù)而有所區(qū)別,其調(diào)用的子模塊因此也有所不同,可靠性也因此有可能不相同。因此,必須要先明確其功能和任務(wù),這樣才能準(zhǔn)確對(duì)軟件的可靠性進(jìn)行度量。說(shuō)到軟件可靠性評(píng)估就少不了軟件可靠性模型。建立的數(shù)學(xué)模型和可靠性框圖用以估算或預(yù)計(jì)軟件的可靠性,可靠性模型的建立是為了便于定量分配、估算、預(yù)計(jì)以及評(píng)價(jià)復(fù)雜的系統(tǒng)可靠性,為了將較為復(fù)雜的系統(tǒng)可靠性逐層分解為較為簡(jiǎn)單的系統(tǒng)可靠性。
1.測(cè)試前檢查。在工程軟件可靠性正式測(cè)試之前,研制任務(wù)書(shū)與軟件需要要檢查是否一致,檢查程序與文檔的一致性,數(shù)據(jù)、相應(yīng)的軟件支持環(huán)境、所交付的程度要檢查是否符合要求,軟件研制過(guò)程中所形成的文檔要檢查其是否齊全,文檔的完整性與準(zhǔn)確性要檢查是否已經(jīng)通過(guò)了相關(guān)的評(píng)審。軟件研制過(guò)程中形成的文檔,根據(jù)軟件行業(yè)的相關(guān)標(biāo)準(zhǔn)共有16種:《軟件開(kāi)發(fā)計(jì)劃》、《計(jì)算機(jī)資源綜合保障手冊(cè)》、《接口需求規(guī)格說(shuō)明》、《軟件程序員手冊(cè)》、《軟件設(shè)計(jì)文檔》、《計(jì)算機(jī)系統(tǒng)操作員手冊(cè)》、《版本明文檔》、《軟件測(cè)試說(shuō)明》、《系統(tǒng)和段設(shè)計(jì)文件》、《固件保障手冊(cè)》、《軟件需求規(guī)格說(shuō)明》、《軟件用戶手冊(cè)》、《接口設(shè)計(jì)文檔》、《軟件測(cè)試報(bào)告》、《軟件產(chǎn)品規(guī)格說(shuō)明》、《軟件測(cè)試計(jì)劃》。其中《軟件測(cè)試說(shuō)明》、《軟件測(cè)試報(bào)告》以及《軟件測(cè)試計(jì)劃》,在這里需要注意,是在研制過(guò)程中研制方進(jìn)行測(cè)試所形成的測(cè)試文檔。如果軟件的規(guī)模不是特別大,原則上來(lái)說(shuō),是可以將某些文檔合并的。雖然進(jìn)行測(cè)試前檢查增加了一定的工作量,但是為了提高軟件的質(zhì)量以及及早發(fā)現(xiàn)一些錯(cuò)誤,進(jìn)行檢查是非常必不可少的一個(gè)環(huán)節(jié)。
2.測(cè)試用例設(shè)計(jì)。針對(duì)組合功能或者是特定的功能設(shè)計(jì)測(cè)試方案,并且將其編寫(xiě)成文檔,這就是我們所說(shuō)的設(shè)計(jì)測(cè)試用例。選擇測(cè)試用例時(shí)要注意,要包括一小與最大邊界情況以及極限情況。在選擇數(shù)據(jù)和測(cè)試用例時(shí),要盡量考慮那些比較容易發(fā)現(xiàn)缺陷的數(shù)據(jù)和測(cè)試用例,因?yàn)檫M(jìn)行測(cè)試的目的就是找出隱藏在軟件中的缺陷,要結(jié)合復(fù)雜的運(yùn)行環(huán)境,確定所有可能的輸出條件與輸入環(huán)境中的測(cè)試數(shù)據(jù),對(duì)軟件是夠能夠產(chǎn)生正確的輸出進(jìn)行檢查。一個(gè)標(biāo)準(zhǔn)的測(cè)試用例應(yīng)該包括以下信息:待測(cè)試的功能;測(cè)試日期;評(píng)價(jià)輸出結(jié)果的準(zhǔn)則;測(cè)試步驟;測(cè)試目標(biāo);預(yù)期的輸出;測(cè)試輸入。此外,測(cè)試用例要在經(jīng)過(guò)專家評(píng)審后方可投入使用。對(duì)測(cè)試用例進(jìn)行描述是選擇和設(shè)計(jì)測(cè)試用例集的這種描述是否完整、規(guī)范化、可理解、權(quán)威,決定了試驗(yàn)鑒定人員、軟件研制人員、操作人員在多大程度上或者是能否理解和接受該測(cè)試用例。因此,在軟件的評(píng)估與測(cè)試中規(guī)范化的測(cè)試用例描述具有非常重要的意義。
3.實(shí)施測(cè)試。上述準(zhǔn)備就緒后,便可以進(jìn)行具體測(cè)試。用戶穩(wěn)定、數(shù)據(jù)、說(shuō)明書(shū)、程序等于可靠性質(zhì)量特性有關(guān)的部分交付的所有軟件文檔部分,都應(yīng)該按照質(zhì)量需求和需求說(shuō)明進(jìn)行測(cè)試。數(shù)據(jù)和程序,在需求說(shuō)明書(shū)、用戶文檔、項(xiàng)目合同中規(guī)定的所有配置情況進(jìn)行測(cè)試。可以在測(cè)試的過(guò)程中考慮進(jìn)行強(qiáng)化輸入。在強(qiáng)化輸入下如果軟件可靠,那么就說(shuō)明在正規(guī)輸入下要更加可靠。我們應(yīng)該采用多臺(tái)計(jì)算機(jī)同時(shí)運(yùn)行軟件,進(jìn)一步增加累計(jì)運(yùn)行時(shí)間,以獲得更多的可靠性數(shù)據(jù)。
4.收集可靠性數(shù)據(jù)??煽啃栽u(píng)估的基礎(chǔ)就是軟件可靠性數(shù)據(jù),應(yīng)該建立軟件錯(cuò)誤分析、錯(cuò)誤報(bào)告、錯(cuò)誤糾正系統(tǒng)。可靠性數(shù)據(jù)和軟件錯(cuò)誤報(bào)告的保存、收集、處理、分析規(guī)程,按照相關(guān)的標(biāo)準(zhǔn)要求進(jìn)行制定與實(shí)施,對(duì)測(cè)試階段軟件的可靠性數(shù)據(jù)和錯(cuò)誤報(bào)告進(jìn)行準(zhǔn)確完整的收集與記錄。軟件可靠性數(shù)據(jù)如果用時(shí)間定義,那么可以分為四類:記錄發(fā)生一次失效所累計(jì)的時(shí)間為第一失效時(shí)間數(shù)據(jù);記錄上一次與本次失效之間的間隔時(shí)間,為第二失效間隔時(shí)間數(shù)據(jù);記錄某個(gè)時(shí)間區(qū)內(nèi)發(fā)生了多少次失效,為第三分組數(shù)據(jù);記錄某個(gè)時(shí)間區(qū)內(nèi)的累積失效數(shù),為第四分組時(shí)間內(nèi)累積失效數(shù)。這四類數(shù)據(jù)分組數(shù)據(jù);記錄某個(gè)區(qū)間內(nèi)的累積失效數(shù),為數(shù)據(jù)是可以進(jìn)行相互轉(zhuǎn)化的。每個(gè)測(cè)試記錄都必須要包含充分的信息,主要包括:便有測(cè)試用例的測(cè)試說(shuō)明或測(cè)試計(jì)劃;參與測(cè)試的個(gè)人身份;測(cè)試時(shí)間;包括所有測(cè)試時(shí)發(fā)生的故障在內(nèi)的,與測(cè)試有關(guān)的所有測(cè)試結(jié)果。
5.測(cè)試報(bào)告的編寫(xiě)。軟件可靠性測(cè)試報(bào)告,在完成測(cè)試活動(dòng)后是必須要編寫(xiě)的,要對(duì)在測(cè)試報(bào)告中對(duì)測(cè)試結(jié)果以及測(cè)試項(xiàng)目進(jìn)行歸納和總結(jié)??梢詤⒖枷嚓P(guān)的規(guī)范格式進(jìn)行編寫(xiě),同時(shí)要根據(jù)具體情況進(jìn)行剪裁。測(cè)試報(bào)告應(yīng)該具有以下主要內(nèi)容:軟件和硬件的使用配置;用戶文檔、數(shù)據(jù)和程序的測(cè)試結(jié)果、產(chǎn)品說(shuō)明;測(cè)試的最終日期;產(chǎn)品標(biāo)識(shí);與需求不相符合的項(xiàng)目列表;使用的文檔。這種規(guī)范化的過(guò)程控制管理,可以為最終得到客觀的評(píng)估結(jié)果奠定基礎(chǔ),有利于獲得真實(shí)有效的數(shù)據(jù)。
總結(jié):本文對(duì)軟件可靠性的基本概念以及測(cè)試軟件可靠性的過(guò)程進(jìn)行了簡(jiǎn)要敘述。完全用現(xiàn)場(chǎng)試驗(yàn)的方法可以說(shuō)是最好的評(píng)估軟件可靠性的方法。對(duì)軟件的可靠性進(jìn)行評(píng)估受到很多條件限制,其中可靠性信息的不足是最大的限制。這就需要:明確軟件與各模塊的可靠性關(guān)系;軟件研制部門(mén)的配合;收集足夠的各模塊和軟件歷史可靠性試驗(yàn)信息;以及已知的各模塊壽命類型。
[1]石柱.基于模糊技術(shù)的軟件質(zhì)量評(píng)價(jià)及可靠性評(píng)估[D]北京:北京航空航天大學(xué),2000(3).
[2]王強(qiáng),陸陽(yáng),方歡,朱曉玲基于結(jié)構(gòu)分析的復(fù)雜軟件可靠性評(píng)估方法[J].2013(4). [3]陳敏,湯曉安.航天器計(jì)算機(jī)系統(tǒng)中軟件的可靠性評(píng)估方法研究[J].2004(8).