李瑞
(陜西財經職業(yè)技術學院,陜西咸陽,712000)
計算機軟件可靠性與質量管理的探究
李瑞
(陜西財經職業(yè)技術學院,陜西咸陽,712000)
在軟件無處不在的現(xiàn)代化社會中,計算機軟件可靠性問題是一個非常值得關注的點。若是處于重要位置的計算機軟件出現(xiàn)了失誤或癱瘓,就會阻礙正常的社會運行,造成巨大的社會經濟損失。本文對計算機軟件的可靠性定義、評估標準、可靠性測試等概念性問題進行了探究。并在此基礎上,從應當加強軟件質量管理的觀點出發(fā),對計算機軟件可靠性的質量管理措施進行了探討。旨在通過合理科學的計算機軟件質量管理來改善計算機軟件可靠性問題。
軟件可靠性;質量管理;測試;計算機
計算機技術被大量應用在商業(yè)、科技、生活等多領域中,而且還有變愈演愈烈的趨勢是,近年來,人工智能頻頻成為新聞熱點,就是一個很好的說明。在計算機硬件生產技術愈發(fā)成熟的今天,對計算機技術的改造更多的是注目于軟件領域。多種多樣的、不同類型,不同功能的軟件被開發(fā)出來服務于人類,編程人員用看似虛擬的一串串代碼創(chuàng)造出的軟件不斷使我們的生活變得簡易,便捷。在感受到科技帶來的幸福的同時,我們應當對計算機軟件安全問題提高重視,計算機軟件可靠性就是其中的一個方面。
計算機軟件的可靠性主要是指:在給定范圍的的時間和空間內,計算機軟件不會引起系統(tǒng)故障的幾率。這個概率也可以理解為軟件的缺陷函數(shù),是系統(tǒng)輸入和系統(tǒng)使用函數(shù)的描述。這個函數(shù)可以用來概括計算機軟件在一定條件下能夠流暢的跑完程序所需要的能力。
通常使用可靠性測試來評估某個計算機軟件的可靠性,它一般包括以下一系列的測試環(huán)節(jié):明確測試目標、制定修改測試方案、標準化實測過程、收集測試數(shù)據(jù)、科學統(tǒng)計分析相關測試數(shù)據(jù)、完成數(shù)據(jù)分析結果報告。
實施這種測試的主要目的,一方面是發(fā)現(xiàn)計算機軟件所存在的缺陷,另一方面為軟件的正常維護提供較為可靠的工作數(shù)據(jù),同時對軟件的可靠性進行定量分析,從而判斷其是否合格,是否具有推廣應用價值。
要想準確測試計算機軟件的可靠性,設計一個典型而科學的測試用例顯得尤為關鍵,用例設計的科學性直接影響著軟件可靠性測試的信度。一般來說,如果測試用例在軟件測試中無法正常工作,計算機控制系統(tǒng)以及其他相類似的程序軟件會做出比較詳細的說明,也會通過 CPU 時間或者時鐘時間來進行準確客觀的定義。但針對一般的普通應用系統(tǒng),測試用例無法正常運轉和執(zhí)行,就要進行綜合考慮。一方面要考慮運行程序與用戶需求的匹配性,另一方面要考慮運行程序的指定功能的效果與用戶的實際期望指數(shù)。在測試用例的過程中,我們會得到關乎計算機軟件的可靠性一系列的數(shù)據(jù),而這些數(shù)據(jù)是對計算機軟件進行可靠性分析和評價的基礎,為了提高測試的信度,我們一般會通過多臺計算機同時,同步對測試用例進行運行,并且適當增加運行的累計時間,從而獲得更多的關于計算機軟件可靠性的相關數(shù)據(jù),其中我們較為采用的數(shù)據(jù)是用時間來定義的。這些數(shù)據(jù)在測試過程中要客觀、真實的記錄從而為軟件可靠性的評價分析打下堅實的數(shù)據(jù)基礎。
在完成用例測試之后,我們要針對所測試的計算機軟件進行可靠性分析與評估。這一過程一般包含以下幾個方面。首先要選擇一個軟件可靠性的模型。目前比較公認的是廣義指數(shù)模型,它是《計算機軟件測試規(guī)范》所主推的四種軟件可靠性模型中的一種。它的特點是把比較流行的幾種模型進行整理,統(tǒng)一為一種形式,并且用一組公式來表征軟件中存在的危險指數(shù),從而有效的簡化了模型建立的過程,為軟件可靠性測試節(jié)省了大量時間。它的主要理論是:程序無法正常運行的概率與軟件中本身存在的缺陷呈正相關,這種概率在兩次失效的間隔之間保持一定的數(shù)據(jù)穩(wěn)定,當軟件中存在的缺陷或漏洞被排除將會降低軟件運行的失效率。這種失效率可以通過以下幾點進行客觀預測。統(tǒng)計在一定時間范圍內軟件無法正常運行的次數(shù),以及其發(fā)生的最大次數(shù),在軟件故障排除以前所需要的故障排除時間。這種模型基于的基本假設是:軟件運行的失效率與故障的個數(shù)有著直接的相關性。每一個故障發(fā)生應該是相互獨立的,并且這種概率是相等的,每一個故障的嚴重性是一致的,軟件的運行程序與預期的使用方法基本一致。在選擇完科學的模型之后,我們要對數(shù)據(jù)進行合理的判斷與分析,從而為軟件可靠性的評估和預測奠定一定的基礎。
目前比較通用的計算機軟件的可靠性的測試方法可謂百花齊放,但總體來說,可以分為靜態(tài)與動態(tài)測試,白盒與黑盒測試。前者是根據(jù)測試中是否要執(zhí)行被測軟件的角度出發(fā) , 后者是根據(jù)測試中是否需要針對計算機系統(tǒng)的內部結構和具體實現(xiàn)算法的角度出發(fā)。
評估軟件可靠性其標準主要有三:一是FIPS 135是美國國家標準局發(fā)布的《軟件文檔管理指針》;二是NSAC--39是美國核子安全分析中心發(fā)布的《安全參數(shù)顯示系統(tǒng)的驗證與確認》;三是ISO 5807是國際標準化組織發(fā)布(現(xiàn)在已經成為中國國家標準)的《信息處理--數(shù)據(jù)流程圖、程序流程圖、程序網(wǎng)絡圖和系統(tǒng)資源圖的文件編制符號及約定》。其標準層次有五個,從頂層到低層依次是國際標準、國家標準、行業(yè)標準、企業(yè)規(guī)范及項目(課題)規(guī)范。其標準級別也是五個,即國際標準、國家標準、行業(yè)標準、企業(yè)(機構)標準和項目(課題)標準。這是根據(jù)軟件工程,其標準制定的機構和標準適用的范圍有所不同分出的級別。軟件工程包括軟件開發(fā)技術和軟件工程項目管理兩大部分。第三代軟件工程:基于構件的軟件工程是以軟件服用為目標、領域工程為基礎,其開發(fā)過程一般包括四個階段,依次是領域分析和測試計劃定制、領域設計、建立可復用構件庫、按“構件集成模型”查找與集成構件。提高開發(fā)軟件的可靠性,確保軟件質量必須執(zhí)行軍用軟件開發(fā)規(guī)范的有關標準,對軟件開發(fā)的全過程實行軟件工程化管理。
我國制定了軟件開發(fā)的國家標準和軍用標準,國家標準是參照國際ISO和IEC標準而制定的,國家軍用標準是參照MILL標準而制定的。他們都是軟件開發(fā)成功經驗的總結,執(zhí)行軟件開發(fā)的標準、規(guī)范、條例和約定,是確保開發(fā)軟件質量的首要措施,也便于與國際先進標準接軌。建立軟件質量保證組織,由軟件主任設計師、軟件設計師、軟件質量保證師組成,負責軟件開發(fā)中的文檔編制、軟件設計、軟件評審和審查、軟件測試、軟件質量管理、軟件計劃進行度。軟件設計人員要實行“雙崗制” ,軟件需求分析,軟件設計,軟件編程,軟件測試各階段必須配備兩個以上人員參與并負同等責任。軟件設計人員、軟件編程人員實行“三分離” ,即軟件設計人員不負責編程,軟件編程人員不負責測試。“雙崗制”和“三分離”的組織形式是減少軟件錯誤的重要措施。
計算機軟件逐漸成為人們生活中不可欠缺的一部分,甚至從某種方面來說,計算機技術的發(fā)達程度已經和國家現(xiàn)代化程度掛鉤。如果計算機軟件可靠性不能保證,一旦出現(xiàn)重大失誤就會給人民生活帶來困擾、影響企業(yè)的正常運行、甚至有可能危害國家安全。本文對計算機可靠性進行了探討,并且從質量管理的角度出發(fā),對改善計算機軟件可靠性提出了一些建議。希望工作在一線的工程技術人員和相關部門能夠對此問題加深重視,在加強軟件質量管理上下功夫。若是本文能夠對相關工作提供一點幫助,筆者感到萬分榮幸。
[1]王雪梅,趙昕.淺議星載嵌入式計算機系統(tǒng)可靠性技術.河南科技.2013.
[2]劉磊.計算機軟件可靠性測試的具體措施分析.《計算機光盤軟件與應用》.2012.
[3]楊健,王震關于計算機軟件可靠性設計的研究分析.《電子制作》.2013.
[4]袁豪.對目前計算機軟件可靠性及其測試分析.《科學中國人》.2015.
[5]唐簫玲.計算機軟件可靠性測試具體措施研究.《廣東科技》.2013.
[6]李婉瀅.淺談計算機軟件可靠性的機理與參數(shù).《科技創(chuàng)業(yè)家》2012.
Research on reliability and quality management of computer software
LiRui
(Shaanxi Vocational College of Finance and Economics,Shaanxi Xianyang,712000)
in the modern society, the reliability of computer software is a very important issue. If the computer software is in an important position, there is a mistake or paralysis, it will hinder the normal social operation, resulting in huge social and economic losses. In this paper, the concept of computer software reliability, evaluation criteria, reliability testing and other conceptual issues were explored. On the basis of this, from the point of view of software quality management, the quality control measures of computer software reliability are discussed. The aim of this paper is to improve the reliability of computer software through scientific and reasonable software quality management.
software reliability; quality management; TESTING; computer