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