Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

VTS ダッシュボードの UI

VTS ダッシュボードでは、マテリアル デザインを使用してテスト結果、プロファイリング、カバレッジに関する情報をひとまとめにして効果的に表示するユーザー インターフェースを提供します。ダッシュボードの外観には、Google App Engine の Java サーブレットから配信されるデータを処理するために、Materialize CSS や jQueryUI などのオープンソースの JavaScript ライブラリを使用しています。

ダッシュボードのホーム

ダッシュボードのホームページには、お気に入りに追加されたテストスイートが表示されます。

図 1: VTS ダッシュボード、ホームページ

次の操作が可能です。

  • テストスイートを選択して、そのスイートの結果を表示する。
  • [SHOW ALL] をクリックして、すべての VTS テスト名を表示する。
  • 編集アイコンをクリックして、お気に入りリストを変更する。
    図 2: VTS ダッシュボード、お気に入りページの編集

テスト結果

[Test Results] には、プロファイリング ポイントのリスト、テストケースの結果を時系列で並べた表、最新の実行結果の内訳を示す円グラフなど、選択したテストスイートの最新情報が表示されます(右にページ移動して古いデータを読み込むことができます)。

図 3: VTS ダッシュボード、テスト結果

検索、またはテストタイプ(送信前、送信後、またはその両方)の変更により、データを絞り込むことができます。検索式では、一般的なトークンとフィールド固有の修飾子に対応しています。対応している検索フィールドは、デバイスビルド ID、ブランチ、ターゲット名、デバイス名、テストビルド ID です。フィールド識別子="検索式" の形式で指定します。引用符は、複数の単語を 1 つのトークンとして扱って、列内のデータと照合するために使用します。

データのプロファイリング

プロファイリング ポイントを選択して、そのポイントの定量的データを折れ線グラフまたはヒストグラムで対話的に表示できます(以下に例を示します)。デフォルトで最新の情報が表示されますが、日付選択ツールを使用して特定の期間を読み込むこともできます。

図 4: VTS ダッシュボード、パフォーマンスの折れ線グラフ

折れ線グラフは、順序付けられていないパフォーマンス値の集まりからのデータを表示します。パフォーマンス テストで、パフォーマンスの値が別の変数の関数として変化する場合に便利です(たとえば、スループットとメッセージ サイズなど)。

図 5: VTS ダッシュボード、パフォーマンスのヒストグラム

テスト カバレッジ

テスト結果のカバレッジ率のリンクからカバレッジ情報を表示できます。

図 6: VTS ダッシュボード、カバレッジ率

各テストケースとソースファイルを展開すると、次のように、選択されたテストでのカバレッジに対応した色でソースコードが表示されます。

図 7: VTS ダッシュボード、ソースコードのカバレッジ
  • 実行された行は、でハイライト表示されます。
  • 実行されなかった行は、でハイライト表示されます。
  • 実行できない行は、色付けされません

カバレッジ情報は、実行時の取得方法に従ってセクションに分類されます。テストでは、次のカバレッジをアップロードできます。

  • 関数ごと。セクション ヘッダーの形式は「Coverage: 関数名」です。
  • 合計(テスト実行の最後に取得)。「Coverage: All」というヘッダーのみです。

ダッシュボードは、オープンソースの Gerrit REST API を使用するサーバーから、クライアント側でソースコードを取得します。

モニタリングとテスト

VTS ダッシュボードには、次のモニタとユニットテストがあります。

  • テストのメールアラート。アラートは、2 分の固定間隔で実行される cron ジョブで設定されます。このジョブは、VTS ステータス テーブルを読み取り、各テーブルに新しいデータがアップロードされたかどうかを確認するために、テストの生データをアップロードしたときのタイムスタンプが、最後のステータス更新のタイムスタンプよりも新しいかどうかを判定します。アップロードのタイムスタンプの方が新しい場合、最後の生データのアップロードからその時点までにある新しいデータを照会します。新たなテストケースの失敗、継続的なテストケースの失敗、一時的なテストケースの失敗、テストケースの修正、非アクティブなテストが検出されます。この情報は各テストの登録者にメールで送信されます。
  • ウェブサービスの健全性。Google Stackdriver を Google App Engine に統合することにより、VTS ダッシュボードを簡単にモニタリングできるようにしています。単純な稼働時間チェックでページにアクセスできるかどうかを確認できますが、他のテストを作成して、各ページ、サーブレット、データベースのレイテンシを確認することもできます。このチェックにより、ダッシュボードが常にアクセス可能になっています(アクセス可能でなければ管理者に通知されます)。
  • 分析。ページ設定(pom.xml ファイル)で有効なアナリティクス ID を指定すると、VTS ダッシュボードのページを Google Cloud アナリティクスと統合できます。統合により、ページの使用状況、ユーザー操作、局所性、セッションの統計情報などに対して、より堅牢な分析を行うことが可能になります。