第三章、應用 CMMI 驗證程序於 RUP 軟體測試流程
3.1 研究架構的建立
本研究以 CMMI 驗證流程領域為基礎,提出驗證作業程序,並以裁製後的 RUP 測試流程為例,當作驗證的對象,結果將以 UML 活動圖表達其互動關係,以及以 Zachman5W1H 表呈現資訊需求,接著將 5W1H 表中的 Who 和 How 進一步分析,結 果以使用案例圖及使用案例說明呈現,再進行實作以完成雛型系統,最後再試評 整個過程是否符合 CMMI 驗證流程領域的目標,另一方面,本研究也將在建置雛 型系統時,涵蓋軟體測試自動化工具的引介。
本章依緒第一章研究設計中研究步驟示意圖(圖 1.1),將其中應用驗證程序 於測試流程之概念展開列示如下:
提出符合CMMI驗證流程領域 目標的驗證程序
裁製RUP軟體測試流程
結合驗證流程於測試流程 (結果以5W1H表來表示)
圖 3.1 研究架構圖 資料來源:本研究整理
3.2 提出符合 CMMI 驗證流程領域目標的驗證程序
準備,執行同仁審查,以及驗證工作產品,將上述的 3 個特定目標相關活動串 接在一起即為 CMMI 驗證流程領域的概念圖:
驗證準備
執行同仁審查 驗證工作產品
是
是 是
圖 3.2 CMMI 驗證流程領域概念圖 資料來源:資策會,民 91
CMMI 驗證流程領域所要達到的特定目標(Specific Goals)共有 3 個,SG1(準備執 行驗證),SG2(執行同仁審查),以及 SG3(驗證工作產品)。首先,我們可以先在驗證準 備階段,設計一份驗證計畫書,此文件內容包括了 SG1 的 3 個特定方法,即選擇驗證項 目、驗證方法與驗證環境,並接著提出驗證準則(如表 3-1 所示),驗證準則中詳述驗證 時所須遵守的事項,填寫了這些文件,並進行相關的準備工作,等於就達到了 SG1,接 著,在執行驗證階段,依照驗證準備所產出的驗證計畫書執行驗證,並紀錄驗證的結果,
以達到了 SG3。而 SG2 這個部分,本研究依照軟體測試相關文件設計同仁審查表,並由 跨部門的聯席會議執行審查工作,如此以達到 SG2,底下為以 CMMI 驗證流程領域為基礎
資料來源:修改自資策會,民 91
準則 說明 適用範圍
完整性 測試文件範本是否能描述 測試時所須做到的事。
測試流程
功能性 驗證過程是否能確保系統 功能需求被實作。
測試流程
可行性 在現有的技術、人力、成本 及時程限制下,是可行的。
測試流程
遵循標準 遵循規定的文件標準及程 式測試標準。
測試流程
可靠性 檢查系統可靠性,例如在尖 峰負載下狀況長期使用系 統,或於不同的負載狀況下 分別使用系統一段時間。
測試流程
例外處理 檢查系統如何處理例外狀 況。
測試流程
安全性 檢查系統安全性,例如以非 經授權的使用者去存取資 料庫的資料,或使用不正確 的密碼進入系統等。
測試流程
圖 3.3 驗證流程圖 資料來源:本研究整理
3.3 裁製 RUP 軟體測試流程
RUP 測試工作流程詳述了測試的時候所需要做的事情,包括了 6 個工作流。黃鈺 峰先生提出的測試流程圖(黃鈺峰,民 91),將測試流程分為 4 個階段,依序為第一階段:
制定測試計畫、第二階段 : 制定測試設計、第三階段: 執行評估測試、第四階段 :驗收 測試、本研究為了減低 RUP 測試流程的複雜度,參考黃鈺峰先生的測試流程圖並加上第五
圖 3.4 RUP 裁製圖
資料來源:修改自 Rational Software Corporation, 2003 再將上述裁製後的結果加上相關的輸出入文件,如下所示:
定義需求規格
制定測試計畫
制定測試設計
執行評估測試
驗收'測試 是
是
是
輸入 : RFP 輸出 : SRS
輸入 : SRS 輸出 : STP
輸入 : SRS 輸出 : STD
輸入 : STD 輸出 : STR
輸入 :SysTD 輸出 :SysTR
圖 3 5 測試流程圖以及各個階段的工作產品 資料來源:修改自黃鈺峰,民 91
在測試流程圖中的每個階段的輸出即為驗證流程所需檢視的文件。
3.4 結合驗證流程於測試流程
本研究結合上述的 CMMI 驗證流程和裁製後的 RUP 測試流程,並配合實務運作,安 排結合後流程工作於工程部、品質部及兩者聯席會議中,以達到驗證測試流程的目的。
在測試流程中,工程部主要負責軟體文件包括軟體測試計畫書(Software Test Plan,
仁審查報告)、測試報告書同仁審查報告(STR 同仁審查報告)。我們以活動圖的方式,描 述各個部門所要作的活動有哪些,結果如圖 3.6 所示:
撰寫測試計 畫書
撰寫測試說 明書
驗收測試 開始進入測 試階段
執行評估測 試 撰寫軟體需
求規格書
專案驗證準 備
依照驗證計畫 書執行驗證
驗證程式
紀錄驗證結 果
執行同仁審 查 驗證文件
建立可再用 性資源
聯席 會議 品質 部
工程 部
為了可以更進一步的表示活動圖的各個階段工作人員及工作產物,本研究延續先前研 究歸納的需求分析思維模式(宋珍儀,民 90;朱明強,民 91)將驗證測試流程的支援系 統需求分析列示如表 3-1 所示。
表 3-2 5W1H 表
Why:如何針對軟體測試流程提供一個符合 CMMI 驗證流程領域目標之驗證具體措施
When How What Who where
專案開始 驗證準備 輸入:
驗證計畫書範本 驗證準則範本 輸出:
驗證計畫書 驗證準則
驗證人員 品質部
需求分析完成後 制定測試計畫 制定測試設計
輸入:
SRS,STP 範本,STD 範本 輸出:STP,STD
測試設計人員 工程部
需求分析完成後 (STP,STD 產出後)
執行同仁審查 輸入: 驗證計畫書 STP 同仁審查報告範本 STD 同仁審查報告範本 輸出:
STP 同仁審查報告 STD 同仁審查報告
驗證人員 測試設計人員
聯席會議
分析設計後 撰寫程式碼時,當 某個類別(class) 完成以後
執行單元測試 輸入: 某個類別的所有方 法(methods)
輸出: 測試畫面
程式設計師 工程部
分析設計後 撰寫程式碼時,
當某個系統功能完 成後
執行功能測試 輸入:某個單一功能 輸出:測試畫面
測試人員 工程部
分析設計階段後,撰 寫程式碼時,當系統 完成時
執行系統測試 輸入:應用系統佈署於系 統環境
輸出:報表
測試人員 工程部
系統完成後 (系統評估階段)
撰寫 STR 輸入:STD,STR 範本 輸出:STR
測試人員 工程部
執行同仁審查 輸入::
驗證計畫書
STR 同仁審查報告範本 輸出::
STR 同仁審查報告
驗證人員 測試人員
聯席會議
撰寫 SysTD 和 SysTR
輸入:SysTD ,SysTR 範本 輸出: SysTD ,SysTR
測試經理 工程部 系統完成後
(系統驗收階段)
驗收系統 輸入:SysTD 輸出:SysTR
使用者 使用者
專案完成後 建立可再用性資 源
驗證支援系統 自動化測試工具
驗證人員 測試相關人員
聯席會議
資料來源:本研究整理
這張表的分析結果可以協助軟體開發單位以 CMMI 驗證流程檢視測試流程的呈現,瞭 解針對軟體測試流程所提出的驗證作業支援系統的資訊需求為何,也藉此釐清軟體開發測 試及其驗證過程中各個部門所需負責的事情。