CMMI為過程改進提供了足夠多的實踐指導,但是,它只闡述了該做什么,而沒有闡述該如何做,這一點也在MA中體現了出來。所以,在CMMI提供的要求和原則下,具體的度量和分析工作需要我們自己來定義。在此,我們引入GQM方法來保證度量元選取和細化的有效性。GQM(goal-question-metric)方法源于軟件行業,是一種系統地對軟件及其開發過程實施定量化的度量方法。GQM引入了目標驅動的度量概念,在軟件開發過程中已經取得了很好的效果。GQM的基本思想是:先確定一組目標:再針對各個目標,提出可能會遇到的問題,來定義這個目標;最后,針對每一個問題再給出一組測量方法,并用這一組測量方法測量出來的數據(度量元)就是對這個問題的回答。
GQM方法在實施過程中最重要的就是要保證G、Q、M之間問題轉化的完整性和匹配性。而對CMMI的一個單獨的過程域而言,可以這樣來描述:首先,對該過程域定義一個目的;然后,為了達到這個目的,給出了一系列的關鍵目標(包含特定目標和共性目標);最后,針對每一個目標,細分關鍵實踐來實現,而每個關鍵實踐又可再分為具體的子實踐。即是說,CMMI的過程域從定義到實踐是一個嚴格意義上的完整性和匹配性轉化。如果從每個過程域的角度來進行軟件測試過程的度量研究,那么就可以建立起CMMI模型與GQM方法的映射關系,如圖2所示。
上面的映射關系分為目的層、問題層和度量層,這樣,CMMI也是目標驅動的。由于GQM方法是一套已經被證明成功的度量元選取方法,所以在生成了CMMI到GQM的映射后,由CMMI導出度量元是可行的。將CMMI與GQM的映射關系定義為C—G模型,并將應用到C—G模型中的CMMI相關軟件測試過程域定義為STPA(software test process area),C-G模型和STPA為度量元選取和細化提供了理論依據。
CMMI不是專門為改進軟件測試過程而出現的,所以將STPA引入進入C—G模型中時,需要有一定的剪裁和適用的選取原則,才能保證度量元的有效性。本文從過程域、實踐、文檔、公共特性和相似結果5個方面,根據STPM,提出度量元的選取和細化遵循原則。
原則1 過程域剪裁。每個STPA都有幾個相關過程域,如果幾個STPA同時都包含一個確定的過程域,那么該過程域應該保留并合并;如果STPA涉及的相關過程域與軟件測試相關性不強,那么該過程域應該完全刪除不予考慮。這樣既可以保證STPA引申出來的軟件測試實踐的完整,又可以抓住STPA的核心。
原則2 實踐剪裁。CMMI面向的是整個軟件過程改進,所以在分析STPA時:①某些關注整個軟件過程的實踐,關注重點都要置換成軟件測試過程,并要以特定的測試輸入輸出作為基礎;②某些與軟件測試無關的實踐,或者是涉及到過程域的定義、維護以及審查等實踐,都可以被剪裁掉;③對某些零散的實踐,如果表示的都是同一個目標,那么應該將其合并;④對子實踐,如果直接度量元仍然無法確定,應允許再進行拆分。
原則3 文檔剪裁。每個STPA都包含了大量繁瑣的文檔,不利于管理和維護。因此,應該只保留與測試輸入輸出有關的計劃、規程、標準和報告等文檔,這也是將整個度量和分析過程開發成自動化系統時所期望得到的文檔數據。在保留的文檔中,還應該注意相關文檔的合并消除,降低文檔之間的冗余關系。
原則4 公共特性剪裁。每個STPA都有許多執行能力公共特性,這些內容在企業進行全面過程改進時或許有用,但是在進行軟件測試過程度量時,有些顯得無關和沒有必要。對此,可以采取以下3種方法:①納入到相關STPA中,例如人員、工具等資源的管理,可以在配置管理中統一度量;②直接作為該過程域的度量目標,例如過程狀態管理、維護,可以作為對測試過程本身的度量;③完全放棄,例如人員培訓、角色分配等。
原則5 相似結果的合并。通過對不同的STPA分析,可能會對軟件測試過程的某個屬性重復度量,這時就必須涉及到相似度量元的合并。主要原則有3點:①如果度量元完全重復,那么應該只保留一個;②如果度量元屬于同一度量目標,那么兩者都應該保留并歸為一類;③如果這個度量元是直接度量和間接度量的關系,那么應該將間接度量置于直接度量之下,并與該直接度量的其它間接度量進行合并。
文章來源于領測軟件測試網 http://www.kjueaiud.com/