作業: 識別可測試性機制
這項作業說明如何指定技術解決方案的一般機制來輔助測試方法,以及如何略述這些機制的一般範圍和重要特性。
關係
步驟
檢查軟體架構和目標環境
目的:  瞭解軟體架構及與目標部署環境之間的關係。 

為了在適當的情境內執行這項作業,必須充分瞭解正在開發的軟體、架構及支援的重要機制和特性。 檢查軟體架構的文件來取得初步的瞭解,必要的話,與軟體架構師訪談或討論來彌補不足。 考量每一個目標部署環境對這項資訊可能產生的衝擊,並記下您認為與測試工作可能有關的任何重要發現。

指定測試所需的候選機制
目的:  指定測試方法需要的潛在測試機制。 

根據您對軟體架構和目標環境的瞭解,檢查測試方法所提供的資訊。 考量方法的重要技術層面,並收集一連串支援所需的候選機制。 這裡列出一部分您可以考量的常用機制:持續性、並行性、分佈、通訊、安全、交易管理、回復、錯誤偵測處理與報告,以及流程控制與同步化。

請注意,雖然手動或自動化測試可能有更為適當的特定機制,但手動和自動化測試工作通常會採用這些機制。 另外,請注意,即使手動和自動化測試工作需要相同的機制,但實作解決方案的性質通常不相同。

清點現有的測試機制
目的:  找出在候選的機制上重複使用現有實作的機會,並指出需要開發哪些額外的實作。 

檢查可用的測試工具及現有的測試實作,並將已有一或多種解決方案的機制做成一份庫存清單。 雖然此步驟很顯然與自動化測試工作有關,但手動測試工作上也有一些同等的考量。

子主題:

測試自動化機制 頁面頂端

一開始先收集一連串可取得或打算購買的工具。切記,自動化工作有許多執行方式,清單中的工具通常會比自動化測試實作和執行工具更多。 對於每一種工具,檢查工具提供的機制。例如,您打算使用的 Scripting 工具是否有自己的資料持續性機制,如果有的話,符合您的需求嗎?還是需要再補充? 其他可能的疑問包括:執行工具允許測試 Script 在多台主機用戶端機器上同時執行嗎? 執行工具允許 Script 從一部中央主控機器分送至多台主機用戶端機器嗎?

雖然有現有的測試自動化實作,但還有可考量的其他機制。 這些實作的某些層面會延伸或補充工具所提供的基本機制,提高實用性。 其他層面則為基本工具未提供的其他機制提供實作。

手動測試機制 頁面頂端

基本上,這需要審查測試實作和執行的現有測試準則。 關於並行性(測試人員如何共用資料集,尤其是現有的資料區,而不干擾彼此)、 分佈(如果測試團隊分散各處,有何解決方案可協調分散的測試工作)等議題,您應該尋找現有的流程解決方案。

定義您將使用的測試機制
目的:  表達在必要測試機制上所做的決策。 

現在已決定所需的測試機制,您必須向測試團隊及測試工作的其他關係人表達您的選擇。 建議您將自動化所需的測試機制的決策記錄在「測試自動化架構」文件中,將關於手動測試的決策記錄在「測試準則」中。

除了正式的文件以外,您可能選擇將這項資訊直接記錄在非正式的架構和流程附註上,並附上一些解釋圖型,可能只是留在白板上。 在測試實作和執行期間,個別的測試人員會利用這項資訊來制訂策略性決策。

對於必須內建於開發中軟體內的特殊測試介面,由於已指出潛在的需求, 您應該考慮建立一或多個概略的「測試介面規格」來記錄這項需求; 此概要應該提供名稱、簡要說明,並列舉主要的測試介面需求或特性。 請別將太多時間花在這些概要上;後續在作業:定義可追蹤性元素中會詳述需求和特性的清單。

評估及驗證結果
目的:  驗證作業已適當完成,並且產生可接受的工作成果。 

現在您已經完成工作了,這時最好驗證該項工作確實具有足夠的價值,而不只是花費在大量紙上作業。您應該評估您的工作是否具有適當的品質,並且該工作的完成狀態可以讓團隊的其他成員用作他們的後續工作之輸入。請盡可能使用 RUP 提供的檢查清單,來驗證品質和完成狀態都「夠好」。

請邀請執行下游作業而必須以您的工作成果作為輸入的人參與審查您的暫時性工作。請在您仍有時間採取動作來處理他們關心的問題時執行這個動作。您同時也應該將您的工作和關鍵的輸入工作成果做評估,以確定您已經正確且適當地重新呈現那些工作成果。 在這個基礎上,邀請輸入工作成果的作者審查您的工作,會有助於您評估您的工作成果。

請記得 RUP 是一項反覆式的交付程序,在許多情況下,工作成果都會隨著時間而演進。因此,通常並不需要(通常是缺乏生產力)對只會在緊跟在後的後續工作中用到一部分,或甚至於完全用不到的工作,做出完整的工作成果。這是因為和工作成果相關的狀況極可能會變動,因此在建立工作成果所做的假設狀況就變成不正確,導致浪費許多人力物力以及成本高昂的重做。同時也要避免浪費太多時間在呈現方式上,而導致損害內容本身的價值。在呈現方式佔極大的重要性,並且可以提交專案就具有商業價值的專案環境中,您可以考慮將呈現工作交給管理資源來做。



內容
多次出現的項目
事件驅動
持續進行中
選用
規劃
可重複的