外形監視を正しく行う方法:外形テストでの結果の検証方法
Observability Mike Simon重要なポイント
- クリック数やページの読み込みだけでなく、ジャーニー全体の実際の結果を検証します。アサーションを通じて、アプリケーションが本当に期待どおりに動作しているかどうかを確認できます。
- アサーションによって、ユーザーが実際に利用する要素をチェックします。たとえば、検索結果、ログインの確認メッセージ、カートの内容などが考えられます。
- 適切な時点で実際の結果を検証できるようにアサーションを作成すれば、思い込みを防ぎ、ノイズを削減し、対応担当者に実用的なシグナルを提供できます。
多くの外形監視ツールでは、ページのタイムアウト、読み込みの失敗、400番台または500番台のエラーの発生時にアラートを生成できます。しかし、それだけでは足りません。外形監視をオブザーバビリティスタックでの信頼できるシグナルとして機能させるには、ページの読み込みだけでなく、操作の結果も検証する必要があります。
テストでアサーションを活用すれば、単にページが表示されたかどうかだけでなく、ワークフローが実際に成功したかどうかも確認できます。
この記事では、「外形監視を正しく行う方法」シリーズのベストプラクティス2「意味のある検証を行う」についてご説明します。
Splunkのブラウザ外形テストにおけるキーワード
本題に入る前に、この記事で登場する用語をいくつかご紹介します。
- ステップ:テストで実行する個々のアクションを指します。ボタンのクリック、テキストの入力、ページの読み込みなどがあります。
- トランザクション:いくつかのステップをまとめて、意味のあるワークフローを表したものです。ログインや決済などのワークフローがあります。
- アサーション:期待される結果が起きたかどうかを検証するための手順です。テキストが存在するかどうか、要素が表示されているかどうかなどを確認します。
これらの基本を踏まえて、アサーションがテストの中で果たす役割についてご説明します。
ブラウザ外形テストでアサーションが重要な理由
アサーションの語源である「assert」という英単語は通常、事実を自信を持って述べることを意味します。ブラウザ外形テストにおいては、アサーションは、期待される結果が起きたかどうかを検証するためにテストに追加する手順を指します。これは明示的なチェックです。
アサーションでは、ページ上のテキスト、要素、表示の状態などをチェックできます。エラーが発生しなかったかどうかも確認できます。つまりアサーションは、基本的なページ読み込みテストを超え、ワークフロー全体を検証するための本質的なチェックとして機能します。
例
- ログイン後→「ようこそ」ページが読み込まれ、ユーザーの名前が表示されることを確認する
- フォームの送信後→確認メッセージが表示されることを確認する
- 「会計」ボタンのクリック前→「カートに入れる」ボタンが表示されることを確認する
アサーションを利用しない場合、ページが読み込まれたかどうかという表面的なチェックしかできません。アサーションを活用すれば、ユーザーが期待する動作が実際に行われたという確信が得られます。
アサーションが重要な理由
多くのチームはナビゲーションのチェックにとどまっています(クリック→読み込み→成功/失敗)。この場合、以下の問題が起きる可能性があります。
- 機能が動作しなくてもテストに合格することがある(偽陰性)
- 関係のない理由でテストが不合格になることがある(偽陽性)
- 対応担当者がノイズの処理に追われて時間を無駄にする
- 実際に不具合が発生していても、顧客から問い合わせがあるまで気づかない
アサーションを利用すれば、これらの問題を回避できます。実際のビジネス成果につながる外形テストを行うことで、不合格になった結果を改善に活かすことができます。
実践:外形テストを強化するためのアサーションの作成方法
1. アサーションで確認すべき動作を検討する
すべてのステップにアサーションが必要なわけではありませんが、各トランザクションに少なくとも1つは含める必要があります。エンドユーザーの視点で「成功」の定義を考えましょう。
- ログイン:「概要」ページが表示され、ユーザー固有のデータが表示される
- カートに入れる:カートの中に商品が表示される
- レポート生成:ダッシュボードにレポート名が表示される
2. アサーションの対象を具体的に決める
どこにでも出現するような一般的な要素はアサーションの対象になりません。たとえば、Buttercup Retailという名前のオンライン店舗を運営している場合、「Buttercup」という単語は、ヘッダーやフッター、すべてのテンプレートに表示される可能性があります。この文字列が表示されることを確認しても、ログインが成功したことの証明にはなりません。
代わりに以下のような、期待される結果に固有の要素を対象にします。
- ログイン後のページに表示される「ようこそ、<ユーザー名>様」のメッセージ
- 注文番号の形式(「注文番号######」など)
- 処理の完了後にのみ表示される成功アイコンなどの要素
3. 適切なアサーションのタイプを選択する
Splunk Observability Cloudでは、複数のタイプのアサーションがサポートされます。いずれも結果の成否を確認するために利用できます。
重要ポイント:具体的で安定したアサーションを選びます。ページ内の複数の場所に表示される可能性のある一般的なテキストではなく、トランザクションの結果に固有の要素を対象にします。
Splunkの実行結果でのアサーション確認
Splunk Observability Cloudでは、アサーションが実行結果のフィルムストリップに直接、ウォーターマーク付きで表示されます。また、トランザクション、ページ、ステップ単位で再生をフィルタリングすることもできます。
これは、テストが不合格になった場合のトラブルシューティングで非常に役立ちます。
- ログインのアサーションが不合格だった場合:フィルタリングによってそのトランザクションだけを確認できるため、実行結果全体を探し回る手間を省くことができます。
- 「送信」ボタンのアサーションが不合格だった場合:そのページだけに表示を絞り込み、他の実行結果と比較できます。
- 同じトランザクションに複数のアサーションが含まれる場合:ウォーターマークによって、不合格になったアサーションを明確に区別できます。
ステップレベルの再生とアサーションのウォーターマークの組み合わせによって、テストの合否がわかるだけでなく、不合格になった原因と、調査を開始すべき正確な箇所も把握できます。
4. ステップの前後でアサーションを使用する
アサーションは、ログイン後の概要ページの表示確認など、事後チェックが目的だと思われがちです。それももちろん重要ですが、アサーションはステップ実行前にも使用できます。
-
事前検証(ステップ実行前):次のステップに進む前にページが適切な状態であることを確認します。
- 例:「カートに入れる」ボタンをクリックする前に、そのボタンが表示されていることを確認する
- 例:送金を実行する前に、口座残高の要素が存在することを確認する
-
事後検証(ステップ実行後):アクションが正常に実行され、期待どおりの結果が表示されることを確認します。
- 例:「送信」のクリック後に、確認ページが読み込まれ、確認番号が表示されることを確認する
- 例:ログイン後に、「ようこそ」メッセージが表示されることを確認する
5. アサーションをバックエンドサービスと関連付ける
アサーションを最大限に活用するには、UIだけでなく、基盤となるサービスの応答も検証します。
- APIがデータを返したことによって検索結果が表示されることを確認する
- 決済サービスが応答したことによって確認番号が生成されることを確認する
Splunkでは、外形監視のスパンとAPMのトレースがリンクされているため、アサーションが不合格になったときに、関連するバックエンドの呼び出しにドリルダウンして、トラブルシューティングを効率的に行うことができます。
始めましょう:アサーションで成果を向上
アサーションを使えば、テストを実行するだけでなく、テストの信頼性を高めることができます。適切な時点で実際の結果を検証すれば、思い込みを防ぎ、ノイズを削減し、対応担当者に実用的なシグナルを提供できます。
次のステップ:作成済みのブラウザ外形テストを1つ選んで見直してみましょう。そのテストはナビゲーションを確認しているだけでしょうか?それとも実際のビジネス成果を検証できているでしょうか?前後に有意義なアサーションを追加して、シグナルの実用性がどれだけ上がるかを確認してみてください。
トライアル版で試す:Splunk Observability Cloudの無料トライアル版を使って、成果重視のアサーションをテストに追加できます。ぜひご利用ください。
関連記事

プロセスマイニングの概要

Splunkを活用し、オブザーバビリティでのメトリクス、トレースなどの分析を実現
