プラットフォームの継続的なテストサービスにテストを統合するには、このページのガイドラインを遵守し、以下の推奨フローに沿って進める必要があります。
- シンプルなテスト構成の Soong ビルドシステムを使用します。
- テスト マッピングを使用すると、presubmit および postsubmit テストのルールを直接 Android ソースツリーに作成できます。
- Atest を使用してローカルでテストを実行します。
テストの種類
サポートされているテストの種類は次のとおりです。
- インストルメンテーション テストは、機能テストと指標テストの両方をサポートします。一般的なアプリのテスト ガイダンスについては、アプリのテストをご覧ください。
- GoogleTest(GTest)でサポートされるテストの種類は次のとおりです。
- GTest フレームワークを使用した機能 GTest
google-benchmark
を使用した指標テスト
- JUnit を使用した JAR ホストテスト
機能テストは、テストケースの合否のアサーションを行いますが、指標テストは繰り返し実行してタイミング指標を測定します。
標準化された入出力形式により、テストごとにカスタマイズされた結果解析と後処理が不要になり、規則に適合するすべてのテストに一般的なテストハーネスを使用できます。Android に付属の継続的なテスト フレームワークについては、Trade Federation の概要をご覧ください。
テストケースのガイドライン
継続的なテストサービスを介して実行されるテストケースは、密閉型である(つまり、テストですべての依存関係が宣言され、用意される)ことが求められます。この原理を理解するには、Google テストブログの密閉型サーバーをご覧ください。つまり、密閉型テストでは以下のような作業は一切必要ありません。
- Google アカウントへのログイン
- 接続の設定(電話 / Wi-Fi / Bluetooth / NFC)
- テスト パラメータの引き渡し
- 特定のテストケースのテストハーネスによるセットアップまたは破棄