摘要:本文通過(guò)介紹軟件可靠性的基本概念和對(duì)國(guó)內(nèi)外研究軟件可靠性的現(xiàn)狀,提出了如何進(jìn)行計(jì)算機(jī)軟件可靠性的測(cè)試以及它相對(duì)應(yīng)的測(cè)試設(shè)計(jì)方法,這對(duì)于提高計(jì)算機(jī)軟件可靠性測(cè)試具有現(xiàn)實(shí)意義。
關(guān)鍵詞:計(jì)算機(jī)軟件 可靠性測(cè)試 設(shè)計(jì)方法
在科學(xué)技術(shù)飛速發(fā)展的今天,計(jì)算機(jī)和軟件的應(yīng)用深入到各行業(yè)中,導(dǎo)致計(jì)算機(jī)系統(tǒng)失效和停機(jī)的原因也越來(lái)越多,軟件故障就是主要原因之一。所以,軟件的可靠性得到了越來(lái)越多的關(guān)注。
1 軟件可靠性的定義
軟件可靠性是軟件系統(tǒng)的固有特性,它能在限定的時(shí)間內(nèi)和特定的環(huán)境下完成它本身所具有的功能能力。除此之外,軟件可靠性是依據(jù)軟件系統(tǒng)用戶的要求和目標(biāo)所設(shè)定的,以此來(lái)確保它的功能能正確的執(zhí)行。
2 對(duì)國(guó)內(nèi)外軟件可靠性工程現(xiàn)狀的研究
作為一門剛剛新起的工程學(xué)科,軟件可靠性依然處于起步階段,其發(fā)展還得經(jīng)過(guò)一段時(shí)間。
2.1 國(guó)外 國(guó)外對(duì)軟件可靠性的研究起步較早,從60年代后期就已經(jīng)開始通過(guò)投入大量的人力和物力,并在這一行業(yè)取得了明顯的效果。
2.2 國(guó)內(nèi) 相對(duì)于國(guó)外,國(guó)內(nèi)起步較晚,并且在各個(gè)技術(shù)、方式、方法等方面跟國(guó)外差距很大。國(guó)內(nèi)的軟件生成方式比較落后,缺陷較多,主要表現(xiàn)為以下三個(gè)方面:①透明度差;②缺乏客戶對(duì)軟件可靠性的支持和信心;③軟件系統(tǒng)的質(zhì)量欠佳,主要是因?yàn)閷?duì)軟件測(cè)試的把關(guān)不夠嚴(yán)格。
3 對(duì)軟件可靠性測(cè)試過(guò)程的研究
3.1 測(cè)試前的檢查 所有軟件的可靠性必須在測(cè)試之前進(jìn)行信息的核實(shí)。核實(shí)的信息主要包括研制任務(wù)書、提供的程序和數(shù)據(jù)、文檔和程序,看看它們的信息是否一致。
3.2 設(shè)計(jì)測(cè)試用例 測(cè)試目標(biāo)、待測(cè)試的功能、測(cè)試環(huán)境及條件、測(cè)試日期、測(cè)試輸入、測(cè)試步驟、預(yù)期的輸出、評(píng)價(jià)輸出結(jié)果是評(píng)價(jià)測(cè)試用例的重要指標(biāo)。
發(fā)現(xiàn)問(wèn)題是測(cè)試的主要意義和目的所在,綜合發(fā)現(xiàn)的問(wèn)題,寫出測(cè)試方案及其改善的方法,以此提高軟件的可靠性。在選取測(cè)試用例和數(shù)據(jù)的時(shí)候,應(yīng)該偏向于那種比較容易發(fā)現(xiàn)問(wèn)題的,并在錯(cuò)綜復(fù)雜的環(huán)境下運(yùn)行,以檢測(cè)該應(yīng)用軟件能否正確的輸出數(shù)據(jù)。
3.3 測(cè)試實(shí)施 在綜合測(cè)試中,應(yīng)該依據(jù)項(xiàng)目合同、需求說(shuō)明書、用戶文檔所規(guī)定的配置程序數(shù)據(jù)來(lái)進(jìn)行測(cè)試,并運(yùn)用多臺(tái)計(jì)算機(jī)同時(shí)運(yùn)行軟件而不是簡(jiǎn)單的靠單一的計(jì)算機(jī)來(lái)運(yùn)行,在運(yùn)行過(guò)程中,計(jì)算運(yùn)行時(shí)間,并且考慮進(jìn)行“強(qiáng)化輸入”。
3.4 可靠性數(shù)據(jù)收集 可靠性評(píng)估以軟件可靠性數(shù)據(jù)為基準(zhǔn)。除此之外,還得建立相對(duì)應(yīng)的軟件錯(cuò)誤分析報(bào)告和糾錯(cuò)系統(tǒng)在相關(guān)標(biāo)準(zhǔn)要求下,制定和執(zhí)行軟件錯(cuò)誤報(bào)告、完成規(guī)程所需要的一系列步驟,確保測(cè)試階段的錯(cuò)誤報(bào)告的真實(shí)性和數(shù)據(jù)來(lái)源的可靠性。
3.5 編寫測(cè)試報(bào)告 測(cè)試報(bào)告應(yīng)該包含的內(nèi)容如下:產(chǎn)品標(biāo)識(shí);使用的配置(硬件和軟件);使用的文檔;產(chǎn)品說(shuō)明、用戶文檔、程序和數(shù)據(jù)的測(cè)試結(jié)果;與需求不相符的項(xiàng)的列表;測(cè)試的最終日期。
4 對(duì)軟件可靠性設(shè)計(jì)方法的研究
由軟件的可靠性概念我們得出,軟件的漏洞和不足能導(dǎo)致系統(tǒng)故障的發(fā)生。如軟件壽命周期的各個(gè)階段能導(dǎo)致軟件存在不足。因此,為了提高軟件的可靠性,提高軟件的質(zhì)量和減少缺陷是非常重要的。所以我們要找到一些減少各個(gè)壽命周期缺陷的設(shè)計(jì)方法。
4.1 規(guī)范(要求/規(guī)格說(shuō)明) 規(guī)范錯(cuò)誤的產(chǎn)生是由于規(guī)格說(shuō)明與用戶要求說(shuō)明之間有誤差。為了有效的減少和把錯(cuò)誤縮減到最小,可以對(duì)程序的要求、所用的結(jié)構(gòu)、研制及試驗(yàn)中需要的程序試驗(yàn)要求和文件,以及程序語(yǔ)言、輸入和輸出的基本要求做出恰當(dāng)?shù)囊蟆?/p>
4.2 軟件設(shè)計(jì) 為了使設(shè)計(jì)出的軟件具有可靠性,需要把機(jī)型信息、資源、 語(yǔ)言、模型及數(shù)據(jù)結(jié)構(gòu)等這些因素考慮進(jìn)來(lái)。針對(duì)這些問(wèn)題,采取一些有效的設(shè)計(jì)方法:
第一, “自頂向下設(shè)計(jì)”法。自頂向下設(shè)計(jì)方法的明顯價(jià)值優(yōu)勢(shì)是它的每個(gè)設(shè)計(jì)環(huán)節(jié)和要素清楚明了。這樣的設(shè)計(jì)方法能在早期就發(fā)現(xiàn)設(shè)計(jì)存在的問(wèn)題,并進(jìn)行及時(shí)的更正,從而避免了較低層次的細(xì)節(jié)問(wèn)題。
第二,結(jié)構(gòu)化程序設(shè)計(jì)。結(jié)構(gòu)化程序設(shè)計(jì)是把程序分塊,并對(duì)每一塊提出不同的設(shè)計(jì)要求和規(guī)格說(shuō)明,再相對(duì)應(yīng)的標(biāo)注上與其他程序接口的方法,明確指出相對(duì)應(yīng)的數(shù)據(jù)輸入和數(shù)據(jù)輸出及其測(cè)試方法。結(jié)構(gòu)化設(shè)計(jì)使得編程更易于編寫和糾錯(cuò),提高和完善。
第三,容錯(cuò)設(shè)計(jì)。飛機(jī)的飛行控制系統(tǒng)、空中交通管制系統(tǒng)、核反應(yīng)堆安全系統(tǒng)等就需要采用到容錯(cuò)軟件。
4.3 軟件編碼 軟件錯(cuò)誤的一個(gè)很重要的來(lái)源就是編碼產(chǎn)生的不足,而編碼是在軟件設(shè)計(jì)的基礎(chǔ)上完成的。設(shè)計(jì)與生產(chǎn)分離是有效降低編碼錯(cuò)誤的方法。
5 小結(jié)
綜上所述,軟件可靠性設(shè)計(jì)工程已經(jīng)得到大家的認(rèn)可,但在其在發(fā)展進(jìn)程上還需要不斷的改進(jìn)和完善,彌補(bǔ)缺陷與不足,力爭(zhēng)最大限度的完善軟件可靠性,使其發(fā)展達(dá)到成熟化階段。通過(guò)對(duì)軟件可靠性測(cè)試和可靠性方法的評(píng)估方法的研究,本文認(rèn)為軟件可靠性工程作為新興的學(xué)科,還需要不斷的探索發(fā)現(xiàn)和解決探索過(guò)程中發(fā)現(xiàn)的問(wèn)題。
參考文獻(xiàn):
[1]柳純錄.軟件評(píng)測(cè)師教程[M].北京:清華大學(xué)出版社,2005.
[2]陳璇.淺談關(guān)于軟件安全性測(cè)試方法研究[J].電腦知識(shí)與技術(shù),2009(3).
[3]張磊,周繼鋒,張強(qiáng).系統(tǒng)軟件可靠性驗(yàn)證測(cè)試方法研究[J].計(jì)算機(jī)與數(shù)字工程,2010,06.
[4]蔡開元.軟件可靠性工程基礎(chǔ)[M].北京:清華大學(xué)出版社,1995.
[5]曾福萍,靳慧亮,陸民燕.軟件缺陷模式的研究[J].計(jì)算機(jī)科學(xué),2011,02.