概念: 自動化測試與工具
本準則討論可改進測試效率的工具類型。
關係
主要說明

市面上有愈來愈多的自動化測試工具可以自動化「測試」作業。雖然有許多自動化工具,但一個工具不太可能包辦所有測試作業的自動化。大多數工具僅適用於特定的作業或作業群組,何況有些只能解決一項作業的一個層面。

評估不同的自動化測試工具時,必須注意您評估的工具類型、工具的限制,以及此工具可解決和自動化的作業。通常會根據下列種類來評估和取得測試工具:

功能

測試工具可依執行的功能來分類。工具的一般功能稱呼包括:

  • 資料取得工具,取得用於測試作業的資料。資料可能透過轉換、解壓縮、轉化或擷取現有資料來取得,或經由產生使用案例或增補規格來取得。
  • 靜態測量工具,分析設計模型、程式碼或其他固定來源中的資訊。經過分析可得到邏輯流程、資料流程或品質測量值的資訊,例如複雜性、維護性或程式碼行數。
  • 動態測量工具,在程式碼執行期間執行分析。測量包括程式碼的執行時期運作情形,例如記憶體、錯誤偵測及效能。
  • 模擬器驅動程式,執行因為時間、費用或安全性等理由而無法用於測試的作業。
  • 測試管理工具,輔助規劃、設計、實作、執行、評估及管理測試作業或工作成果。

白箱與黑箱

根據工具用途或工具所需的技術和知識,測試工具通常有白箱或黑箱的分別。

  • 白箱工具有賴於瞭解程式碼、設計模型或其他來源資料來實作和執行測試。
  • 黑箱工具只依賴測試目標的使用案例或功能性描述。

白箱工具瞭解測試目標如何處理要求,黑箱工具仰賴輸入及輸出條件來評估測試。

專業領域

除了上述廣泛的工具分類,工具也可以依照專業領域來分類。

  • 記錄和重播工具結合資料取得與動態測量。在記錄事件時(稱為測試實作)取得測試資料。稍後在執行測試時,就利用資料來重播測試 Script,透過 Script 來評估測試目標的執行表現。
  • 品質度量工具是靜態的測量工具,可執行設計模型或程式碼的靜態分析,產生一組參數來描述測試目標的品質。參數可能指出可靠性、複雜性、維護性或其他品質測量基準值。
  • 涵蓋率監督工具在測試期間,針對某些層面指出涵蓋多少測試目標,以表示測試的完整性。一般的涵蓋率種類包括使用案例(以需求為基礎)、邏輯分支或節點(以程式碼為基礎)、資料狀態及功能點。
  • 測試案例產生器可自動產生測試資料。測試案例產生器利用測試目標的正規資料輸入,或設計模型和程式碼,藉此產生測試資料,以測試標稱輸入、錯誤輸入及限制和界限案例。
  • 比對工具會比較測試結果和參考結果,並指出差異。比對工具對於特定資料格式的認知不同。例如,比對器可能以像素來比較點陣圖,或依據物件來比較物件內容或資料。
  • 資料擷取器從現有的來源取得測試案例的資料,包括資料庫、通訊系統中的資料串流、報告,或設計模型和程式碼。