【摘 要】隨著現(xiàn)代化科學(xué)技術(shù)的快速發(fā)展,軟件被廣泛的應(yīng)用在各個領(lǐng)域,與此同時人們對于軟件可靠性提出了更高的要求。因此要做好軟件可靠性的測試分析,進一步進行優(yōu)化和改進,不斷提高軟件的安全性和可靠性。本文分析了軟件可靠性的定義,闡述了軟件可靠性測試過程。
【關(guān)鍵詞】軟件可靠性 測試
近年來,計算機科學(xué)技術(shù)的快速發(fā)展,使得軟件逐漸成為人們辦公的重要工具,而軟件故障也成為影響計算機系統(tǒng)穩(wěn)定運行的關(guān)鍵因素。軟件可靠性測試通過評估軟件可靠性模型,可以及時發(fā)現(xiàn)軟件的缺陷,從而進行完善和優(yōu)化,保障軟件的安全、穩(wěn)定運行。
一、軟件可靠性的定義
軟件可靠性是指在一定的時間、一定的條件下,軟件安全、穩(wěn)定的運行不引起計算機系統(tǒng)故障的概率,這個概率是計算機系統(tǒng)輸出和輸入的關(guān)系函數(shù),同時也是軟件自身的缺陷函數(shù)。系統(tǒng)輸入?yún)?shù)用來確定軟件自身是否已經(jīng)存在問題和缺陷。同時,軟件可靠性還代表著在規(guī)定時間內(nèi),軟件程序執(zhí)行設(shè)計要求的基本能力。
二、軟件可靠性測試過程
軟件可靠性測試是一種最基本的軟件測試形式,是評價和分析一個軟件質(zhì)量和性能的重要指標,利用測試用例來分析和測試軟件可靠性,可以檢測軟件是否滿足可靠性要求,及時發(fā)現(xiàn)軟基系統(tǒng)在實施、測試、編碼、設(shè)計、功能等多方面的缺陷和問題,為軟件故障的維護和管理提供可靠、有效的數(shù)據(jù)。軟件可靠性測試的流程為:確定可靠性目標、開發(fā)運行剖面、設(shè)計測試用例、實施測試、分析測試結(jié)果,軟件可靠性測試流程如圖1所示。
1.開發(fā)運行剖面。為了確保軟件可靠性測試的準確性,在測試軟件時要像真實操作和使用一樣,運行剖面是定量和定性描述軟件操作和使用方式的系統(tǒng)。開發(fā)軟件的運行剖面,定義軟件的使用條件,用在一定條件下或者在規(guī)定時間內(nèi)可能發(fā)生的概率來描述軟件系統(tǒng)的輸入值,即運行剖面=[運行,發(fā)生的概率] 。
2.可靠性測試用例設(shè)計。軟件可靠性測試用例主要包括測試軟件的功能需求、判斷準則、預(yù)期輸出、操作步驟、測試輸入、測試條件和環(huán)境、測試用例標識等內(nèi)容??煽啃詼y試用例設(shè)計的主要目的是評估和分析軟件的可靠性,除了設(shè)計可靠性測試用例之外,還要全面考慮影響軟件可靠性的其他因素,例如軟件模塊失效、網(wǎng)絡(luò)故障、數(shù)據(jù)可靠性、軟件異常退出等。
3.實施可靠性測試。軟件可靠性測試的關(guān)鍵在于測試用例的運行狀態(tài),在軟件系統(tǒng)中,系統(tǒng)失效可以由時鐘時間、CPU時間以及運行說明來客觀定義,在軟件應(yīng)用模塊中,在分析系統(tǒng)失效時,還要考慮到一些主觀因素,軟件程序不僅要滿足使用說明要求,軟件的相應(yīng)功能和性能要滿足用戶的需求。軟件可靠性的數(shù)據(jù)是評價軟件可靠性的重要基礎(chǔ),可以在多臺計算機上同時運行該軟件,累計軟件的運行時間,獲取軟件的可靠性數(shù)據(jù)。軟件可靠性數(shù)據(jù)可以用時間來定義,例如,從分組時間起點到某個時間區(qū)間終點的累計失效數(shù),各個分組時間段中的失效數(shù),失效的間隔時間、失效時間數(shù)據(jù)等。在測試軟件可靠性過程中,要規(guī)范地、真實地記錄這些數(shù)據(jù),從而客觀、準確地測試軟件可靠性。
4.軟件可靠性評估。軟件可靠性評估主要包括確定可靠性模型、采集可靠性數(shù)據(jù)、預(yù)測和評估可靠性這三部分內(nèi)容。
(1)軟件可靠性模型。軟件可靠性模型由數(shù)據(jù)要求、參數(shù)估計方法、性能度量和模型假設(shè)組成。本文以廣義軟件指數(shù)模型為例,來詳細分析軟件可靠性評估。廣義指數(shù)模型是當前計算機軟件測試中最常用的一種可靠性評估模型,它結(jié)合了幾個常見的可靠性模型,將其歸納總結(jié)為一個模型表,利用一組公式來計算存在故障危險的概率,從而簡化軟件可靠性建模過程。軟件的危險函數(shù)為,殘留故障數(shù)為 。公式中x是軟件測試的資源變量,是軟件程序的初始故障數(shù),是消耗x單位的工作量或者時間,K是比例常數(shù),時間單位或者資源單位,殘留故障導(dǎo)致的失效數(shù)。
(2)采集可靠性數(shù)據(jù)。軟件的可靠性數(shù)據(jù)是分析和評價一個軟件可靠性性能的基礎(chǔ)。采集軟件可靠性數(shù)據(jù)要根據(jù)軟件的可靠性模型,明確需要采集的系統(tǒng)失效數(shù)據(jù),同時定義記錄規(guī)范和術(shù)語,如失效嚴重度、失效、時間等,制定完善的軟件可靠性數(shù)據(jù)采集計劃,確保采集數(shù)據(jù)的完整性和準確性。
(3)預(yù)測和評估軟件可靠性。預(yù)測和評估軟件可靠性要依據(jù)軟件可靠性模型,結(jié)合采集的可靠性數(shù)據(jù),進一步修正、完善和補充可靠性模型,然后運用統(tǒng)計手段和技術(shù)分析可靠性數(shù)據(jù),從而得出軟件可靠性的測試結(jié)果。
三、結(jié)束語
軟件可靠性是評估一個軟件綜合性能的重要指標,直接關(guān)系著軟件系統(tǒng)能否安全、穩(wěn)定、可靠的運行。軟件在運行過程中容易受到多重因素的影響,因此要做好軟件可靠性的測試分析,有針對性地完善和優(yōu)化軟件系統(tǒng),使軟件系統(tǒng)發(fā)揮更加重要的功能。
參考文獻:
[1] 嚴進寶.軟件可靠性加速測試技術(shù)的研究與實現(xiàn)[D].國防科學(xué)技術(shù)大學(xué),2004.
[2] 劉劍豪,劉曉明,姚奕,黃松.構(gòu)件軟件的層次可靠性估計模型[J].應(yīng)用科學(xué)學(xué)報,2007(02).
[3] 陳光宇,黃錫滋.軟件可靠性學(xué)科發(fā)展現(xiàn)狀及展望[J].電子科技大學(xué)學(xué)報(社科版),2002(03).
作者簡介:
朱劍(1983-),女,江蘇常州人,學(xué)歷:本科,工作單位:江蘇振邦智慧城市信息系統(tǒng)有限公司,測試部門主管,研究方向:醫(yī)療行業(yè)軟件測試。