はじめに
こんにちは、mabl ソリューションエンジニアの舟木 将彦(ふなき まさひこ)です。
私はmabl入社以前、CircleCIでDeveloper Advocateとして、ビルド、テスト、リリース、デプロイといったDevOpsの「自動化」をご紹介してきました。
近年、生成AI(LLM)の出現により、従来は「自動化」の範囲から外れていたデザインやコード作成の領域にも、その波が急速に押し寄せています。この変革の波は「テスト」も例外ではありません。
本ブログでは、DevOpsの自動化に携ってきた視点も交えつつ、生成AIを活用してテストを「より賢く」「より生産性高く」「より品質高く」進めるためのmabl活用術をご紹介していきます。
(ここから本題)
皆さん、E2Eテストでこんな悩みはありませんか?
- 「
id="price"のテキストが"¥5,000"であること」は検証した。でも、 CSSが崩壊して価格がボタンに重なって いてもテストはパスしてしまう。 - 「
imgタグのsrcが存在すること」は検証した。でも、 文脈に全く合わない画像 が表示されていてもテストはパスしてしまう。 - 個々の要素はすべて正しく表示されている。でも、ページ全体として 「なんだか使いにくい」。
従来のテスト自動化におけるアサーション(検証)は、その多くが 「点」 の検証でした。特定の要素が、特定の期待値と「文字列マッチング」するかどうかを確かめるものです。
この 「点」 の検証は、機能のデグレードを防ぐ上で非常に重要です。しかし、それだけではユーザー体験(UX)に関わる「レイアウト崩れ」「文脈の妥当性」「全体的な使いやすさ」といった品質を見逃してしまいます。
この記事では、mablの 「生成AIアサーション」 機能が、この課題をどう解決するかを紹介します。これは、テストのパラダイムを「点」から 「面」 へと拡張し、これまで自動化が難しかった 定性的な品質 まで踏み込むための強力な武器です。
mabl「生成AIアサーション」とは?
一言で言えば、 「自然言語のプロンプト(指示文)を使って、UIの特定領域(面)の文脈的な妥当性を検証できる機能」 です。
mabl Trainer上で検証したい範囲を選択し、AIに対して「こうなっていてほしい」という指示を日本語や英語で書くだけです。
よくある誤解は「AIが画像を認識して、画像そのものを検証する機能」というものですが、本質はそこだけではありません。AIは指定された要素やページ全体の内容を複合的に解釈し、テキスト、レイアウト、画像の組み合わせ、そしてそれらが持つ 「意味」や「文脈」 を総合的に評価します。
これにより、私たちは「点の文字列マッチング」の呪縛から解放され、「面としての妥当性」を検証できるようになるのです。
このアサーションの最大の特徴は、従来のセレクター(XPathやCSSセレクター)ベースのテストと異なり、DOM構造の詳細に依存しない点です。AIは人間のように 「見た目」 から文脈を判断するため、リファクタリングによるDOMの変更や、デザインのマイナーチェンジに対しても非常に堅牢(ロバスト)です。
詳細な機能概要や、具体的なアサーションの作成手順については、mablの日本語ヘルプもご参照ください。
- mabl ヘルプ: 生成AIによるアサーション
- mabl ヘルプ: 生成AIによるアサーションの作成
企業利用でも安心なセキュリティとデータプライバシー
企業で生成AIを利用する際、「入力したプロンプトや、テスト対象の画面情報がAIモデルのトレーニングに使われてしまうのではないか」というセキュリティやプライバシーに関する懸念は非常に重要です。
mablの生成AI機能は、 Google CloudのエンタープライズAIツール(Gemini) の上で構築されています。
mablがGoogleに送信するお客様のデータ(指定したプロンプトや、プロンプトを解釈するために使用されるテスト対象ページの情報)が、 Googleによっても、mablによっても、AIモデルのトレーニングに使用されることは一切ありません。
このため、機密情報を含む内部向けアプリケーションのテストにも安心してご利用いただけます。

効果的なプロンプトの書き方や、機能の仕組みに関する詳細は、ベストプラクティスのドキュメントもご覧ください。
- mabl ヘルプ: 生成AIによるアサーションのベストプラクティス
実践!「面」で検証するユースケース
「面」での検証とは具体的にどういうことか、検証する「面」の大きさ別にユースケースを紹介します。
レベル1:コンポーネントレベルの「整合性」検証
まずは、複数の要素で構成される一つのコンポーネント(部品)という「面」の検証です。
ユースケース:株価チャートと数値データの整合性
-
課題: 株価の「始値、高値、安値」といった数値データと、チャート(グラフ)の視覚的表現が一致しているか。
-
「点」の検証の限界:
- 数値(
"リアルタイム株価: 985.6")が日本円での株価の表記として妥当であることは検証できます。 - グラフ(
<canvas>)が 表示されていること は検証できます。 - しかし、グラフの「形」が、前日の終値から今日の始値、現在の株価に至る数値と一致しているかは、従来のテストでは検証できません。
- 数値(
-
「面」の検証プロンプト例:
表示中の今日一日の株価の推移を示すグラフから読み取れる値が、表示されているリアルタイム株価, 前日終値, 始値, 高値, 安値と一致しているか検証し、日本語で結果を通知。
レベル2:「一覧」としての「妥当性」を検証する
次に、検索結果や商品リストなど、「一覧」という「面」の検証です。
ユースケース:ECサイト検索結果の「一覧らしさ」
- 課題: 検索結果の一覧(面)が、「ECサイトの検索結果」として妥to当な構成になっているか。
-
「点」の検証の限界:
- 1番目の商品画像、商品名、価格...
- 2番目の商品画像、商品名、価格...
- ...と、個々の要素の存在は確認できます。しかし、それが全体として「見やすい一覧」になっているか、レイアウトが崩れていないかは検証困難です。
- 「面」の検証プロンプト例:
このエリアは、ECサイトの商品検索結果一覧として適切にフォーマットされており、各商品に画像、名前、価格が明確に対応して表示されているか検証し、日本語で結果を通知。
レベル3:ページ全体の「定性的な品質」を検証する
最後に、ページ全体という大きな「面」を対象に、これまでテスターの「感覚」に頼っていた定性的な品質を検証します。
ユースケース1:ターゲット顧客向けのユーザビリティ検証
- 課題: サイトがターゲット顧客(例:高齢者)にとって操作しやすいUIになっているか。
- 「点」の検証の限界: ほぼ不可能です。フォントサイズを個別にチェックすることはできても、それが「使いやすさ」に繋がっているかは判断できません。
- 「面」の検証プロンプト例:
このページ全体は、高齢者にとって使いやすいデザインになっている。具体的には、文字サイズが大きく、ボタン間の余白が十分にあり、コントラストが明確である
(※このように、ターゲットを絞り込み、検証したい観点を具体的に指示することも可能です)
(上級編)「面」の検証は法令準拠にも踏み込める
この「文脈を理解する」アサーションは、さらに高度な検証にも応用できます。
ユースケース:不動産広告の法令準拠チェック
- 課題: 賃貸物件の広告が、「おとり広告」や「著しく優良・有利であると誤認させる表示」(景品表示法や不動産公正取引協議会の規約)に違反していないか。
-
「点」の検証の限界: 不可能です。個々の家賃や平米数、駅からの徒歩時間(例:
5分)といったテキストを検証できても、その物件が実在しない「おとり広告」であることや、表示が「著しく有利である」という文脈・法令違反に該当するかは判断できません。 - 「面」の検証プロンプト例:
賃貸物件の不動産広告として、著しく優良または有利であると誤認させる表示がないか検証します。日本語で結果を通知してください。
(注:AIの検証は万能ではなく、あくまでテストの補助です。最終的な法的判断は専門家にご相談ください)
まとめ
mablの「生成AIアサーション」は、単なる画像認識やテキスト比較の機能ではありません。
E2Eテストのパラダイムを 「点(要素の文字列マッチング)」から「面(文脈、妥当性、ユーザビリティ)」へと拡張 する、まさに次世代の機能です。
DOM構造ではなく 「見た目」 の文脈で判断するため、リファクタリングやデザイン変更にも強いという特徴があります。
これにより、私たちは従来の自動化が苦手としてきた、
- レイアウト崩れ
- 文脈の整合性
- 全体的なユーザビリティ
- ローカライズの自然さ
- DOM変更に対するロバスト性(堅牢性)
といった 「定性的な品質」 の領域に、自動テストで踏み込むことができるようになります。
これまで「自動化は難しいから、最後は人間の目で」と諦めていた検証も、mablのAIアサーションを使えば、CI/CDパイプラインに組み込めるかもしれません。
皆さんも、mablを使って「点」だけでなく「面」を捉える、よりユーザー価値の高いテスト戦略を設計してみませんか?
mablを無料で試してみませんか?
今回ご紹介した「生成AIアサーション」を含む、mablの全ての機能を2週間無料でお試しいただけます。
ご興味のある方は、ぜひmabl日本語サイト右上の「MABL無料トライアル」からお申込みください。
- mabl日本語サイト: https://www.mabl.com/ja/




