基於風險的測試策略

1.爲什麼要基於風險的做測試

在測試過程中經常會遇,窮盡測試不可能,如何選擇測試重點?如何在有限的測試時間內完成測試?如何合理利用測試資源完成測試。通過採用基於風險的測試,平衡測試時間、成本、範圍與質量。

2.什麼是基於風險測試

RBT(Risk-Based Testing)即基於風險的測試,James Bach在《Heuristic Risk-Based Testing》中將基於風險的測試描述爲“列出一個風險的列表”,“進行考察每項風險的測試”,“當風險消失而新的風險出現的時候,調整測試計劃”。

3.基於風險的測試的實施過程

基於風險的測試是一種以軟件質量風險作爲測試出發點和測試活動主要參考依據的測試方法。通過對項目質量相關信息的收集與分析處理,可有效地識別與劃分、歸類不同的風險域,再結合對測試粒度、方法及實施人員能力等方面的認識對測試做出優化安排。主要過程包括項目範圍及風險識別,風險評級、基於風險的測試、風險閉環。

3.1風險及範圍識別

 風險識別目標是發現儘可能多的風險,以力求使得所有重要的風險都被識別。風險識別包括新老特性分析、風險基礎性預測、歷史運營數據分析等,並可以進行相關頭腦風暴會議、專家討論等。

新老特性分析:需要持續的針對業務情況進行分析,可以採用繼承性分析法。

歷史運營數據分析:主要通過線上反饋,對用戶特性特性、模塊穩定度、線上漏測率等進行分析。

除了以上內容,還需要對風險基礎性預測,如下圖

時間進度風險:用戶需求發生重大變更及設計計劃的大幅調整給測試帶來風險,導致測試時間、資金投入增加。

對產品認識的風險:對產品質量需求或產品特性理解不準確,造成測試範圍分析誤差,出現測試盲區或驗證標準錯誤。

質量目標風險:質量標準不是很清晰,如適用性測試、易用性測試等。

人員風險:測試開始後,相關測試人員因故不能及時到位。

測試環境的依賴性風險:特定測試環境不到位,包括真實環境及仿真環境。

測試充分性風險:測試用例設計不到位,忽視了部分邊界條件、深層次的邏輯、用戶場景等;部分軟件缺陷不易重現以及迴歸測試一般不運行全部測試用例,有選擇性地執行。

工具風險:能否及時準備相關測試工具,測試人員對新工具無法熟練運用等情況也時有發生。

通過對各項分析形成特性需求表,爲風險評估提供基礎保障。

3.2風險評估

風險評估針對測試範圍清單的每一項內容,進行度量和評估,包括風險概率、風險影響分析,並對風險進行綜合評估,以此制定出風險策略。

風險分析的第一步就是要進行特性失效的概率有多大,這個需要根據具體業務情況確定,在此不詳細敘述。

列出所有的特性後,針對每一個特性參考借鑑測試風險評估中測試特性故障影響評估的方法,根據調查統計、用戶信息收集、系統缺陷分析等信息來確定各特性的失效影響度。

與測試風險評估中不同,對於特性失效影響的主要依據是:用戶對特性功能的使用和關注程度(市場調研反饋,例如,局方人員績效考覈要素,用戶的使用投訴等)

具體的操作步驟如下:

步驟1: 確定失效影響定義級別(可參考表2中的故障影響級別定義)

步驟2: 確定特性的失效影響度

根據失效影響的級別定義給出各特性的初始失效影響度值以及分析依據填入失效影響度分析表中。參見表3,注:藍色部分爲填寫示例


步驟3:特性的失效影響度修正

在根據用例類型分析表(參見表4示例),明確系統所面向的不同的用戶類型以及和它們所對應的修正係數。

用戶類型:對於系統的操作使用較爲一致的一類用戶的集合。

特性範圍:該用戶類型所關注的特性集合。

使用概率修正:該用戶使用特性中的功能的可能性,用於修正使用概率分析的結果。

失效影響修正:該用戶對於特性能發生故障後的關注程度,用於修正故障影響分析的結果。

用戶類型用戶標識涉及特性使用概率修正失效影響修正評估依據

3.3基於風險的測試

在風險評估分析完成後,根據每個測試分析得出的風險分析進行測試設計、測試資源分配、詳細測試方案制定。在測試過程中需要對風險高的優先測試,風險高的覆蓋儘可能全,同時對風險持續評估、關注風險變化。

3.4風險閉環評估

測試完成後,根據測試的結果、測試數據度量分析我們的風險識別、風險分析及測試過程中存在的問題,予以風險警示,不斷進行過程改進。這個是基於風險測試中非常重要的一環,很多時候我們忘記了這個環節,導致後續測試中,出現重大線上問題。

基於風險的測試最重要的觀點是將軟件的潛在風險作爲測試安排的依據和目標。對當前潛在風險的全面分析和把握,纔能有效地設計並組織恰當的測試;用儘可能少的測試資源,發現儘可能多的潛在缺陷,最大限度規避潛在風險降低維護成本。

2019年連續32天修心 土司於北京

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章