Trade Federation を使用して実行されるテストのライフサイクルは、正式に定義されたインターフェースを中心に設計された 4 つの個別のステージで構成されます。
定義済みインターフェース
- ビルド プロバイダ: ビルドを提供し、必要に応じて適切なファイルをダウンロードします。
- ターゲット準備ツール: テスト環境を準備します。ソフトウェアのインストールとデバイスの設定を行う場合もあります。
- テスト: テストを実行し、テスト結果を収集します。これはなんらかの JUnit テストですが、IRemoteTest インターフェースは、特に Trade Federation 環境でうまく機能するように設計されています。
- テスト呼び出しリスナー: テスト結果をリッスンします。通常は、テスト結果をリポジトリに転送するかテストランナーに表示する目的で使用します。
TF の基本的なテスト エンティティは、構成(config)です。config は、テストのライフサイクル コンポーネントを宣言する XML ファイルです。
このようなテストのライフサイクルの分離は、再利用を目的としています。この設計により、開発者がテストを 1 つ作成すると、インテグレータはさまざまな構成を作成してさまざまな環境でそのテストを実行できます。たとえば、ローカルマシンでテストを実行して結果を stdout にダンプする構成を作成できます。次に、同じテストを実行する 2 つ目の構成を作成し、今度は別のテスト呼び出しリスナーを使用してテスト結果をデータベースに格納できます。3 つ目の構成は、テストラボのいずれかの場所から継続的にテストを実行するように設計できます。
ここで、構成とそのコマンドライン引数(テストランナーによって指定されます)を合わせてコマンドと呼ぶことに注意してください。さらに、TF がコマンドと ITestDevice
を組み合わせて実行する場合、後続のオブジェクトを呼び出しと呼びます。つまり、呼び出しは、ライフサイクル全体にわたる完全な TF テスト実行を包含する概念です。