天天看點

銀行業務軟體測試評價研究

   而衆多的軟體系統中,銀行業務軟體以其高複雜性、高安全性、高準确性、高效率性給軟體測試帶來了一系列難度,尤其是在測試評價方面,仍然停留在比較初級 的階段,常見的方法有缺陷走勢圖、缺陷嚴重程度分布圖等等。這些方法可以很清楚看出軟體缺陷的走向和分布情況,對于測試評價有一定幫助。但是這些方法存在 名額量化不夠,評價名額過于單一的缺點,重複操作性低,在實際使用中對進行測試結果評價的人員要求很高等問題,進而影響評價的效果。

  本文運用系統工程方法為銀行業務軟體的測試建立名額體系,用層次分析法确定各名額的權重,并用可能-滿意度法計算各名額的滿意度,最後通過計算綜合滿意度對測試作出評價。

  一、評價名額體系建立

   程式響應時間和資料量、交易量可以對程式性能作出評價,而問題數量及問題的修改時間則可以對程式的可靠性、健壯性、可擴充性、正确性進行很好的評價。不 同嚴重程度的問題對測試結果的影響是不一樣的,比如一般問題可能對程式正确性影響不大,而緊急問題卻可能導緻程式無法運作進而對程式正确性造成嚴重影響。 是以對于程式正确性的評價必須區分一般問題、重要問題和緊急問題。

  除了問題的嚴重程度外,一定測試階段内程式錯誤問題的新增數量、關閉數量和總數都是很好的評價名額。總數決定了問題發現是否充分;關閉數量反映了問題修改的速度;新增數量則很容易反映出問題修改的品質。

   每一種數量還要區分絕對數量和相對數量。這是因為在一個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模型的思想,測試是貫穿整個軟體工程流程的,比如在需求分析階段就必須為系統測試作準備,在概要設 計階段就必須為內建測試作準備。而且測試不隻是針對軟體進行,還包括每一階段的工作成果,如需求規格、設計規格等等。但由于對這些工作成果測試研究還不夠 成熟,在實際運用中可操作性不強。這方面理論和技術的發展将會使銀行業務軟體的測試更加完善和高效。

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀