哪些數據可以更好地監控測試執行進度

前段時間開展了“構建全方位的測試管理體系”公開課,課堂中和學員探討了如何對測試執行進度進行監控的問題。本文將討論的內容進行整理,供大家參考。

測試執行進度的監控,所謂的監控實際包含了兩層含義,“監”指的是監督Monitoring,簡單層面可以理解爲在測試過程中收集各種數據並進行分析,得到當前的測試狀態,而“控”指的是控制Control,當監督過程中收集與分析數據得到當前狀態,並與計劃中的目標進行比較,假如兩者之間的偏差超過了計劃中定義的管理閾值,此時就需要採取行動進行控制。

測試執行進度的監控,是爲測試目標服務的,例如:評估軟件版本是否可以及時發佈?當前的軟件產品質量如何等?本文主要從5個角度進行討論:

1、產品風險

2、測試Tests

3、缺陷

4、覆蓋率

5、信心

一、產品風險

測試過程中經常採用基於需求的測試策略和基於風險的測試策略,因此通過收集產品風險相關的信息,就可以幫助確定當前的測試執行進度狀態。假如採用基於風險的測試策略,那麼測試過程中會識別產品風險,然後通過測試分析與設計階段分別得到對應的測試條件和測試用例,假如在測試執行過程中發現缺陷,由於確保了測試的可追溯性(具體的可追溯性概念,可參考文章:測試過程中的可追溯性要求),因此就可以確定哪個風險得到了緩解,哪個風險變成了真實發生的事件。

從測試執行進度的角度,可以通過產品風險對應的測試用例狀態,進行定性和定量的剩餘風險分析,以確定是否滿足測試計劃中對風險的閾值要求。與產品風險相關的主要例子包括:

1)與產品風險關聯的測試用例執行通過的百分比,即哪些產品風險通過測試得到了緩解;

2)與產品風險關聯的測試用例執行失敗的百分比,即哪些產品風險沒有得到緩解,變成了需要採取行動的事件(剩餘風險的情況,可以參考下圖);

3)未完全測試的產品風險百分比;

4)按照風險級別劃分的覆蓋的風險百分比;

5)初次產品風險分析後再識別的產品風險百分比(用於判斷前期風險識別和分析的有效性);

二、測試Tests

測試Tests通常也是作爲測試執行進度監控的重要組成部分,也是出口準則定義中的重要考慮項,例如:要求執行的測試用例通過率必須達到95%。同樣的,通過“產品風險”中提到的可追溯性要求,不管是具體需求還是產品風險,最終會設計對應的測試用例進行覆蓋,根據其執行的實際狀態評估其是否實現或得到緩解。因此針對測試Tests也可以進行通過或失敗進行監控,同時,也經常會對執行情況進行分析。與測試Tests相關的主要例子包括:

1)不同狀態測試Tests的統計數據,例如:已計劃的、已實施的、已運行的、通過的、失敗的、無法執行的(被阻塞的)和不執行等;

2)迴歸測試和確認測試的狀態,包括未通過的迴歸測試和確認測試的趨勢;

3)計劃的測試周期與實際的測試周期;

下面分別是測試執行率和測試通過率的跟蹤數據的例子:

三、缺陷

根據發現的缺陷對測試執行進度進行監控,也是一個重要的手段。其相關的數據主要包括(下圖是兩個例子):

1)已發現的缺陷總數與已修復的缺陷總數的趨勢圖;

2)失效的平均時間間隔和失效出現率;

3)按不同缺陷分類的統計數據,例如:功能模塊或組件、缺陷發現和移除階段、優先級/嚴重程度、根本原因、拒絕或重複的報告等;

4)從報告缺陷到修復缺陷所花的時間趨勢;

四、覆蓋率

基於前面提到的可追溯性要求,我們就可以針對不同的對象進行覆蓋率的數據收集和分析,例如:

1)需求覆蓋率;

2)產品風險覆蓋率;

3)環境配置覆蓋率;

4)代碼覆蓋率;

五、信心

信心主要來自兩個層面,一方面可以參考前面4個維度的客觀的度量指標進行評估,而另一方面,可以來自負責該功能測試的測試人員的主觀判斷。

上面提到的5個維度,可以爲測試人員,特別是測試經理監控測試執行進度提供很好的視角。當然,具體採用的維度和數據,還是要根據測試周境進行調整,重要的是適合你的要求。另外,測試過程中數據收集和分析,必定要以大家對相關度量理解一致的基礎之上,以便大家可以同樣理解和報告當前的狀態。同時,根據測試級別的不同,所選擇的數據也會不一樣。這是在實際過程中需要注意的。記住:收集和分析數據都是爲你的目標服務,而不是爲了收集而收集。

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