成熟度模型
測試能力成熟度等級
| 特點
| KPA
|
混沌級
| 1、沒有專業測試團隊
| |
2、沒有建立測試需求和測試用例管理
|
初始級
| 1、建立了專業測試團隊
| 測試團隊
|
2、實現了需求、測試用例和測試執行的管理
| 需求管理
|
| 測試用例管理
|
| 測試執行管理
|
| 缺陷跟蹤
|
提高級
| 1、劃分了測試分析、測試設計和測試執行階段
| 測試需求分析
|
2、引入了測試分析和測試設計方法,保障了測試覆蓋度
| 測試用例設計
|
| 評審管理
|
| |
最佳化級
| 1、引入缺陷分析,發現軟體開發和測試過程中質量改進點,不斷最佳化流程
| 測試計畫
|
2、引入測試度量,使得測試過程可視化,達到量化管理目標
| 測試度量
|
| 缺陷分析
|
| |
初始級
TMM初始級軟體測試過程的特點是測試過程無序,有時甚至是混亂的,幾乎沒有妥善定義的。初始級中軟體的測試與調試常常被混為一談,軟體開發過程中缺乏測試資源,工具以及訓練有素的測試人員。初始級的軟體測試過程沒有定義成熟度目標。
定義級
TMM的定義級中,測試己具備基本的測試技術和方法,軟體的測試與調試己經明確地被區分開。這時,測試被定義為軟體生命周期中的一個階段,它緊隨在編碼階段之後。但在定義級中,測試計畫往往在編碼之後才得以制訂,這顯然有背於軟體工程的要求。
集成級
在集成級,測試不僅僅是跟隨在編碼階段之後的一個階段,它已被擴展成與軟體生命周期融為一體的一組已定義的活動。測試活動遵循軟體生命周期的V字模型。測試人員在需求分析階段便開始著手制訂測試計畫,並根據用戶或客戶需求建立測試目標,同時設計測試用例並制訂測試通過準則。在集成級上,應成立軟體測試組織,提供測試技術培訓,關鍵的測試活動應有相應的測試工具予以支持。在該測試成熟度等級上,沒有正式的評審程式,沒有建立質量過程和產品屬性的測試度量。集成級要實現4個成熟度目標,它們分別是:建立軟體測試組織,制訂技術培訓計畫,軟體全壽命周期測試,控制和監視測試過程。
I建立軟體測試組織
軟體測試的過程及質量對軟體產品質量有直接影響。由於測試往往是在時間緊,壓力大的情況下所完成的一系列複雜的活動,因此應由訓練有素的專業人員組成測試組。測試組要完成與測試有關的多種活動,包括負責制訂測試計畫,實施測試執行,記錄測試結果,制訂與測試有關的標準和測試度量,建立測試資料庫,測試重用,測試跟蹤以及測試評價等。建立軟體測試組織要實現4個子目標:
1)建立全組織範圍內的測試組,並得到上級管理層的領導和各方面的支持,包括經費支持。
2)定義測試組的作用和職責。
3)由訓練有素的人員組成測試組。
4)建立與用戶或客戶的聯繫,收集他們對測試的需求和建議。
II制訂技術培訓計畫
為高效率地完成好測試工作,測試人員必須經過適當的培訓。制訂技術培訓規劃有3個子目標:
1)制訂組織的培訓計畫,並在管理上提供包括經費在內的支持。
2)制訂培訓目標和具體的培訓計畫。
3)成立培訓組,配備相應的工具,設備和教材
III軟體全生命周期測試
提高測試成熟度和改善軟體產品質量都要求將測試工作與軟體生命周期中的各個階段聯繫起來。該目標有4個子目標:
1)將測試階段劃分為子階段,並與軟體生命周期的各階段相聯繫。
2)基於已定義的測試子階段,採用軟體生命周期V字模型。
3)制訂與淵試相關的工作產品的標準。
4)建立測試人員與開發人員共同工作的機制。這種機制有利於促進將測試活動集成於軟體生命周期中
IV控制和監視測試過程
為控制和監視測試過程,軟體組織需採取相應措施,如:制訂測試產品的標準,制訂與測試相關的偶發事件的處理預案,確定測試里程碑,確定評估測試效率的度量,建立測試日誌等。控制和監視測試過程有3個子目標:
1)制訂控制和監視測試過程的機制和政策。
2)定義,記錄並分配一組與測試過程相關的基本測量。
3)開發,記錄並文檔化一組糾偏措施和偶發事件處理預案,以備實際測試嚴重偏離計畫時使用。
在TMM的定義級,測試過程中引入計畫能力,在TMM的集成級,測試過程引入控制和監視活動。兩者均為測試過程提供了可見性,為測試過程持續進行提供保證。
管理和測量級
在管理和測量級,測試活動除測試被測程式外,還包括軟體生命周期中各個階段的評審,審查和追查,使測試活動涵蓋了軟體驗證和軟體確認活動。根據管理和測量級的要求,軟體工作產品以及與測試相關的工作產品,如測試計畫,測試設計和測試步驟都要經過評審。因為測試是一個可以量化並度量的過程。為了測量測試過程,測試人員應建立測試資料庫。收集和記錄各軟體工程項目中使用的測試用例,記錄缺陷並按缺陷的嚴重程度劃分等級。此外,所建立的測試規程應能夠支持軟體組終對測試過程的控制和測量。管理和測量級有3個要實現的成熟度目標:建立組織範圍內的評審程式,建立測試過程的測量程式和軟體質量評價。
I建立組織範圍內的評審程式
軟體組織應在軟體生命周期的各階段實施評審,以便儘早有效地識別,分類和消除軟體中的缺陷。建立評審程式有4個子目標:
1)管理層要制訂評審政策支持評審過程。
2)測試組和軟體質量保證組要確定並文檔化整個軟體生命周期中的評審目標,評審計畫,評審步驟以及評審記錄機制。
3)評審項由上層組織指定。通過培訓參加評審的人員,使他們理解和遵循相牢的評審政策,評審步驟。
II建立測試過程的測量程式
測試過程的測量程式是評價測試過程質量,改進測試過程的基礎,對監視和控制測試過程至關重要。測量包括測試進展,測試費用,軟體錯誤和缺陷數據以及產品淵量等。建立淵試測量程式有3個子目標:
1)定義組織範圍內的測試過程測量政策和目標。
2)制訂測試過程測量計畫。測量計畫中應給出收集,分析和套用測量數據的方法。
3)套用測量結果制訂測試過程改進計畫。
III軟體質量評價
軟體質量評價內容包括定義可測量的軟體質量屬性,定義評價軟體工作產品的質量目標等項工作。軟體質量評價有2個子目標:
1)管理層,測試組和軟體質量保證組要制訂與質量有關的政策,質量目標和軟體產品質量屬性。
2)測試過程應是結構化,己測量和己評價的,以保證達到質量目標。
最佳化,預防缺陷和質量控制級
由於本級的測試過程是可重複,已定義,已管理和己測量的,因此軟體組織能夠最佳化調整和持續改進測試過程。測試過程的管理為持續改進產品質量和過程質量提供指導,並提供必要的基礎設施。最佳化,預防缺陷和質量控制級有3個要實現的成熟度目標:
(I)套用過程數據預防缺陷。這時的軟體組織能夠記錄軟體缺陷,分析缺陷模式,識別錯誤根源,制訂防止缺陷再次發生的計畫,提供跟蹤這種活動的辦法,並將這些活動貫穿於全組織的各個項目中。套用過程數據預防缺陷有4個成熟度子目標:
1)成立缺陷預防組。
2)識別和記錄在軟體生命周期各階段引入的軟體缺陷和消除的缺陷。
3)建立缺陷原因分析機制,確定缺陷原因。
4)管理,開發和測試人員互相配合制訂缺陷預防計畫,防止已識別的缺陷再次發生。缺陷預防計畫要具有可跟蹤性。
(II)質量控制在本級,軟體組織通過採用統計採樣技術,測量組織的自信度,測量用戶對組織的信賴度以及設定軟體可靠性目標來推進測試過程。為了加強軟體質量控制,測試組和質量保證組要有負責質量的人員參加,他們應掌握能減少軟體缺陷和改進軟體質量的技術和工具。支持統計質量控制的子目標有:
1)軟體測試組和軟體質量保證組建立軟體產品的質量目標,如:產品的缺陷密度,組織的自信度以及可信賴度等。
2)測試管理者要將這些質量目標納入測試計畫中。
3)培訓測試組學習和使用統計學方法。
4)收集用戶需求以建立使用模型
(III)最佳化測試過程在測試成熟度的最高級,己能夠量化測試過程。這樣就可以依據量化結果來調整測試過程,不斷提高測試過程能力,並且軟體組織具有支持這種能力持續增長的基礎設施。基礎設施包括政策,標準,培訓,設備,工具以及組織結構等。最佳化測試過程包含:
1)識別需要改進的測試括動
3)跟蹤改進進程。
4)不斷評估所採用的與測試相關的新工具和新方法。
5)支持技術更新。
(IV)測試過程最佳化所需子成熟度目標包括:
1)建立測試過程改進組,監視測試過程並識別其需要改進的部分。
2)建立適當的機制以評估改進測試過程能力和測試成熟度的新工具和新技術。
3)持續評估測試過程的有效性,確定
測試終止準則。終止測試的準則要與質盤目標相聯繫。