度量是改進過程的有效途徑之一。通過對測試過程的度量,可以使測試過程規范化、可視化;對度量數據的分析,可以測量出測試過程的有效性及存在的問題,明確測試過程的改進方向,從而保證軟件的質量。因此,對軟件測試過程的度量研究具有十分重要的意義。
CMMI與軟件測試
CMMI是美國卡耐基梅隆大學的軟件工程研究所針對軟件質量保證的核心—軟件過程改進所提出的,它是一個成功的、廣泛使用的過程改進模型。
眾所周知,軟件測試是軟件過程不可分割的一部分,所以CMMI實際上也為軟件測試過程改進提供了一系列的指導方針和關鍵原則。在CMMI連續表示中,驗證(VER)和確認(VAL)過程域緊密的與軟件測試聯系在一起;而諸如配置管理(CM)、風險分析(RSKM)、量化項目管理(QPM)等過程域也同樣包含了對測試過程改進的有力支持。
CMMI與度量
CMMI提供了度量和分析(MA)過程域,其目的是開發和維持用于支持管理信息需要的度量能力。MA實際包含了度量和分析兩個步驟,度量在前,是為獲得過程或產品的表征數據;分析在后,是對數據進行分析,發現不一致、發現趨勢和發現問題。
CMMI的度量和分析流程主要分為3個部分:計劃、收集和分析。在計劃階段,主要任務是度量目標的確定和目標的細化;在收集階段,主要任務是按數據采集和存儲規程進行數據的收集、數據完整檢查;在分析階段,主要任務是按分析規程進行數據分析、存儲數據和結果,以及報告結果。MA過程域定義嚴格,流程清楚,目標明確,可以用它來指導軟件測試過程的度量活動。
軟件測試過程
按照MA的指導,任何對過程的度量都是建立在清晰的過程定義上的,因此,必須對軟件測試過程有一個準確的定義。傳統的軟件測試過程包括:測試計劃、測試設計、測試開發和測試執行等階段,每個階段都有一系列的任務。但是傳統的軟件測試過程定義無論是從測試范圍還是測試工作方式上都存在著明顯的不足,不利于進行過程度量,而CMMI則對傳統的軟件測試過程進行了擴充。因此,我們提出了一個基于CMMI的軟件測試過程模型(software test process model,STPM),如圖1所示。
STPM有如下幾點改進:
(1)軟件測試不再只是對程序代碼的測試工作,而是包含了所有在軟件開發過程階段產出物的測試工作,這擴展了測試工作的范圍,更有利于發現軟件開發中的缺陷;
(2)測試過程與整個軟件開發過程是并行的,擴展了測試過程的工作方式;
(3)清晰的定義了過程的輸入輸出流,為整個過程的度量奠定了基礎;
(4)將測試的結果納入到了軟件開發的缺陷管理機制中,擴展了測試的作用。
度量目標
通過對STPM的分析,可以確定3類度量目標:①對測試產品的度量,這主要是對應STPM的輸入,包括需求規格說明、詳細設計說明、系統設計說明以及程序代碼等的度量;②對測試過程產品的度量,這主要是對應STPM的輸出,包括測試用例、測試報告等的度量;③對測試過程本身的度量,主要是對應STPM的執行狀態,包括時間狀態、環境狀態等的度量。
文章來源于領測軟件測試網 http://www.kjueaiud.com/