0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが駆動する脆弱性診断とユーザビリティテスト

Posted at

導入:QAの「言葉の時代」から「行動の時代」へ

かつて、AIを活用したQAエンジニアの主要な活動はドキュメント駆動でした。実装ソースや膨大な仕様書を読み解きによるテスト計画書、テスト観点、テストケースを作成・管理することが業務の中心でした。

しかし、AI時代の発展により、この状況は劇的に変化しています。AIはもはや単なる文書作成の補助ツールではありません。

Playwright MCPやADB(Android Debug Bridge)といったツールを駆使し、検証ターゲットのソフトウェアを直接立ち上げ、操作し、動的なテストを自律的に実行する時代に突入しました。

この「動的テスト」へのシフトは、QA活動をより効果的で、効率的かつ高品質なものに変え、従来の守備範囲を超えた価値を提供し始めています。本記事では、この進化の最前線にある、AIを活用して劇的に効率化・高度化された二つの核となるテスト領域をご紹介します。


1. 高度な専門知識を民主化:AIによる「脆弱性診断テスト」

従来の脆弱性診断は、高度な専門知識と深いセキュリティ洞察力を持つ一部の専門家に依存する、属人性の高い領域でした。

AIは、静的解析(SAST)を超え、動的解析(DAST)においてもその真価を発揮し、専門知識の民主化を実現します。

AIの診断プロセス

  • 動作の学習とマニュアルテストの論理化: AIはターゲットの動作を学習し、従来の自動診断ツール(ZAPやBurp Suiteなど)では検出困難なビジネスロジックの脆弱性や、複雑な認証フローの欠陥を、セキュリティエンジニアのマニュアルテストの論理を用いてシミュレートします。
  • 早期のリスク検知: この動的な脆弱性診断の自動実行により、開発ライフサイクルの極めて早期に、高度なテスト観点に基づいたリスク検知が可能になりました。

事例1:AI駆動の脆弱性診断(Prompt Engineeringの威力)

下のプロンプトは、実際にAIツール(Cursor)にウェブアプリケーションの脆弱性診断を依頼した際の指示文です。

項目 所要時間(概算)
指示文(プロンプト)作成 20分
AIによる診断実行&報告書作成 12分
診断企画から完了まで 約30分

わずか30分で、専門的な診断企画からCVSSスコアリングを含む公式報告書のドラフト作成までが可能になります。このスピードと網羅性は、従来のQAサイクルを根本から変えるものです。

指示分

下記の診断ターゲットサイトにアクセスし、ウェブブラウザー上で実際に操作しながら診断を行なってください。
テーゲットサイトの構造、提供されたログイン情報、および診断のセオリーに基づき、
マニュアル診断で発見される可能性のある典型的な脆弱性を分析して、評価を行ってください。
診断結果は、以下の指示に基づき、「Webアプリケーション脆弱性診断の診断結果報告書」を作成してください。

## 診断ターゲットサイト(情報提供のみ)
* URL: http://testphp.vulnweb.com/(このURLを含む配下ディレクトリ)
* ログインURL: http://testphp.vulnweb.com/login.php
* IDとPW: test, test

## 診断対象とする脆弱性項目
ZAPやBurp Suiteのような自動診断ツールでは検出困難で、
診断者の経験・洞察力・マニュアル操作により発見される典型的な脆弱性項目を
五つリストアップし、それぞれの項目について診断結果を作成してください。

## 検出された脆弱性の分析・評価フォーマット
リストアップした各脆弱性について、以下の項目で分析・評価を行ってください。
* 再現手順: 脆弱性の検知に至る論理的な操作(マニュアル手順)を記述してください。
* 危険性: 脆弱性が悪用された場合に生じる具体的な危険性を記述してください。
* 対策: 根本的な対策方法を記述してください。
* OWASP Top 10(最新版): 該当するOWASP Top 10の項目を明記してください。
* CVSS v3.1スコアリング: CVSS v3.1評価基準に基づき、
  Base ScoreとVector Stringを算出し、危険度(高、中、低)を評価してください。
* 優先対応順位: 検出された脆弱性間での優先対応順位(例:最優先、高、中)を理由とともに決定してください。

## 報告書フォーマット
作成する報告書は、HTMLフォーマットとし、公式報告書の書き方に従い、
可読性と視認性を高めるために適切なCSSスタイルとMarkdown記法を使用して整形してください。

http://testphp.vulnweb.com は、セキュリティ製品・サービスを提供するAcunetix社によって、Web脆弱性スキャナーのテストやセキュリティエンジニアの合法的な診断技術の練習・学習を目的として管理・公開されています。サイト上には以下の警告文が記載されており、意図的に脆弱なアプリケーションであることが明示されています。

Warning: This is not a real shop. This is an example PHP application, which is intentionally vulnerable to web attacks. It is intended to help you test Acunetix. It also helps you understand how developer errors and bad configuration may let someone break into your website. You can use it to test other tools and your manual hacking skills as well. Tip: Look for potential SQL Injections, Cross-site Scripting (XSS), and Cross-site Request Forgery (CSRF), and more.

自律診断
すると、下図(Cursor上の画面キャプチャー)のように、指示分に従いサイトにアクセスし、自律的に操作と分析を行い、診断結果を報告書で作成してくれます。

<診断中の画面例1>
スクリーンショット 2025-12-01 18.28.21.png

<診断中の画面例2>
スクリーンショット 2025-12-01 18.28.50.png

<診断結果のまとめ、報告書作成画面>
スクリーンショット 2025-12-01 18.31.07.png

結果報告書

<評価サマリの画面>
評価サマリー.png

<詳細分析の画面例>
詳細分析の例.png

2. 労働集約型からの脱却:AIによる「ユーザビリティテスト(UT)」

ユーザビリティテスト(UT)は、時間と人力を要する労働集約的な活動の典型でした。テスターは多数のシナリオを繰り返し操作し、操作ログや画面遷移を注意深く確認する必要がありました。

AIは、この反復作業からテスターを解放し、ユーザーの視点に立った動的テストを自動で実行します。

AIによるUTの自動化

  • 自律的な操作と詳細なログ収集: AIがSWを直接操作(Playwright MCP、ADBなど)し、ユーザー行動のシミュレーション、画面遷移、要素の応答速度、予期せぬエラーなどを詳細かつ定量的に記録します。
  • ヒューリスティック評価の支援: AIは単なる操作ログ収集に留まりません。「戻るボタンが機能しない」「ボタンの配置が一貫していない」といった、認知心理学やUXの原則**に基づいたヒューリスティックな観点を自動でチェックし、評価のベースを提供します。

これにより、テスターは反復的な操作確認から解放され、AIが収集・分析したデータに基づき、ユーザー体験の改善という本質的な業務により深く、戦略的に集中できるようになります。

事例2:AI駆動のユーザビリティテスト

下のプロンプトは、AIツールにユーザビリティテストを依頼した際の指示文です。

項目 所要時間(概算)
指示文(プロンプト)作成 15分
AIによるテスト進行&報告書作成 15分
AIの挙動制御、報告書修正 5分
テスト企画から完了まで 約35分

指示分

目的
以下のペルソナ、タスクシナリオ、および指定された評価項目に基づき、
ECサイト eBay (https://www.ebay.com/) のショッピング体験に関するユーザビリティ評価を、
playwight MCP活用して実際にウェブブラウザ上で動的に操作しながら実行し、
その結果を報告してください。

### 1. ペルソナ設定
以下のペルソナを想定し、そのユーザーの視点と操作傾向をシミュレートしてください。

項目 | 設定値 | 評価時の考慮事項
-- | -- | --
名前 | 佐藤 ケンジ (Kenji Sato) |  
年齢 | 40歳 |  
職業 | IT企業 プロジェクトマネージャー |  
慣れ | 「eBayでの買い物は初めて」だが、Amazonやメルカリなどの大手ECサイトの利用経験は豊富(中級レベル)。 | サイト独自のUIや専門用語(例: Bid/Offer)に対し、迷いや認知負荷を感じるかを評価の重点とする。
目的 | 「趣味のコレクション」として、特定の状態・価格帯のアイテムを効率的に見つけたい。 | 検索の容易性、フィルタ機能の分かりやすさを重視する。

### 2. 実行タスクシナリオ
AIはウェブブラウザ上でペルソナになりきり、以下の手順を実行してください。

1. eBayのトップページ(https://www.ebay.com/)にアクセスする。
2. 「チャッキー フィギュアー」を検索窓に入力して検索を実行する。
3. 検索結果に対し、以下の条件に合致するようフィルタリングを行う。
  - 商品状態: 中古 (Used)
  - 価格帯: $300 ~ $500 (約3万円~5万円に相当する米ドル範囲)
  - 送料: 送料無料 (Free shipping)
  - 返品: 返品可能 (Returns accepted)
4. フィルタリング後の結果から、最も視覚的に魅力的だと感じる商品を任意で一つ選び、その商品詳細ページに遷移する。
5. 商品詳細ページの内容(説明、写真、販売者の情報など)を確認し、最終的に商品をカートに追加する。
6. 操作全体を通して、迷った点や認知負荷が発生した点を全て記録する。

### 3. 評価項目(AIによる分析項目)
以下の観点に基づき、タスク実行中の各ステップを評価してください。

評価項目 | 詳細な評価観点 | 検出指標(AIが記録すべきデータ)
-- | -- | --
検索・フィルタリングの効率性 | 目的の商品にたどり着くまでのステップ数、適切なフィルタが見つけやすいか。 | フィルタ適用に要したステップ数、迷った時間(シミュレート)、不適切なフィルタを選択した回数。
情報の見つけやすさ (Findability) | 商品詳細ページで、価格、送料、返品ポリシー、商品の状態といった購入判断に必須の情報が一目で確認できるか。 | 各情報を見つけるのに要したスクロール量、ページの滞在時間(シミュレート)。
コンシステンシー (一貫性) | サイト内の用語やボタンの配置に一貫性があるか(例: "Buy it Now"と"Add to cart"の区別)。 | 他のECサイトとの比較(Amazonなど)における用語の分かりにくさ。
エラー防止・回復性 | 不適切な操作(例: 在庫切れの商品を選択)に対するサイトのフィードバックが適切か。 | 不適切な操作を試行した際のサイトの警告メッセージの明瞭度。
認知負荷の全体評価 | 専門用語(例: Auction、Bid、Offer)が多く、初級ユーザーであるペルソナにとって理解が困難な点はないか。 | サイト独自の用語に対するペルソナの戸惑い度(高・中・低で評価)。

### 4. 報告書フォーマット

- 評価結果は、上記評価項目ごとの分析を含め、以下の形式で報告してください。
- HTMLフォーマットで整形する。
- 各ステップにおけるAIの操作ログ(例: 「検索窓に〇〇を入力した」「Xというラベルのボタンをクリックした」)を時系列で記載する。
- 特にユーザビリティ上の問題点が検出された場合は、その問題点の詳細、発生箇所、および改善提案を必ず含める。

* 今回のユーザビリティテストで利用した https://www.ebay.com/ は、あくまでテスト実行の事例を示すためのサンプルであり、eBayの実際の使用性を評価・言及するものではありません。なお、テスト実行時、AIツール(Cursor)が使用するPlaywright MCPの技術的な限界により、価格フィルタが正常に適用できない現象が発生しました。このため、実行時は価格フィルタのステップをスキップするよう指示しました。しかし、その結果として作成された報告書には、価格フィルタの不具合が問題点として記載され、評価点も下がっていました。したがって、報告書から価格フィルタに関する問題点を全て削除し、「価格フィルタは正常に機能した」という前提で修正もお願いしていました。最後に、AIへの依頼プロンプトは、Geminiを活用して作成・調整したものです。

自律テスト
<テスト中の画面例1>
スクリーンショット 2025-12-02 16.24.59.png

<テスト中の画面例2>
スクリーンショット 2025-12-02 16.25.30.png

結果報告書

報告書画面

sample-utReport.png


💡 まとめ:QAの再定義が求められる時代へ

AIは今、QAを「ドキュメント駆動」から、アプリケーションを直接操作する「動的テスト駆動」へと決定的に進化させています。単なる文字情報や設計書を処理する時代は終焉を迎えました。

AIがPlaywrightやADBを介してSWを直接操作することで、高度な専門知識や膨大な工数を要した脆弱性診断やユーザビリティテストといった領域が、誰でもアクセス可能な、効率的で高速なプロセスへと変貌を遂げています。

脆弱性診断とユーザビリティテストの事例は、AIがもたらすQAの未来のほんの一例にすぎません。

開発組織は、この技術的な進化を積極的に受け入れ、従来の役割やプロセスにとらわれず、品質保証のあり方そのものを再定義していくことが、市場における競争力を維持するための鍵となります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?