如何對軟體質量進行評估?

2021-03-31 18:31:35 字數 4688 閱讀 8536

軟體質量是「軟體產品具有滿足規定的或隱含要求能力要求有關的特徵與特徵總和」。根據軟體質量國家標準gb-t8566--2001g,軟體質量評估通常從對軟體質量框架的分析開始。

1.1 軟體質量框架模型

如圖1所示,軟體質量框架是乙個「質量特徵—質量子特徵—度量因子」的三層結構模型。

在這個框架模型中,上層是面向管理的質量特徵,每乙個質量特徵是用以描述和評價軟體質量的一組屬性,代表軟體質量的乙個方面。軟體質量不僅從該軟體外部表現出來的特徵來確定,而且必須從其內部所具有的特徵來確定。

第二層的質量子特徵是上層質量特徵的細化,乙個特定的子特徵可以對應若干個質量特徵。軟體質量子特徵是管理人員和技術人員關於軟體質量問題的通訊渠道。

最下面一層是軟體質量度量因子(包括各種引數),用來度量質量特徵。定量化的度量因子可以直接測量或統計得到,為最終得到軟體質量子特徵值和特徵值提供依據。

圖1 軟體質量框架模型

1.2 軟體質量特徵

按照軟體質量國家標準gb-t8566--2001g,軟體質量可以用下列特徵來評價:

a.功能特徵:與一組功能及其指定性質有關的一組屬性,這裡的功能是滿足明確或隱含的需求的那些功能。

b.可靠特徵:在規定的一段時間和條件下,與軟體維持其效能水平的能力有關的一組屬性。

c.易用特徵:由一組規定或潛在的使用者為使用軟體所需作的努力和所作的評價有關的一組屬性。

d.效率特徵:與在規定條件下軟體的效能水平與所使用資源量之間關係有關的一組屬性。

e.可維護特徵:與進行指定的修改所需的努力有關的一組屬性。

f.可移植特徵:與軟體從乙個環境轉移到另乙個環境的能力有關的一組屬性。

其中每乙個質量特徵都分別與若干子特徵相對應。

2 評估指標的選取原則

選擇合適的指標體系並使其量化是軟體測試與評估的關鍵。評估指標可以分為定性指標和定量指標兩種。理論上講,為了能夠科學客觀地反映軟體的質量特徵,應該盡量選擇定量指標。但是對於大多數軟體來說,並不是所有的質量特徵都可以用定量指標進行描述,所以不可避免地要採用一定的定性指標。

在選取評估指標時,應該把握如下原則:

a.針對性

即不同於一般軟體系統,能夠反映評估軟體的本質特徵,具體表現就是功能性與高可靠性。

b.可測性

即能夠定量表示,可以通過數學計算、平台測試、經驗統計等方法得到具體資料。

c.簡明性

即易於被各方理解和接受。

d.完備性

即選擇的指標應覆蓋分析目標所涉及的範圍。

e.客觀性

即客觀反映軟體本質特徵,不能因人而異。

應該注意的是,選擇的評估指標不是越多越好,關鍵在於指標在評估中所起的作用的大小。如果評估時指標太多,不僅增加結果的複雜性,有時甚至會影響評估的客觀性。指標的確定一般是採用自頂向下的方法,逐層分解,並且需要在動態過程中反覆綜合平衡。

3 軟體質量評估指標體系

通常,我們在軟體的測試與評估時,主要側重於功能特徵、可靠特徵、易用特徵和效率特徵等幾個方面。在評價活動的具體實施中,應該把被評估軟體的研製任務書作為主要依據,採用自頂向下逐層分解的方法,並參照有關國家軟體質量標準。

3.1 功能性指標

功能性是軟體最重要的質量特徵之一,可以細化成完備性和正確性。目前對軟體的功能性評價主要採用定性評價方法。

a.完備性

完備性是與軟體功能完整、齊全有關的軟體屬性。如果軟體實際完成的功能少於或不符合研製任務書所規定的明確或隱含的那些功能,則不能說該軟體的功能是完備的。

b.正確性

正確性是與能否得到正確或相符的結果或效果有關的軟體屬性。軟體的正確性在很大程度上與軟體模組的工程模型(直接影響輔助計算的精度與輔助決策方案的優劣)和軟體編制人員的程式設計水平有關。

對這兩個子特徵的評價依據主要是軟體功能性測試的結果,評價標準則是軟體實際執行中所表現的功能與規定功能的符合程度。在軟體的研製任務書中,明確規定了該軟體應該完成的功能,如資訊管理、提供輔助決策方案、輔助辦公和資源更新等。那麼即將進行驗收測試的軟體就應該具備這些明確或隱含的功能。

目前,對於軟體的功能性測試主要針對每種功能設計若干典型測試用例,軟體測試過程中執行測試用例,然後將得到的結果與已知標準答案進行比較。所以,測試用例集的全面性、典型性和權威性是功能性評價的關鍵。

3.2 可靠性指標

根據相關的軟體測試與評估要求,可靠性可以細化為成熟性、穩定性、易恢復性等。對於軟體的可靠性評價主要採用定量評價方法。即選擇合適的可靠性度量因子(可靠性引數),然後分析可靠性資料而得到引數具體值,最後進行評價。

經過對軟體可靠性細化分解並參照研製任務書,可以得到軟體的可靠性度量因子(可靠性引數)。

a.可用度

可用度指軟體執行後在任一隨機時刻需要執行規定任務或完成規定功能時,軟體處於可使用狀態的概率。可用度是對應用軟體可靠性的綜合(即綜合各種執行環境以及完成各種任務和功能)度量。

b.初期故障率

初期故障率指軟體在初期故障期(一般以軟體交付給使用者後的三個月內為初期故障期)內單位時間的故障數。一般以每100小時的故障數為單位。可以用它來評價交付使用的軟體質量與**什麼時候軟體可靠性基本穩定。初期故障率的大小取決於軟體設計水平、檢查專案數、軟體規模、軟體除錯徹底與否等因素。

c.偶然故障率

指軟體在偶然故障期(一般以軟體交付給使用者後的四個月以後為偶然故障期)內單位時間的故障數。一般以每1000小時的故障數為單位,它反映了軟體處於穩定狀態下的質量。

d.平均失效前時間(mttf)

指軟體在失效前正常工作的平均統計時間。

e.平均失效間隔時間(mtbf)

指軟體在相繼兩次失效之間正常工作的平均統計時間。在實際使用時,mtbf通常是指當n很大時,系統第n次失效與第n+1次失效之間的平均統計時間。對於失效率為常數和系統恢復正常時間很短的情況下,mtbf與mttf幾乎是相等的。

國外一般民用軟體的mtbf大體在1000小時左右。對於可靠性要求高的軟體,則要求在1000~10000小時之間。

f.缺陷密度(fd)

指軟體單位源**中隱藏的缺陷數量。通常以每千行無註解源**為乙個單位。一般情況下,可以根據同類軟體系統的早期版本估計fd的具體值。如果沒有早期版本資訊,也可以按照通常的統計結果來估計。「典型的統計表明,在開發階段,平均每千行源**有50~60個缺陷,交付後平均每千行源**有15~18個缺陷」。

g.平均失效恢復時間(mttr)

指軟體失效後恢復正常工作所需的平均統計時間。對於軟體,其失效恢復時間為排除故障或系統重新啟動所用的時間,而不是對軟體本身進行修改的時間(因軟體已經固化在機器內,修改軟體勢必涉及重新固化問題,而這個過程的時間是無法確定的)。

3.3 易用性指標

易用性可以細化為易理解性、易學習性和易操作性等。這三個特徵主要是針對使用者而言的。對軟體的易用性評價主要採用定性評價方法。

a.易理解性

易理解性是與使用者認識軟體的邏輯概念及其應用範圍所花的努力有關的軟體屬性。該特徵要求軟體研製過程中形成的所有文件語言簡練、前後一致、易於理解以及語句無歧義。

b.易學習性

易學習性是與使用者為學習軟體應用(例如執行控制、輸入、輸出)所花的努力有關的軟體屬性。該特徵要求研製方提供的使用者文件(主要是《計算機系統操作員手冊》、《軟體使用者手冊》和《軟體程式設計師手冊》)內容詳細、結構清晰以及語言準確。

c.易操作性

易操作性是與使用者為操作和執行控制所花的努力有關的軟體屬性。該特徵要求軟體的人機介面友好、介面設計科學合理以及操作簡單等。

3.4 效率特徵指標

效率特徵可以細化成時間特徵和資源特徵。對軟體的效率特徵評價採用定量方法。效率特徵分解如圖2所示。

圖2 效率特性分解圖

a.輸出結果更新週期

輸出結果更新週期是軟體相鄰兩次輸出結果的間隔時間。為了整個系統能夠協調工作,軟體的輸出結果更新週期應該與系統的資訊更新週期相同。

b.處理時間

處理時間是軟體完成某項功能(輔助計算或輔助決策)所用的處理時間(注意:不應包含人機互動的時間)。

c.吞吐率

吞吐率是單位時間軟體的資訊處理能力(即各種目標的處理批數)。未來的社會情況複雜、資訊眾多,軟體必須具有處理海量資料的能力。吞吐率就是體現該能力的引數。隨著資訊的氾濫,要求軟體的吞吐率應該達到數百批。

d.**規模

**規模是軟體源程式的行數(不包括注釋),屬於軟體的靜態屬性。軟體的**規模過大不僅要占用過多的硬碟儲存空間,而且顯得程式不簡潔、結構不清晰,容易存在缺陷。

因為這些引數屬於軟體的內部表現,所以需要用專門的測試工具和特殊的途徑才可以獲得。將測試資料與研製任務書中的指標進行比較,得到的結果可以作為效率特徵評價的依據。

4 結束語

隨著計算機技術、資料融合技術、網路技術和通訊技術的飛速發展,對軟體功能提出的要求也越來越高,如何評估軟體質量已成為乙個迫切需要解決的課題。選擇合適的指標體系並使其量化是做好軟體質量評估的關鍵。當然,由於軟體的評估具有其特有的規範和要求,其評估指標涉及面廣、不確定性因素較多、量化困難,至今還沒有統一的標準。

我們相信,通過建立科學合理的軟體質量評估指標體系,充分考慮到軟體的特殊性,借鑑其他學科的質量評估理論,是可以全面真實客觀地評估軟體質量的。

參考書目:

[1] 吳柏鴻等:公共管理知識手冊 mpa全集.第一版, 管理出版社, 2001

[2] 鄭人傑 殷人昆 陶永雷:實用軟體工程.第一版, 清華大學出版社, 1997

[3] 軟體業iso9000質量體系的建立和認證

怎麼樣進行軟體質量評估

軟體質量是 軟體產品具有滿足規定的或隱含要求能力要求有關的特徵與特徵總和 根據軟體質量國家標準gb t8566 2001g,軟體質量評估通常從對軟體質量框架的分析開始。1.1 軟體質量框架模型 如圖1所示,軟體質量框架是乙個 質量特徵 質量子特徵 度量因子 的三層結構模型。在這個框架模型中,上層是面...

軟體質量評估模型

軟體質量評估模型大概分3個主要方向 1.需求的覆蓋度 需求的覆蓋度計算方法可以用測試用例覆蓋需求來計算,這裡的需求是從需求規格說明書裡提取的測試需求,每條測試需求要控制好一定的範圍,差不多2條用例覆蓋一條測試需求 1個正常用例,1個異常用例 一般要求需求覆蓋度要達到100 可以根據工具來計算這個需求...

軟體質量評估模型

軟體質量評估模型大概分3個主要方向 1.需求的覆蓋度 需求的覆蓋度計算方法可以用測試用例覆蓋需求來計算,這裡的需求是從需求規格說明書裡提取的測試需求,每條測試需求要控制好一定的範圍,差不多2條用例覆蓋一條測試需求 1個正常用例,1個異常用例 一般要求需求覆蓋度要達到100 可以根據工具來計算這個需求...