VTS ダッシュボードの UI

VTS ダッシュボードは、マテリアル デザインを使用してテスト結果、プロファイリング、およびカバレッジに関する情報を効果的に表示する、一貫したユーザー インターフェイスを提供します。ダッシュボードのスタイル設定では、Materize CSS や jQueryUI などのオープンソースの Javascript ライブラリを使用して、Google App Engine の Java サーブレットによって配信されるデータを処理します。

ダッシュボードホーム

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

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

このリストから、ユーザーは次のことができます。

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

試験結果

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

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

ユーザーは、クエリを使用するか、テスト タイプ (送信前、送信後、またはその両方) を変更することによってデータをフィルタリングできます。検索クエリは、一般的なトークンとフィールド固有の修飾子をサポートします。サポートされている検索フィールドは、デバイス ビルド ID、ブランチ、ターゲット名、デバイス名、およびテスト ビルド ID です。これらは、 FIELD-ID =" SEARCH QUERY " の形式で指定します。引用符は、複数の単語を 1 つのトークンとして扱い、列内のデータと照合するために使用されます。

データプロファイリング

ユーザーはプロファイリング ポイントを選択して、そのポイントの定量的データを折れ線グラフまたはヒストグラムで対話的に表示できます (以下の例)。デフォルトでは、ビューには最新の情報が表示されます。ユーザーは日付ピッカーを使用して特定の時間枠をロードできます。

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

折れ線グラフは、順序付けされていないパフォーマンス値の集合からのデータを表示します。これは、パフォーマンスのテストで、別の変数 (スループット対メッセージ サイズなど) の関数として変化するパフォーマンス値のベクトルが生成される場合に役立ちます。

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

テストカバレッジ

ユーザーは、テスト結果のカバレッジ パーセントのリンクからカバレッジ情報を表示できます。

図 6. VTS ダッシュボード、カバレッジの割合。

各テスト ケースとソース ファイルについて、ユーザーは、選択したテストによって提供されるカバレッジに応じて、色分けされたソース コードを含む展開可能な要素を表示できます。

図 7. VTS ダッシュボード、カバレッジのソース コード。
  • カバーされていない行は赤色で強調表示されます。
  • 覆われた行は緑色で強調表示されます。
  • 実行不可能な行は色付けされていません。

カバレッジ情報は、実行時の提供方法に応じてセクションにグループ化されます。テストではカバレッジをアップロードする場合があります。

  • 機能ごと。セクションヘッダーの形式は「Coverage: FUNCTION-NAME 」です。
  • 合計(テスト実行の最後に提供されます)。ヘッダーは「Coverage: All」の 1 つだけです。

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

監視とテスト

VTS ダッシュボードは、次のモニターと単体テストを提供します。

  • 電子メール アラートをテストします。アラートは、2 分の固定間隔で実行される Cron ジョブで構成されます。ジョブは VTS ステータス テーブルを読み取り、新しいデータが各テーブルにアップロードされたかどうかを判断します。これは、テストの生データのアップロード タイムスタンプが最後のステータス更新タイムスタンプよりも新しいことを確認することによって行われます。アップロードのタイムスタンプが新しい場合、ジョブは現在から最後の生データのアップロードまでの間に新しいデータをクエリします。新しいテスト ケースの失敗、継続的なテスト ケースの失敗、一時的なテスト ケースの失敗、テスト ケースの修正、非アクティブなテストが決定されます。この情報は各テストの購読者に電子メール形式で送信されます。
  • Web サービスの健全性。 Google Stackdriver は Google App Engine と統合して、VTS ダッシュボードを簡単に監視できます。単純な稼働時間チェックではページにアクセスできるかどうかを確認し、他のテストを作成して各ページ、サーブレット、またはデータベースの待ち時間を確認できます。これらのチェックにより、ダッシュボードに常にアクセスできることが保証されます (アクセスできない場合は管理者に通知されます)。
  • 分析。ページ構成 (pom.xml ファイル) で有効な Analytics ID を指定することで、VTS ダッシュボード ページを Google Cloud Analytics と統合できます。統合により、ページの使用状況、ユーザー インタラクション、ローカリティ、セッション統計などのより堅牢な分析が提供されます。