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