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