Android 10 以前のベンダー テストスイート(VTS)とインフラストラクチャ

Android ベンダー テストスイート(VTS)は、Android のテストに幅広い新機能を提供し、テスト駆動開発プロセスを推進します。Android 開発コミュニティがテストデータを活用するために、Android には次のテストリソースが用意されています。

  • 動画チュートリアル: Android 9 と Android 8.1 における VTS および CTS-on-GSI の実行と開発に関する動画について説明しています。
  • VTS を使用したシステムテスト: VTS を使用して Android ネイティブ システムの実装をテストし、テスト環境をセットアップした後、VTS プランを使用してパッチをテストする方法を説明しています。
  • テスト フレームワーク: VTS テスト フレームワークの使用について詳しく説明しています。以下のものがあります。
    • デバイスシェル コマンド: デバイスシェル コマンドを使用して、ターゲット側のテストバイナリの実行、プロパティ、環境変数、システム情報の取得と設定、Android フレームワークの起動と停止を行う手順。
    • テスト テンプレート: VTS ランナーの BaseTest のホスト側 Python サブクラスとは別のテスト モジュール用テスト テンプレートの設定と使用に関する詳細。
    • サービス名認識型 HAL テスト: Android 9 でサポートされる、VTS を実行中のデバイスに基づいて特定の HAL インスタンスのサービス名を取得する機能の詳細。
    • HAL テスト可否チェック: Android 9 でサポートされる、実行時にデバイス設定を使用してデバイス ターゲットでスキップすべき VTS テストを特定する手段の詳細。
    • マルチデバイス テスト: 複数の Android デバイス間での通信が必要なテストを設定する手順。
    • デバッグ用 RAM ディスクを使用した VTS テスト: デバッグ用 RAM ディスクを使用して VTS を Generic System Image(GSI)で実行する方法。
  • VTS ダッシュボード: VTS の結果を表示するためのウェブベースのユーザー インターフェース。詳細は次のとおりです。
    • セットアップ: VTS ダッシュボードのセットアップと設定の手順。
    • データベース: 継続的インテグレーション ダッシュボードをサポートするスケーラブルなバックエンド。
    • ユーザー インターフェース: マテリアル デザインを使用して、テスト結果、プロファイリング、カバレッジに関する情報を効果的に表示する一貫性のあるユーザー インターフェース。
  • ラボのインフラストラクチャ: VTS、CTS、その他のテストを AOSP Generic System Image(GSI)が動作しているパートナーのデバイスで実行するための自動テスト インフラストラクチャのアーキテクチャについて説明しています。 ホスト コントローラが必要です。
  • binder と hwbinder のパフォーマンス テスト: スループットとレイテンシを測定するためのツールです。

詳しくは、Google Developers によって作成された Android VTS プロダクトの動画と、「Treble: Fast Software Updates by Creating an Equilibrium in an Active Software Ecosystem of Globally Distributed Stakeholders」(この記事は、ACM 会員は無料、会員以外は有料で閲覧できますが、要約は公開されています)をご覧ください。