概要
学習目標
このレッスンを修了すると、以下の知識や技能が身につきます。
- mablのカバレッジ機能が動作する仕組み
- リンククローラーのプラン
- カバレッジの計算と指標の詳細
これが重要である理由
- カバレッジ機能を使用すると、アプリケーションのテストカバレッジを把握し、テストにおける潜在的なギャップを簡単に特定することができます。
定義
テストカバレッジ
テストカバレッジでは、アプリケーションの機能セットのうち、どの程度の部分がテストによって実行されているかを測定します。
作業の開始
テストカバレッジの場所
mablにログインするとすぐに、ホームページに [Test coverage] があるのがわかります。ここに表示されるカバレッジ率には、ワークスペース内のすべてのアプリケーションページのカバレッジが含まれています。
ホームページでカバレッジカードをクリックするか、左側のナビゲーションバーで [Coverage] ページをクリックすると、詳細ページが表示されます。詳細ページでは、個々のアプリケーションごとにカバレッジや指標を詳しく調べることができます。
リンククローラーの動作の仕組み
mablで設定した各アプリケーションでは、デフォルトの無料プラン「Check all pages for broken links and errors (すべてのページのリンク切れやエラーの有無をチェック)」が有効になり、毎日実行されます。プランには単一のテスト「Visit all linked pages within the app (アプリ内のすべてのリンク先ページにアクセス)」が含まれます。
テストはアプリケーションのベースURLから始まり、最初のハイパーリンクに移動してそのページにアクセスし、続いて表示されるハイパーリンクをたどって他のページにアクセスします。アプリケーション内のページを移動しながら、どのページにテストがヒットしているかを追跡します。その他に、テスト数、ステップ数、アサーション数、複雑さ、被リンクページ数、深さなどの情報が記録されます。
注: 特定のアプリケーションに資格情報を提供した場合、mablはその資格報を使用してサイトにログインします。mablには、デフォルトで自動ログインフローが含まれていますが、必要に応じて、テストをコピーしてカスタムログインフローを追加できます。具体的な方法については、こちらをご覧ください。
カバレッジ結果
リンククローラーの結果とアプリケーションに対するテストの結果から、カバレッジページに詳細が表示されます。
ゲージチャートには、テストカバレッジがあるページの割合が表示されます。ビジュアルチャートには、過去2週間にわたる1日あたりのカバレッジ数とアクセスしたURLの総数が表示されます。
mablは各ページにアクセスしながら、以下の測定値を含む情報を収集します。表示されるデータは、フィルタリングの対象となる時間枠 (2週間、1週間、3日、1日) に基づいています。
Performance: ページの読み込みにかかる平均速度の指標。
Tests: ページに対して実行される一意のテストの数
Steps: ページに対して実行される個別のテストステップの数。
Assertions: ページ上の個別のアサーションの数
Complexity: ページ上のインタラクティブ要素の数
Linked: このページにリンクしている個別のページの数
Users (*セグメント統合が有効になっている場合にのみ表示): ページにアクセスするユニークユーザーの1日あたりの平均数。
除外とURLクラスタリング
カバレッジメトリックにすべてのページを含める必要はありません。カバレッジメトリックを計算する際に無視すべきパスの除外を設定することができます。
mablでは、URLクラスタリングと呼ばれるこの賢い手法を使用して、ページの動的なURLをグループ化します。
多くのアプリケーションには、ランダムなIDが含まれる動的なURLと、類似したページを表す個別のURLがあります。個別のURLを分析し、同じタイプのページと思われるものを組み合わせます。
カバレッジページに反映される総ページ数とカバーされたページ数は、個別のURLではなく、クラスター化されたページ数に基づいて表示されます。
総ページ数を減らせば、カバレッジメトリックの全体をスクロールして内容を把握するのが容易になります。
カバレッジ情報の使用方法
推奨する方法:
- 包括的カバレッジが不足しているトラフィックの多いページを確認する。
- 使用頻度の高いURLを検索し、[Tests]、[Steps]、[Assertions] の各列を確認して、カバレッジが不足しているページを特定する。
参考情報:
セグメント統合を設定すれば、より注目すべきページを特定する際に曖昧な推量をなくすことができます。
セグメントは、ライブユーザーの行動を把握し、アプリケーションの各ページを操作しているユーザー数を簡単に追跡するのに役立ちます。セグメント統合を設定したら、[Users] 列を降順で並べ替えることで、トラフィックの多いページをすばやく特定できます。
アプリケーション内で被リンクページ数が多いページを確認します。[Linked] 列を降順で並べ替えて、追加のカバレッジが必要と思われるページを確認します。
パフォーマンスにも注意してください。[Performance] 列を降順で並べ替えることで、最近のテストで読み込みに時間がかかったページを特定できます。
mablを使用すると、カバレッジページから直接新しいテストを簡単に開始できます。
ページの行のどこかをクリックすると、このページにアクセスしている既存のテストを表示するウィンドウが開きます。
[NEW TEST] ボタンをクリックします。これで、新しいテストを作成することができます。
仕上げ
まとめ
カバレッジは、ユーザーとチームがアプリケーション全体のカバレッジを理解するのに役立ちます。同時に、重点を置くべきテスト領域について、情報に基づいて意思決定を行うための必要な知識が得られます。