|
第一級 初始級
TMM初始級軟件測試過程的特點是測試過程無序,有時甚至是混亂的,幾乎沒有妥善定義的。初始級中軟件的測試與調(diào)試常常被混為一談,軟件開發(fā)過程中缺乏測試資源,工具以及訓練有素的測試人員。初始級的軟件測試過程沒有定義成熟度目標。
第二級 定義級
TMM的定義級中,測試己具備基本的測試技術和方法,軟件的測試與調(diào)試己經(jīng)明確地被區(qū)分開。這時,測試被定義為軟件生命周期中的一個階段,它緊隨在編碼階段之后。但在定義級中,測試計劃往往在編碼之后才得以制訂,這顯然有背于軟件工程的要求。
TMM的定義級中需實現(xiàn)3個成熟度目標:制訂測試與調(diào)試目標,啟動測試計劃過程,制度化基本的測試技術和方法。
(I)制訂測試與調(diào)試目標
軟件組織必須消晰地區(qū)分軟件開發(fā)的測試過程與調(diào)試過程,識別各自的目標,任務和括動。正確區(qū)分這兩個過程是提高軟件組織測試能力的基礎。與調(diào)試工作不同,測試工作是一種有計劃的活動,可以進行管理和控制。這種管理和控制活動需要制訂相應的策略和政策,以確定和協(xié)調(diào)這兩個過程。
制訂測試與調(diào)試目標包含5個子成熟度目標:
1)分別形成測試組織和調(diào)試組織,并有經(jīng)費支持。
2)規(guī)劃并記錄測試目標。
3)規(guī)劃井記錄調(diào)試目標。
4)將測試和調(diào)試目標形成文檔,并分發(fā)至項目涉及的所有管理人員和開發(fā)人員。
5)將測試目標反映在測試計劃中。
(II)啟動測試計劃過程
制訂計劃是使一個過程可重復,可定義和可管理的基礎。測試計劃應包括測試目的,風險分析,測試策略以及測試設計規(guī)格說明和測試用例。此外,測試計劃還應說明如何分配測試資源,如何劃分單元測試,集成測試,系統(tǒng)測試和驗收測試的任務。啟動測試計劃過程包含5個子目標:
1)建立組織內(nèi)的測試計劃組織并予以經(jīng)費支持。
2)建立組織內(nèi)的測試計劃政策框架并予以管理上的支持。
3)開發(fā)測試計劃模板井分發(fā)至項目的管理者和開發(fā)者。
4)建立一種機制,使用戶需求成為測試計劃的依據(jù)之一。
5)評價,推薦和獲得基本的計劃工具并從管理上支持工具的使用。
(III)制度化基本的測試技術和方法?
為改進測試過程能力,組織中需應用基本的測試技術和方法,并說明何時和怎樣使用這些技術,方法和支持工具。將基本測試技術和方法制度化有2個子目標:
1)在組織范圍內(nèi)成立測試技術組,研究,評價和推薦基本的測試技術和測試方法,推薦支持這些技術與方法的基本工具。
2)制訂管理方針以保證在全組織范圍內(nèi)一致使用所推薦的技術和方法。
第三級 集成級
在集成級,測試不僅僅是跟隨在編碼階段之后的一個階段,它已被擴展成與軟件生命周期融為一體的一組已定義的活動。測試活動遵循軟件生命周期的V字模型。測試人員在需求分析階段便開始著手制訂測試計劃,并根據(jù)用戶或客戶需求建立測試目標,同時設計測試用例并制訂測試通過準則。在集成級上,應成立軟件測試組織,提供測試技術培訓,關鍵的測試活動應有相應的測試工具予以支持。在該測試成熟度等級上,沒有正式的評審程序,沒有建立質(zhì)量過程和產(chǎn)品屬性的測試度量。集成級要實現(xiàn)4個成熟度目標,它們分別是:建立軟件測試組織,制訂技術培訓計劃,軟件全壽命周期測試,控制和監(jiān)視測試過程。
(I)建立軟件測試組織
軟件測試的過程及質(zhì)量對軟件產(chǎn)品質(zhì)量有直接影響。由于測試往往是在時間緊,壓力大的情況下所完成的一系列復雜的活動,因此應由訓練有素的專業(yè)人員組成測試組。測試組要完成與測試有關的多種活動,包括負責制訂測試計劃,實施測試執(zhí)行,記錄測試結果,制訂與測試有關的標準和測試度量,建立鍘試數(shù)據(jù)庫,測試重用,測試跟蹤以及測試評價等。建立軟件測試組織要實現(xiàn)4個子目標:
1)建立全組織范圍內(nèi)的測試組,并得到上級管理層的領導和各方面的支持,包括經(jīng)費支持。
2)定義測試組的作用和職責。
3)由訓練有素的人員組成測試組。
4)建立與用戶或客戶的聯(lián)系,收集他們對測試的需求和建議。
(II)制訂技術培訓計劃
為高效率地完成好測試工作,測試人員必須經(jīng)過適當?shù)呐嘤枴V朴喖夹g培訓規(guī)劃有3個子目標:
1)制訂組織的培訓計劃,并在管理上提供包括經(jīng)費在內(nèi)的支持。
2)制訂培訓目標和具體的培訓計劃。
3)成立培訓組,配備相應的工具,設備和教材
(III)軟件全生命周期測試
提高測試成熟度和改善軟件產(chǎn)品質(zhì)量都要求將測試工作與軟件生命周期中的各個階段聯(lián)系起來。該目標有4個子目標:
1)將測試階段劃分為子階段,并與軟件生命周期的各階段相聯(lián)系。
2)基于已定義的測試子階段,采用軟件生命周期V字模型。
3)制訂與淵試相關的工作產(chǎn)品的標準。
4)建立測試人員與開發(fā)人員共同工作的機制。這種機制有利于促進將測試活動集成于軟件生命周期中
(IV)控制和監(jiān)視測試過程
為控制和監(jiān)視測試過程,軟件組織需采取相應措施,如:制訂測試產(chǎn)品的標準,制訂與測試相關的偶發(fā)事件的處理預案,確定測試里程碑,確定評估測試效率的度量,建立測試日志等??刂坪捅O(jiān)視測試過程有3個子目標:
1)制訂控制和監(jiān)視測試過程的機制和政策。
2)定義,記錄并分配一組與測試過程相關的基本測量。
3)開發(fā),記錄并文檔化一組糾偏措施和偶發(fā)事件處理預案,以備實際測試嚴重偏離計劃時使用。
在TMM的定義級,測試過程中引入計劃能力,在TMM的集成級,測試過程引入控制和監(jiān)視活動。兩者均為測試過程提供了可見性,為測試過程持續(xù)進行提供保證。
第四級 管理和測量級
在管理和測量級,測試活動除測試被測程序外,還包括軟件生命周期中各個階段的評審,審查和追查,使測試活動涵蓋了軟件驗證和軟件確認活動。根據(jù)管理和測量級的要求,軟件工作產(chǎn)品以及與測試相關的工作產(chǎn)品,如測試計劃,測試設計和測試步驟都要經(jīng)過評審。因為測試是一個可以量化并度量的過程。為了測量測試過程,測試人員應建立測試數(shù)據(jù)庫。收集和記錄各軟件工程項目中使用的測試用例,記錄缺陷并按缺陷的嚴重程度劃分等級。此外,所建立的測試規(guī)程應能夠支持軟件組終對測試過程的控制和測量。管理和測量級有3個要實現(xiàn)的成熟度目標:建立組織范圍內(nèi)的評審程序,建立測試過程的測量程序和軟件質(zhì)量評價。
(I)建立組織范圍內(nèi)的評審程序
軟件組織應在軟件生命周期的各階段實施評審,以便盡早有效地識別,分類和消除軟件中的缺陷。建立評審程序有4個子目標:
1)管理層要制訂評審政策支持評審過程。
2)測試組和軟件質(zhì)量保證組要確定并文檔化整個軟件生命周期中的評審目標,評審計劃,評審步驟以及評審記錄機制。
3)評審項由上層組織指定。通過培訓參加評審的人員,使他們理解和遵循相牢的評審政策,評審步驟。
(II)建立測試過程的測量程序
測試過程的側量程序是評價測試過程質(zhì)量,改進測試過程的基礎,對監(jiān)視和控制測試過程至關重要。測量包括測試進展,測試費用,軟件錯誤和缺陷數(shù)據(jù)以及產(chǎn)品淵量等。建立淵試測量程序有3個子目標:
1)定義組織范圍內(nèi)的測試過程測量政策和目標。
2)制訂測試過程測量計劃。測量計劃中應給出收集,分析和應用測量數(shù)據(jù)的方法。
3)應用測量結果制訂測試過程改進計劃。
(III)軟件質(zhì)量評價
軟件質(zhì)量評價內(nèi)容包括定義可測量的軟件質(zhì)量屬性,定義評價軟件工作產(chǎn)品的質(zhì)量目標等項工作。軟件質(zhì)量評價有2個子目標:
1)管理層,測試組和軟件質(zhì)量保證組要制訂與質(zhì)量有關的政策,質(zhì)量目標和軟件產(chǎn)品質(zhì)量屬性。
2)測試過程應是結構化,己測量和己評價的,以保證達到質(zhì)量目標。
第五級? 優(yōu)化,預防缺陷和質(zhì)量控制級
由于本級的測試過程是可重復,已定義,已管理和己測量的,因此軟件組織能夠優(yōu)化調(diào)整和持續(xù)改進測試過程。測試過程的管理為持續(xù)改進產(chǎn)品質(zhì)量和過程質(zhì)量提供指導,并提供必要的基礎設施。優(yōu)化,預防缺陷和質(zhì)量控制級有3個要實現(xiàn)的成熟度目標:
(I)應用過程數(shù)據(jù)預防缺陷。這時的軟件組織能夠記錄軟件缺陷,分析缺陷模式,識別錯誤根源,制訂防止缺陷再次發(fā)生的計劃,提供跟蹤這種括動的辦法,并將這些活動貫穿于全組織的各個項目中。應用過程數(shù)據(jù)預防缺陷有礴個成熟度子目標:
1)成立缺陷預防組。
2)識別和記錄在軟件生命周期各階段引入的軟件缺陷和消除的缺陷。
3)建立缺陷原因分析機制,確定缺陷原因。
4)管理,開發(fā)和測試人員互相配合制訂缺陷預防計劃,防止已識別的缺陷再次發(fā)生。缺陷預防計劃要具有可跟蹤性。
(II)質(zhì)量控制在本級,軟件組織通過采用統(tǒng)計采樣技術,測量組織的自信度,測量用戶對組織的信賴度以及設定軟件可靠性目標來推進測試過程。為了加強軟件質(zhì)量控制,測試組和質(zhì)量保證組要有負責質(zhì)量的人員參加,他們應掌握能減少軟件缺陷和改進軟件質(zhì)量的技術和工具。支持統(tǒng)計質(zhì)量控制的子目標有:?
1)軟件測試組和軟件質(zhì)量保證組建立軟件產(chǎn)品的質(zhì)量目標,如:產(chǎn)品的缺陷密度,組織的自信度以及可信賴度等。
2)測試管理者要將這些質(zhì)量目標納入測試計劃中。
3)培訓測試組學習和使用統(tǒng)計學方法。
4)收集用戶需求以建立使用模型
(III)優(yōu)化測試過程在測試成熟度的最高級,己能夠量化測試過程。這樣就可以依據(jù)量化結果來調(diào)整測試過程,不斷提高測試過程能力,并且軟件組織具有支持這種能力持續(xù)增長的基礎設施?;A設施包括政策,標準,培訓,設備,工具以及組織結構等。優(yōu)化測試過程包含:
1)識別需要改進的測試括動
2)實施改進。
3)跟蹤改進進程。
4)不斷評估所采用的與測試相關的新工具和新方法。
5)支持技術更新。
(IV)測試過程優(yōu)化所需子成熟度目標包括:
1)建立測試過程改進組,監(jiān)視測試過程并識別其需要改進的部分。
2)建立適當?shù)臋C制以評估改進測試過程能力和測試成熟度的新工具和新技術。
3)持續(xù)評估測試過程的有效性,確定測試終止準則。終止測試的準則要與質(zhì)盤目標相聯(lián)系。