TF 測試生命週期

使用 Trade Federation 執行的測試生命週期由四個獨立階段組成,這些階段是根據正式定義的介面設計而成。

已定義的介面

  • 建構供應器:提供要測試的版本,並視需要下載適當的檔案。
  • Target Preparer:準備測試環境,可能包括軟體安裝和裝置設定。
  • 測試:執行測試並收集測試結果。這可以是任何 JUnit 測試,不過我們的 IRemoteTest 介面專門設計用於在 Trade Federation 環境中順利運作。
  • 測試叫用事件監聽器 (結果回報):監聽測試結果,通常是為了將測試結果轉送至存放區,或顯示在測試執行工具中。

TF 中的基本測試實體是「設定」。設定檔是宣告測試生命週期元件的 XML 檔案。

將測試生命週期分開,是為了方便重複使用。採用這種設計後,開發人員可以建立一次測試,整合人員就能建立不同的設定,在不同環境中執行該測試。舉例來說,他們可以建立設定,在本機電腦上執行測試,並將結果轉儲至標準輸出。接著,他們可以建立第二個設定,執行相同的測試,但使用不同的測試叫用事件監聽器,將測試結果儲存在資料庫中。第三個設定可能會設計為從某處的測試實驗室持續執行測試。

在此處,我們要特別指出,設定和指令列引數 (由 Test Runner 提供) 稱為「指令」。當 TF 將指令與 ITestDevice 配對並執行時,後續物件稱為叫用。簡而言之,呼叫包含整個 TF 測試執行作業的整個生命週期。

其他設定元件

  • 裝置復原:在裝置通訊中斷時,復原裝置通訊的機制。
  • Logger:收集 tradefed 記錄資料。

階段輸出內容和錯誤

每次叫用都會依序執行各個階段,且各階段都有特定目標。本節將說明各階段的常見輸出內容和錯誤。

建構提供者

這個階段會建立並輸出 IBuildInfo 物件,其中包含設定及執行測試所需的所有檔案參照。

這個階段最常見的錯誤是無法下載或找到要求的檔案。

這個階段發生錯誤會直接回報錯誤,且不會執行任何測試。

目標準備

這個階段會為測試中的目標設定必要狀態。這個階段可視指定測試叫用作業的需要,變更裝置或主機設定。

這個階段常見的錯誤包括無法將裝置設定為特定狀態 (例如閃燈失敗),以及無法找到設定所需的檔案。

這個階段發生錯誤時,系統會執行目標清理作業、回報錯誤,且不會執行任何測試。

測試

這個階段會在先前準備好的目標上執行要求的測試,並回報所有測試執行結果。

這個階段的常見錯誤通常是測試目標無法使用,或是某些錯誤導致測試部分執行。這些錯誤是基礎架構問題,會影響測試執行作業本身,而非單一測試案例的失敗。

這個階段發生錯誤時,測試執行作業會停止,目標清理作業會執行,並回報錯誤及取得部分結果。

結果報表

這個階段會將結果和錯誤回報至已設定的服務 (例如伺服器和本機檔案)。

雖然個別結果回報器可能會發生錯誤,但這些錯誤彼此獨立 (一個回報器不會看到另一個回報器的錯誤)。這些錯誤只會影響個別檢舉者的結果回報,而且您可以在記錄檔中查看這些錯誤。