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