銀行業務軟件測試評價研究
摘要:運用系統工程方法,結合銀行業務軟件的特點,為銀行業務軟件的測試建立指標體系,用層次分析法確定各指標的權重,并用可能-滿意度法計算各指標的滿意度,最后通過計算綜合滿意度對測試作出評價。
關鍵詞:銀行業務軟件 軟件測試評價
而眾多的軟件系統中,銀行業務軟件以其高復雜性、高安全性、高準確性、高效率性給軟件測試帶來了一系列難度,尤其是在測試評價方面,仍然停留在比較初級 的階段,常見的方法有缺陷走勢圖、缺陷嚴重程度分布圖等等。這些方法可以很清楚看出軟件缺陷的走向和分布情況,對于測試評價有一定幫助。但是這些方法存在 指標量化不夠,評價指標過于單一的缺點,重復操作性低,在實際使用中對進行測試結果評價的人員要求很高等問題,從而影響評價的效果。
本文運用系統工程方法為銀行業務軟件的測試建立指標體系,用層次分析法確定各指標的權重,并用可能-滿意度法計算各指標的滿意度,最后通過計算綜合滿意度對測試作出評價。
一、評價指標體系建立
要對軟件測試結果進行評價,軟件的行為特性,如可靠性、正確性、健壯性、可擴展性和性能等,是最基本的指標。但由于銀行業務軟件的行為特性比較抽象,難以量化,不能直接作為評價指標,必須對之建立量化的子指標。在實際測試中最容易量化的就是測試用例數、程序代碼行數、問題修改時間、程序響應時間和測試問題數以及數據量、交易量。
程序響應時間和數據量、交易量可以對程序性能作出評價,而問題數量及問題的修改時間則可以對程序的可靠性、健壯性、可擴展性、正確性進行很好的評價。不 同嚴重程度的問題對測試結果的影響是不一樣的,比如一般問題可能對程序正確性影響不大,而緊急問題卻可能導致程序無法運行從而對程序正確性造成嚴重影響。 所以對于程序正確性的評價必須區分一般問題、重要問題和緊急問題。
除了問題的嚴重程度外,一定測試階段內程序錯誤問題的新增數量、關閉數量和總數都是很好的評價指標。總數決定了問題發現是否充分;關閉數量反映了問題修改的速度;新增數量則很容易反映出問題修改的質量。
每一種數量還要區分絕對數量和相對數量。這是因為在一個100行的程序和一個10000行的程序之間直接比較問題個數是沒有意義的。相對數量是指某類問 題數占問題總數的百分比。還有估計相對數量是指某類問題數占估計問題總數的百分比。至于使用絕對數量還是使用相對數量作為評價指標,可視具體情況而定,或 者綜合考慮兩方面指標。
除了定出指標外,還需要為這些指標定義滿意度范圍,從而定義滿意度函數。這可以通過歷史數據統計和有經驗的專家估計來確定。
根據上述分析結果,結合銀行業務軟件的特點,將銀行業務軟件滿意度確定為評價的總體目標(O),將其可靠性、健壯性、可擴展性、正確性和性能定為一級指標(即準則層A),然后再進行分解細化,構造出一個評價指標目標樹。
1、正確性
程序的正確性可以用程序錯誤問題的數量及問題的處理時間來評價。
程序錯誤數量主要考慮測試期內新增數量、關閉數量和總數量。
問題處理時間是指程序錯誤類的問題從產生到關閉所花費的人力。由于問題的處理必須考慮到修改對象的復雜度,所以還需要評價平均修改時間,也就是處理時間/修改對象的復雜度(本文中采用代碼行數)。問題處理時間可以直接標準化后使用,也可以為其定義滿意范圍。
2、健壯性
健壯性是指在異常情況下,軟件能夠正常運行的能力。這一能力的評價在實際中難以量化,但可以通過對異常情況下,軟件不能正常運行的情況進行評價。所以對 于健壯性可以采用輸入錯誤、操作錯誤和環境錯誤的數量來衡量。由于銀行業務軟件對輸入數據的檢查在用戶需求中有明確的要求,所以輸入錯誤的情況統一歸入程 度錯誤而作為正確性的評價指標。那么評價程序健壯性的就剩下操作錯誤數量和環境錯誤數量兩個主要的指標。
3、可擴展性
程序的可擴展性主要體現在需求變更的處理上。需求變更包括對已有需求的改變和新需求。需求變更的影響范圍和需求變更的修改時間可以對程序的可擴展性進行 很好的評量。實際上需求變更的影響范圍也可以通過修改時間來衡量。那么對程序可擴展性進行評價的主要就是需求變更的平均修改時間。
4、可靠性
凡是測試出現問題(需求變更除外)都認為對程序的可靠性有影響,所以可靠性的評價指標主要就是除了需求變更外的所有問題的數量及問題的平均修改時間。
5、性能
對于性能的評價最主要的指標就是程序響應時間。程序響應時間的評價也必須區分絕對時間和相對時間。絕對時間就是指不考慮環境因素影響,而只考慮 程序本身執行的響應時間,比如對于聯機測試,程序響應時間控制在5秒以內。相對時間是指考慮環境因素影響,如本底數據量、并發交易量等,對程序響應時間做 相應的平均處理,比如單位本底數據量程序響應時間、單位并發交易量程序響應時間。
二、指標權重確定
本文采用層次分析法來確定各指標的權重。
1、判斷矩陣建立
組建專家團對目標樹同層次各項指標,按其在上一層指標中的重要性,進行兩兩間重要程度比較建立判斷矩陣:
2、相對重要程度的計算
由于測試評價不需要十分精確的權重計算,所以本文直接采取簡單易理解的求和法來計算各指標的相對重要程度。當然也可以直接借助現有的計算軟件來進行精確的計算。
首先將判斷矩陣按列歸一化:
然后按行求和:
最后再進行歸一化:
3、一致性檢驗
由于判斷矩陣的產生帶有很大主觀性,往往出現判斷的不一致。所以必須對判斷矩陣的一致性進行檢驗。
首先求取最大特征根:
計算一致性指標:和一致性比值:
如果 ,則該判斷矩陣的一致性是可以接受的。
三、滿意度計算
首先根據已經收集的測試數據對最底層指標計算滿意度。例如,針對聯機測試,評價性能的子指標響應時間的滿意范圍為[3,30]且滿意度遞減,那么這個指標的滿意度表示如下式:
經測試聯機交易的平均響應時間為5秒,用上式計算可得響應時間的滿意度為:
將同一層的各評價指標的滿意度計算加權和,得到上一層評價指標的滿意度數值。如果一個評價指標有子層評價指標,那么它的滿意度可以直接使用子層 評價指標的加權滿意度和,也可以對加權滿意度和再按此指標的滿意度表達式計算滿意度。例如對于指標聯機交易性能,其子層評價指標的加權滿意度和為0.9, 這個滿意度值可以直接反映到更上一層指標的滿意度中;如果為它定義滿意范圍為[0.5,1.0]且滿意度遞增,那么經計算后可得聯機交易性能的滿意度為 0.8。
滿意度的計算一直往上直到最終的目標層。
四、評價分析
經過滿意度計算后,評價指標樹中各層評價指標都會有其滿意度值。可以直接通過判斷目標層的滿意度,來判斷對本次測試的結果是否滿意。如果總體不滿意,則可以從上至下逐層檢查是哪些指標導致總體滿意度偏低。
五、總結
本文結合銀行業務軟件的特點,為銀行業務軟件測試評價建立評價指標體系,使用層次分析法計算各指標的權重,并用可能-滿意度法對測試結果進行評價。
本文所論述的測試只限于測試階段,其實按照W模型的思想,測試是貫穿整個軟件工程流程的,比如在需求分析階段就必須為系統測試作準備,在概要設 計階段就必須為集成測試作準備。而且測試不只是針對軟件進行,還包括每一階段的工作成果,如需求規格、設計規格等等。但由于對這些工作成果測試研究還不夠 成熟,在實際運用中可操作性不強。這方面理論和技術的發展將會使銀行業務軟件的測試更加完善和高效。