王蕊



[摘 要]隨著信息化進程的不斷發展,軟件產品的應用范圍和需求越來越大,同時軟件產品的質量問題愈加被人們所關注。因此,本文將站在第三方軟件檢測機構的角度,結合現行國家標準和實際案例,對軟件產品的質量模型、質量度量和評價方法進行介紹。
[關鍵詞]軟件檢測;質量模型;質量度量;評價方法
doi:10.3969/j.issn.1673 - 0194.2017.04.046
[中圖分類號]TP311.5 [文獻標識碼]A [文章編號]1673-0194(2017)04-00-03
0 引 言
隨著信息技術的飛速發展,軟件應用已滲透到各個領域,軟件質量的檢測要求也日益提高。尤其是對涉及國防、金融、政務的軟件來說,能否穩定安全的運行是保障國計民生的關鍵。而對軟件產品質量進行客觀全面的度量和評價、不斷提高軟件產品的質量始終是計算機科學領域研究的重要方向之一。本文介紹了第三方軟件檢測機構常常涉及的《軟件工程 產品質量 質量模型》(GB/T 16260.1-2006)系列國家標準,并結合實際案例,介紹軟件質量模型以及如何對軟件質量進行度量和評估。
1 軟件質量模型
《軟件工程 產品質量 第1部分:質量模型》(GB/T 16260.1-2006)系列國家標準等同采用了最新的《Software engineering -Product quality - Part 1: Quality model》(ISO/IEC 9126-1:2001)系列標準。在本標準中,給出了軟件質量的通用模型。軟件質量分為外部質量、內部質量和使用質量,外部質量和內部質量的質量模型如圖1所示。這些特性和子特性基本涵蓋了軟件質量的各個方面。在第三方軟件檢測機構中,通常以此質量模型為基礎,對軟件產品本身進行檢測和度量評估。
軟件的使用質量是基于用戶觀點的軟件產品用于指定的環境和使用周境時的質量,使用質量的模型如圖2所示,為有效性、生產率、安全性、滿意度四個特性。它測量用戶在特定環境中能達到目標的程度,而不是測量軟件自身的屬性。用戶環境中的質量級別可能與開發者環境中的不同,因為不同用戶的要求和能力間存在著差別,以及不同硬件和支持環境間有差異。用戶僅評價那些用于其任務的軟件屬性。
2 軟件質量的度量方法
《軟件工程 產品質量 第1部分:質量模型》(GB/T 16260.1-2006)系列標準還提供了軟件質量的度量方法。其中《軟件工程 產品質量 第2部分:外部度量》(GB/T 16260.2-2006)定義了外部度量,《軟件工程 產品質量 第3部分:內部度量》(GB/T 16260.3-2006)定義了內部度量,《軟件工程 產品質量 第4部分:使用質量度量》(GB/T 16260.4-2006)定義了使用質量的度量。
圖2 使用質量的質量模型
外部度量用來測量包含該軟件的基于計算機系統的行為。外部質量的特性和子特性的度量,主要是測量標準中定義的6個質量特性的屬性。開發者、評價者、質量管理者和需方可以從本部分中選擇合適的度量,用來定義質量需求、評價軟件產品、測量質量情況或作其他用途,亦可以修改度量或使用本部分未包括的其他度量。另外《軟件工程 產品質量 第2部分:外部度量》(GB/T 16260.2-2006)標準中還列舉了一些可操作的度量元及度量實例。
內部度量用來測量軟件本身的功能,看其能否滿足規定和隱含的要求。在實際應用中,用戶可以使用《軟件工程 產品質量 第3部分:內部度量》(GB/T 16260.3-2006)標準中建議的度量元,也可以使用自己定義的度量元或度量方法。
使用質量的度量則測量軟件在某個特定使用周境中的使用效果,使用質量的度量是在真實的系統環境下進行的。《軟件工程 產品質量 第4部分:使用質量度量》(GB/T 16260.4-2006)標準中給出的各種度量既可以用來測量不同階段的軟件產品使用質量,也可以在產品開發的初始階段作為確認使用質量需求的指標。
3 軟件質量的度量案例介紹
以某單位ERP業務管理系統為例,在該項目中,客戶要求對軟件系統的外部質量的特性及其子特性進行檢測和度量,為此,筆者根據該項目的產品說明書、需求文檔、用戶使用手冊等,共設計199個測試用例,覆蓋了功能性、可靠性、易用性、效率、維護性和可移植性六個質量特性及客戶關心的相應子特性,共發現12個問題,其中S3級問題2個,S4級和S5級問題共10個。
軟件缺陷級別分類如下:
S1級是發現影響被測系統正確運行的嚴重問題,包括:
——導致系統崩潰; ——出現不可挽救的數據丟失或損壞;
——主業務流程出現斷點; ——導致死機;
——內存泄漏。
S2級是發現影響被測模塊正確運行的嚴重問題,包括:
——導致程序模塊丟失或未實現;——軟件錯誤導致數據丟失;
——被測數據處理錯誤; ——用戶需求未實現。
S3級是發現影響被測功能正確實現的問題。
S4級是一般性的錯誤或功能實現有不完善處。
S5級是建議性問題。
該項目的測試用例執行情況及缺陷分布情況見圖3和圖4。
該項目中,客戶關心的軟件質量特性和子特性,經過溝通討論,該單位制定的權重分布,可參見表1的權值列(質量特性權值ωi、子特性權值ωij、度量元權值ωijk)。根據《軟件工程產品質量第2部分:外部度量》(GB/T 16260.2-2006)標準中的度量表,結合測試用例及缺陷情況統計表,計算相應的度量值,將其百分化。把計算出來的數據,分別記入表1軟件外部質量度量評價結果中的度量值一列,然后從右向左,加權計數,最終得出外部質量的度量結果。
評分:確定度量結果的評分等級,即確定度量值落在哪一個范圍內以判定其質量等級。通常,根據度量結果,如果最終的度量值在90分及以上,該軟件外部質量為“通過”;70分(含)-90分,為“基本通過”;70分以下,為“不通過”。
4 結 語
軟件度量的目的是通過量化的分析和總結,幫助人們對軟件產品本身的質量有一個客觀系統的認知,然后采取相應措施,提高軟件產品質量,提高用戶滿意度和產品競爭力。從國內和國際進行軟件產品質量度量成功的案例來看,度量活動給組織和項目所帶來的收益也是遠遠超出預期的。隨著軟件企業開發過程能力成熟度水平和第三方軟件檢測機構檢驗能力的不斷提高,軟件質量的度量將會變得越來越受重視,最終為用戶提供可靠的、高質量的軟件產品。同時,本文幫助讀者了解和應用《軟件工程 產品質量 第1部分:質量模型》(GB/T 16260.1-2006)系列國家標準,希望能對軟件檢驗機構提供有益的指導。
主要參考文獻
[1]國家標準化管理委員會.軟件工程 產品質量 第1部分:質量模型(GB/T 16260.1-2006)[S].2006.
[2]國家標準化管理委員會.軟件工程 產品質量 第2部分:外部度量(GB/T 16260.2-2006)[S].2006.
[3] 國家標準化管理委員會.軟件工程 產品質量 第3部分:內部度量(GB/T 16260.3-2006)[S].2006.
[4]國家標準化管理委員會.軟件工程 產品質量 第4部分:使用質量度量(GB/T 16260.4-2006)[S].2006.
[5]國家標準化管理委員會.軟件工程 軟件產品質量要求與評價(SquaRE)商業現貨(COTS)軟件產品的質量要求和測試細則(GB/T 25000.51-2010)[S].2010.