吳曉菲



摘要:隨著軟件技術的發展,軟件產品的規模和復雜程度越來越高,同時對軟件產品的質量要求也不斷提升。軟件測試在軟件工程中占有舉足輕重的位置,軟件測試是評估軟件產品質量的有效途徑。軟件產品質量的好壞可以從質量特性,如功能性、可靠性、易用性、效率、可維護性、可移植性等多方面進行評估。本文提出一種軟件質量評估體系,用于在軟件測試階段,以定量的方式對軟件系統質量進行評估。
關鍵字:軟件測試 質量評估 定量 質量特性
1 軟件測試
軟件測試廣義的概念指軟件生存周期中所有的檢查、評審和確認工作,其中包括了對需求分析、設計階段以及完成開發后維護階段的各類文檔、代碼、軟件的審查和確認。軟件測試是使用人工操作或者軟件自動運行的方式來檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別的過程。在完成所有軟件模塊的開發后,軟件會被交付給測試人員進行系統測試。系統測試包括功能測試、性能測試、安全性測試、兼容性測試等。當系統功能性測試階段已經基本完成,沒有嚴重性BUG遺留時,可進行性能測試、安全性測試和兼容性測試。軟件的質量評估是在軟件系統測試階段引入的。
2 軟件質量評估
軟件質量的好壞,即軟件是否實現了需求規格說明書提到的所有功能;軟件是否達到了系統的性能要求;軟件是否是健壯的,可抵御一般的安全性攻擊;軟件是否是適應用戶環境的等等。目前,軟件質量評估關注較多的質量特性包含功能性、可靠性、易用性、效率、可維護性、可移植性。功能性指標可細分為完備性和正確性;可靠性指標可細分為成熟性、穩定性、安全性、易恢復性;易用性指標可細分為易理解性、易操作性、易學習性;效率指標主要關注處理時間、吞吐率、代碼規模等;可維護性分為可恢復性和可改進性;可移植性可細分為:適應性、易安裝性、共存性、易替換性和依從性。
測試人員通過不同類型的測試(如功能、性能、安全、兼容性等)驗證系統是否符合對這些特性的要求。被測系統的質量特性與系統要求的符合程度,可作為軟件質量評估的參考。那么,如何評估軟件質量的整體數值呢?本文提出一種軟件質量評估方法,可定量的計算出軟件的質量度,用于評估軟件質量的好壞。
3 定量的軟件質量評估體系
3.1 確定輸入參數
將缺陷的嚴重程度劃分為四個等級,并量化為致命(10)、嚴重(5)、一般(3)和建議(1)。在軟件測試過程(包括功能測試、性能測試、安全測試等)中,發現的缺陷的數量為wNum,各缺陷對應的嚴重程度定義如下:
輸入數據一:軟件系統中的所有缺陷對應的嚴重程度。
DemageDegree:{dmi|i=l,2,…,wNum}
抽取重要的軟件質量特性,分別為功能性、可靠性、易用性、效率、可維護性、可移植行、其他,并為其分配權重。質量特性的數量為qNum。由于不同軟件系統對各質量特性要求不同,可根據各軟件系統的特點,為以上質量特性分配權重。軟件的質量特性權重如下:
輸入數據二:質量特性對應的權重。
QualityCharacterWeight: {qcj|i =i,2,…,qNum}
3.2軟件質量度評估方法
隨著軟件缺陷的增多,軟件的質量是逐漸下降的,為了定量的給出軟件的質量度,經過多次實驗比對,采用公式(l)進行質量度的計算。隨著缺陷數量的增加,軟件的質量是逐漸下降的,當所有缺陷的嚴重程度的總和值越多,軟件整體質量越來越低。由公式(1)可以看出,所有缺陷嚴重程度的和(即∑ wNum dmi)越大,軟件的質量度越低。之所以采用這種方法,是因為軟件質量變化趨勢與倒著的指數函數相似,如圖l所示,即缺陷越多、缺陷越嚴重,軟件質量越差,當缺陷多到一定程度,評估軟件質量也就失去了意義,因為軟件本身已經失去意義。
當測試人員沒有發現任何缺陷的時候,軟件的質量度最大,即α。但是根據測試的特點,窮舉測試是不可能的,并不存現“0”缺陷的系統。這里的質量度評估需要給出軟件的質量值,但是需要注意的是,當軟件質量度QualityDegree (QD)值最大值的時候,并不代表系統沒有缺陷,而是相比較而言,該系統的質量較高。其中α,β為影響軟件質量度總體趨勢的系數,可以通過調整該參數調節運算結果的精確度。可通過調整α,β參數,將QD的值調整到0-10之間。
軟件質量度QualityDegree (QD)計算方法如下:
n為質量特性qcj關聯的缺陷個數軟件質量特性評估體系用于在軟件系統測試階段中,對軟件系統質量的一個定量評估。可作為在某一輪全覆蓋測試后,對軟件質量的一個評估,使軟件項目經理可以對軟件質量的好壞有所衡量。通常,在系統測試完成時,由于系統交付的時間限制,系統還會遺留部分缺陷,通過此計算方法,可作為被測系統是否達到預期目標的一個依據。
4應用示例
對某一系統進行功能全覆蓋測試、性能測試、安全測試后,遺留嚴重缺陷3個、一般缺陷11個,建議缺陷5個(其中大部分缺陷已在前期的測試輪次修復)。該系統針對各質量特性的權重劃分如下:功能性0.3可靠性0.2、易用性0.1、效率0.2可維護性0.1可移植行0.05、其他0.05。不同系統對各質量特性的權重劃分不同,由于本系統部分關鍵功能并發量較大,故對效率要求較高,且存在敏感信息的存儲和傳輸,故對可靠性要求也相對較高。各質量特性和嚴重程度的缺陷分布如下表1所示。
5結束語
在軟件技術飛速發展的今天,對軟件質量的要求不斷提升,如何能夠定量的評定軟件的總體質量值是一個難點。本文提出一種定量的軟件值評估體系,在軟件系統測試階段,以系統遺留各缺陷的嚴重程度作為輸入,并為質量特性劃分權重,通過軟件質量度計算公式得出軟件整體的質量值。此質量評估體系可為軟件系統是否達到預期質量部門,以及后續的跟進和完善工作量提供參考依據。
參考文獻
[1]侯海霞,崔冬華.基于軟件測試技術的軟件質量保證研究[J].科技信息:科學教研,2008(13):58-58.
[2]夏雪飛,騰達,魏榮凱,基于計算機軟件開發中影響軟件質量的因素探討[J].電子技術與軟件工程,2013(23):8989.
[3]馬揚,計算機軟件測試方法研究[J],科技風,2015(10):96 96.L4lBoehm B W, Brown J R, Lipow M. Quantitative evaluationof software qualityECl// International Conference on SoftwareEngineering,1976.