為了成功完成反覆式測試工作,必須指定和維護適當的基礎架構。 缺乏以基礎架構來維護,測試工作會很快變得難以掌控和不能使用。 測試基礎架構很明顯與自動化測試工作有關,但也是手動測試工作的考量重點。
請考量系統的動態元素和事件;這些項目在個別測試的實作上有何相依性? 儘量切斷每個測試之間的相依性,利用一般的控制點來間接地管理。 一般可探索的相依性領域包括測試導覽、測試資料用法及系統狀態變更。
利用您已收集的資訊,考量什麼需求會主導測試基礎架構,以及需要什麼工具才能成為成功的測試方法。
子主題:
對於遵循的情境或程序,有些測試在執行時會有通用的結構,但對於不同的測試目標項目,仍然需要執行多次相同的程序。 以測試自動化為例,最好建立一般的測試 Script 或公用程式函數,
在許多不同的情況下重複使用,以有效率的方式來處理這些常見的測試情境。 需要改變測試情境時,這提供一個集中修改的位置。 例如,在適當類型的介面元素上進行標準界限測試,驗證 UI 元素是否遵守 UI 設計標準。
要在特定的測試環境配置下進行測試時,使用的測試資料值有可能發生衝突。 當多位測試團隊成員共用環境時,這個問題將更惡化。 請考慮採取資料驅動方法來切斷測試資料值和測試 Script 之間的關聯,並為測試資料提供一個集中收集和修改的位置。
這樣有兩個主要的好處;讓所有測試團隊成員看到測試資料,避免在測試資料用法上發生衝突, 且在需要更新測試資料時,有一個集中修改的位置。
大多數測試在執行前會要求系統必須處於一定的狀態,且在完成時應該讓系統恢復到特定的已知狀態。 一般的相依性會涉及安全性權限(函數或資料)、動態或依環境而定的資料(例如系統日期、序號、使用者 ID
偏好等)、資料有效期限(例如安全密碼、產品期限等). 有些測試彼此高度依賴;例如,一項測試可能建立唯一的序號,但隨後有一項測試可能需要分派相同的序號。
常見的解決方案是利用測試套組,以正確的系統狀態順序來排列相依的測試。 然後,可以利用適當的系統回復和設定公用程式來隔開測試套組。 對於自動化測試,有些解決方案可能會採用集中式的動態系統資料儲存體,並在測試 Script
內利用變數來參照集中的資訊。
測試有時需要從執行時期系統狀態的一或多個層面來計算或導出適當的資料值。 這適用於輸入和預期結果的測試資料值。請考量開發公用程式來計算求出的資料值,簡化測試執行並排除人為錯誤可能造成的不正確性。
可能的話,請開發這些公用程式在手動或自動化測試工作中使用。
對於測試自動化,您應該考量隔離一般導覽順序,並以集中的公用程式函數或測試 Script 來實作。 然後,在許多位置上就可以重複使用這些一般導覽順序,在後來需要變更導覽時有一個集中修改的位置。
這些一般的導覽輔助作法只是在應用程式中導覽;除了驗證起始狀態和結束狀態,本身通常不執行任何測試。
|