ビジュアルアサーションは、自然言語プロンプトを使用してページまたはダウンロードしたファイルのコンテンツを検証します。ビジュアルアサーションは非決定論的な生成AIを使用するため、有効で信頼性の高い結果を得るために効果的なアサーションの説明を記述することが重要です。
この記事では、ビジュアルアサーションを作成およびテストする際に適用できるベストプラクティスを紹介します:
- 意図に焦点を当てる
- AIにどの程度厳密にするかを指示する
- 例を追加する
- いくつかの成功および失敗シナリオをテストする
お客様データの保護
mablの生成AI機能は、Google Cloudのエンタープライズ向けAIツールをベースに構築されています。mablおよびサービスパートナーであるGoogle Cloudは、これらのモデルのトレーニングにお客様のデータを使用することはありません。mablにおける生成AIの使用について懸念がある場合は、カスタマーサクセスマネージャーまでお問い合わせください。
意図に焦点を当てる
ビジュアルアサーションが期待通りに動作する可能性を高めるには、特定のデータではなく全体的な意図に焦点を当ててください。この戦略は、チャートやその他の複雑なビジュアルレイアウトを評価する際に特に役立ちます。たとえば、
「週次売上」チャートを分析してください。月曜日から金曜日にかけてデータバーが上昇傾向を示していること、およびエラーアイコンが表示されていないことをアサーションしてください。
AIにどの程度厳密にするかを指示する
適切なアサーションの説明は、過度に具体的にならずに十分に厳密です。
アサーションの説明が曖昧すぎると、実際には不具合や障害が発生しているにもかかわらず、テストが成功してしまう可能性があります。たとえば、「ページが読み込まれた」とアサートした場合、フォームの送信ボタンなど、ページの目的にとって重要なコンポーネントが実際には欠落していても、ページが重大なエラーなしで読み込まれるため、アサーションが成功してしまう可能性があります。
一方で、特定の条件が多すぎたり、複雑な組み合わせがあると、正しく評価することが難しくなる場合があります。必要に応じて、多くの異なるケースや条件を含む複雑なアサーションを、複数のビジュアルアサーションに分割してください。
並べ替えられたテーブル
テーブルがソートされていることを要求する場合、ビジュアルアサーションに使用されるモデルは「厳密な」昇順または降順に傾く傾向があります。テーブルに重複する値がある場合、アサーションは失敗します。この状況では、ソートに重複する値を含めることができることを指定する、より明示的なアサーション説明を記述する必要があります。
例を追加する
アサーションの説明の末尾に例を追加して、正確な内容に焦点を合わせてテストを行えるようにします。
- 「たとえば、アサーションは次のような場合に失敗する必要があります:…、…、または…。次のような場合には成功する必要があります:…、…、…」
- 「…のような…または…」
- 「…や…など」
いくつかの成功および失敗シナリオをテストする
生成AIは本質的に非決定論的であるため、ビジュアルアサーションの結果は変動する可能性があります。より信頼性の高いアサーションを構築するには、いくつかの成功および失敗のシナリオをテストし、結果が満足できない場合はアサーションの説明を繰り返し改善してください。
ページが日本語で表示されていることをアサートする必要があるとします。次の例は、結果に基づいてアサーションの説明を記述し直していく過程を示しています。
- アサーションの説明
-
「ページは日本語である必要があります。」
- 結果
-
「失敗 - ページのほとんどは日本語でしたが、「New」、「FRESH」、「latest」、「webhook」などの一部の単語が英語でした。」
アサーションの説明では例外が考慮されていなかったため、結果に返される英単語を除外するようにアサーションの説明を修正します:
- アサーションの説明
-
「NEW」、「FRESH」、「latest」、「webhook」を除き、ページが日本語であることを確認してください。
- 結果
-
「不合格 - ページのほとんどは日本語でしたが、「URL」など他の英語の頭字語がページ上にあります。」
このフィードバックを受けて、例外を英語で表示することを許可するカテゴリに一般化することにしました。
- アサーションの説明
-
ページが日本語であり、ブランド名、固有名詞、頭字語、一般的な日本語訳がない単語、および「NEW」のような短い一般的な英単語を含む小さなバッジ以外に英語のテキストが含まれていないことを確認してください。
- 結果
-
「PASS - 例外を除き、ページは日本語です。」
成功です!次に、翻訳されていない「submit」ボタンがあるページでアサーションをテストすることにしました。アサーションは失敗するはずですが、失敗しません。この失敗したシナリオの結果に基づいて、アサーションの説明を例を含めて再度更新します:
- アサーションの説明
-
ページが日本語であり、ブランド、名前、頭字語、一般的な日本語訳がない単語、および「NEW」のような短い一般的な英単語を含む小さなバッジ以外に、ボタン、リンク、または大きなテキストの塊が英語で表示されていないことを確認してください。アサーションを成功させるべき許可された英語の例:周囲のテキストとは異なる背景色の「latest」はバッジと見なされます。「Mt. Everest」、「John Doe」、「JavaScript」、「Pepsi」は翻訳が不要な名前やブランドです。「URL」、「API」、「E2E」、「webhook」は翻訳が不要な頭字語や単語です。アサーションを失敗させるべき英語の例:「Violation history」、「Submit」、「Cancel」、「OK」、「name」、「result」は、許可された英語の例外基準を満たしていないため、日本語に翻訳されるべき英単語やフレーズです。
- 結果
-
「失敗 - ページのほとんどは日本語ですが、ページ上のほとんどの英単語はアサーション条件に適合しています。ただし、ページにはアサーション条件に適合しない英単語「submit」を含むボタンがあります。」
成功です。アサーションは失敗します。これは求めていた結果です。アサーションの説明を記述し直し、成功および失敗シナリオでアサーションをテストすることで、テストの目標を達成するためのアサーションを作成できます。
ページを手動で編集する
ブラウザーテストで、失敗シナリオをシミュレートするには、Chrome DevToolsを使用してページを手動で更新できます。