外形監視を正しく行う方法:外形テストでの結果の検証方法

Observability Mike Simon

重要なポイント

  • クリック数やページの読み込みだけでなく、ジャーニー全体の実際の結果を検証します。アサーションを通じて、アプリケーションが本当に期待どおりに動作しているかどうかを確認できます。
  • アサーションによって、ユーザーが実際に利用する要素をチェックします。たとえば、検索結果、ログインの確認メッセージ、カートの内容などが考えられます。
  • 適切な時点で実際の結果を検証できるようにアサーションを作成すれば、思い込みを防ぎ、ノイズを削減し、対応担当者に実用的なシグナルを提供できます。

多くの外形監視ツールでは、ページのタイムアウト、読み込みの失敗、400番台または500番台のエラーの発生時にアラートを生成できます。しかし、それだけでは足りません。外形監視をオブザーバビリティスタックでの信頼できるシグナルとして機能させるには、ページの読み込みだけでなく、操作の結果も検証する必要があります。

テストでアサーションを活用すれば、単にページが表示されたかどうかだけでなく、ワークフローが実際に成功したかどうかも確認できます。

この記事では、「外形監視を正しく行う方法」シリーズのベストプラクティス2「意味のある検証を行う」についてご説明します。

Splunkのブラウザ外形テストにおけるキーワード

本題に入る前に、この記事で登場する用語をいくつかご紹介します。

これらの基本を踏まえて、アサーションがテストの中で果たす役割についてご説明します。

ブラウザ外形テストでアサーションが重要な理由

アサーションの語源である「assert」という英単語は通常、事実を自信を持って述べることを意味します。ブラウザ外形テストにおいては、アサーションは、期待される結果が起きたかどうかを検証するためにテストに追加する手順を指します。これは明示的なチェックです。

アサーションでは、ページ上のテキスト、要素、表示の状態などをチェックできます。エラーが発生しなかったかどうかも確認できます。つまりアサーションは、基本的なページ読み込みテストを超え、ワークフロー全体を検証するための本質的なチェックとして機能します。

アサーションを利用しない場合、ページが読み込まれたかどうかという表面的なチェックしかできません。アサーションを活用すれば、ユーザーが期待する動作が実際に行われたという確信が得られます。

アサーションが重要な理由

多くのチームはナビゲーションのチェックにとどまっています(クリック→読み込み→成功/失敗)。この場合、以下の問題が起きる可能性があります。

アサーションを利用すれば、これらの問題を回避できます。実際のビジネス成果につながる外形テストを行うことで、不合格になった結果を改善に活かすことができます。

実践:外形テストを強化するためのアサーションの作成方法

1. アサーションで確認すべき動作を検討する

すべてのステップにアサーションが必要なわけではありませんが、各トランザクションに少なくとも1つは含める必要があります。エンドユーザーの視点で「成功」の定義を考えましょう。

2. アサーションの対象を具体的に決める

どこにでも出現するような一般的な要素はアサーションの対象になりません。たとえば、Buttercup Retailという名前のオンライン店舗を運営している場合、「Buttercup」という単語は、ヘッダーやフッター、すべてのテンプレートに表示される可能性があります。この文字列が表示されることを確認しても、ログインが成功したことの証明にはなりません。

代わりに以下のような、期待される結果に固有の要素を対象にします。

3. 適切なアサーションのタイプを選択する

Splunk Observability Cloudでは、複数のタイプのアサーションがサポートされます。いずれも結果の成否を確認するために利用できます。

アサーションのタイプ
説明
使用例
Text present / not present (テキストあり/なし)
ページに特定のテキストが表示されるかどうかを確認します
ログイン後に「ようこそ」メッセージが表示されることを確認する、「エラー」メッセージが表示されないことを確認する
Element present / not present (要素あり/なし)
特定のDOM要素が存在するかどうかを確認します
カートに商品を入れた後で「会計」ボタンが表示されることを確認する
Element visible / not visible (要素表示/非表示)
要素が操作可能である(非表示ではない)ことを確認します
「送信」ボタンが使用可能であることを確認する、読み込み中の回転アイコンが消えたことを確認する

重要ポイント:具体的で安定したアサーションを選びます。ページ内の複数の場所に表示される可能性のある一般的なテキストではなく、トランザクションの結果に固有の要素を対象にします。

Splunkの実行結果でのアサーション確認

Splunk Observability Cloudでは、アサーションが実行結果のフィルムストリップに直接、ウォーターマーク付きで表示されます。また、トランザクション、ページ、ステップ単位で再生をフィルタリングすることもできます。

これは、テストが不合格になった場合のトラブルシューティングで非常に役立ちます。

ステップレベルの再生とアサーションのウォーターマークの組み合わせによって、テストの合否がわかるだけでなく、不合格になった原因と、調査を開始すべき正確な箇所も把握できます。

重要ポイント:アサーションが不合格になったときのスクリーンショットまたは短いクリップをインシデントチケットやランブックに保存すれば、アラートの発生時にオンコール担当者がすばやくコンテキストを理解できます。

4. ステップの前後でアサーションを使用する

アサーションは、ログイン後の概要ページの表示確認など、事後チェックが目的だと思われがちです。それももちろん重要ですが、アサーションはステップ実行前にも使用できます。

重要ポイント:事前検証は、テストが不安定になるのを防ぐために特に役立ちます。操作しようとしている要素が実際には利用できない場合、煩わしいタイムアウトや誤解を招くようなエラーが発生するのではなく、明確な理由でテストが不合格になります。

5. アサーションをバックエンドサービスと関連付ける

アサーションを最大限に活用するには、UIだけでなく、基盤となるサービスの応答も検証します。

Splunkでは、外形監視のスパンとAPMのトレースがリンクされているため、アサーションが不合格になったときに、関連するバックエンドの呼び出しにドリルダウンして、トラブルシューティングを効率的に行うことができます。

始めましょう:アサーションで成果を向上

アサーションを使えば、テストを実行するだけでなく、テストの信頼性を高めることができます。適切な時点で実際の結果を検証すれば、思い込みを防ぎ、ノイズを削減し、対応担当者に実用的なシグナルを提供できます。

次のステップ:作成済みのブラウザ外形テストを1つ選んで見直してみましょう。そのテストはナビゲーションを確認しているだけでしょうか?それとも実際のビジネス成果を検証できているでしょうか?前後に有意義なアサーションを追加して、シグナルの実用性がどれだけ上がるかを確認してみてください。

トライアル版で試す:Splunk Observability Cloudの無料トライアル版を使って、成果重視のアサーションをテストに追加できます。ぜひご利用ください。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

プロセスマイニングの概要
オブザーバビリティ
12 分程度

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

このブログ記事では、プロセスマイニングの入門として、ベストプラクティスや戦略を紹介します。
Splunkを活用し、オブザーバビリティでのメトリクス、トレースなどの分析を実現
オブザーバビリティ
6 分程度

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

Splunkはログ分析の先を見据えています。Splunkのオブザーバビリティ製品を活用し、ログ分析の先にあるメトリクス、イベント、トレースの分析をどのように実現しているかをご紹介します。
マイクロサービスのロードバランシング:最新のアーキテクチャの活用
オブザーバビリティ
5 分程度

マイクロサービスのロードバランシング:最新のアーキテクチャの活用

このブログ記事では、マイクロサービスアーキテクチャにおけるロードバランシングの重要性について説明します。