> For the complete documentation index, see [llms.txt](https://help.aximo.autify.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aximo.autify.com/features-ja/test-case-creation/ai-tester.md).

# AI テスターについて

Aximo の AI テスターは、自然言語で書かれたシナリオをもとに、ブラウザやモバイルデバイスを操作してテストを実行する仕組みです。この記事では、AI テスターがどのように実行環境を見て、操作を選び、結果を判定するかを説明します。

## 概要

AI テスターは、ユーザーが入力したシナリオに沿って、画面の状態を確認しながら次の操作を判断します。固定されたスクリプトやセレクターだけで動くのではなく、スクリーンショット、実行結果、過去に取得したメモリーなどを参考にしながら、テストの目的に沿って操作を進めます。

実行中は、AI テスターが画面の確認、クリック、文字入力、待機、API リクエスト、結果の判定などを組み合わせてテストを進めます。Aximo は、その判断に沿って実際の実行環境を操作します。

## シナリオの扱い

Aximo では、セッションやケースに入力したシナリオに沿って、AI テスターがテストを進めます。AI テスターは、シナリオに含まれる操作の起点、実行する操作、確認したい結果を読み取り、現在の画面と照らし合わせながらテストを進めます。

シナリオに開始 URL や画面名が含まれている場合、AI テスターはそこを起点として操作します。期待結果として表示や状態が記述されている場合は、それを確認条件として使います。メールアドレス、パスワード、カード番号などのテストデータがシナリオに含まれている場合は、その値を入力に使用します。繰り返し使う値や機密値は、メモリーの変数やシークレットとして参照されます。確認メールや認証コードが必要なフローでは、AI テスターはそのテストに割り当てられた受信用アドレスでメールを受け取り、本文のリンクを開いたり、コードを入力したりして続きの操作に進めます。

書き手側でシナリオをどう構成するかは [プロンプトの書き方](/features-ja/test-case-creation/writing-prompts.md) を参照してください。

## 実行の流れ

セッションやケースを開始すると、AI テスターは次の流れでテストを進めます。

| 段階     | 内容                                           |
| ------ | -------------------------------------------- |
| 開始前の確認 | Aximo が対応できる内容か、テストを安全に開始できるかを確認します。         |
| 実行準備   | Aximo がブラウザやデバイスなどの実行環境を用意し、テストに必要な設定を適用します。 |
| 画面の確認  | スクリーンショットを取得し、現在の画面や操作対象を確認します。              |
| 操作の実行  | AI テスターが画面に応じて、クリック、入力、スクロール、タップなどを実行します。    |
| 結果の検証  | 操作後の画面や実行結果を確認し、期待した状態になったかを判断します。           |
| 終了判定   | テストが完了した、または続行できないと判断した時点で、成功または失敗として終了します。  |

AI テスターはこの流れを繰り返し、テストの目的を満たしたかどうかを判断します。完了後は、実行内容と結果をセッション詳細画面で確認できます。

## 実行環境とできる操作

Aximo では、実行先に応じて AI テスターが実行できる操作が変わります。Web セッションではブラウザやデスクトップ環境を操作し、モバイル セッションでは iOS または Android デバイスを操作します。

### Web の実行

Web の実行では、AI テスターはブラウザを含むデスクトップ環境を操作します。主な操作には、スクリーンショットの取得、クリック、ダブルクリック、ホバー、ドラッグ、スクロール、キーボード操作、文字入力、HTTP リクエストがあります。

Web では、画面操作だけでなく、必要に応じて DevTools の確認、ターミナル操作、API レスポンスの確認などもシナリオに含められます。

Web で対応している操作の例は次のとおりです。

* フォーム入力、ボタン操作、画面遷移
* ターミナルを開いてシェルコマンドを実行し、結果を確認する
* DevTools を開いて JavaScript コンソールのエラーを確認する
* HTTP リクエストを送信して API レスポンスを確認する
* テストごとに割り当てられた受信用アドレスに届くメールを待機して、確認リンクや認証コードを使って続きの操作に進む

### モバイルの実行

モバイルの実行では、AI テスターは選択した iOS または Android デバイスを操作します。主な操作には、スクリーンショットの取得、タップ、ダブルタップ、長押し、スワイプ、要素検索、キーボードの非表示、端末の回転があります。

複数のアプリを含むモバイル セッションでは、テスト中にインストール済みアプリを切り替える操作も使用できます。ただし、セッション中に新しいアプリをインストールすることはできません。アプリは実行前にメモリーへアップロードし、セッション開始時に選択します。

モバイルで対応している操作の例は次のとおりです。

* アプリの起動、画面遷移、タップ操作
* ログイン後のホーム画面の確認
* フォーム入力、送信、結果の確認

### ログで確認できる内容

セッションの結果画面では、AI テスターが実行した操作を **ログ** タブで確認できます。ログには、ステップごとのスクリーンショット、操作内容、入力、出力が表示されます。

表示される内容は実行したテストによって異なります。たとえば、画面確認、クリックやタップ、文字入力、待機、API レスポンスの確認、シークレットや OTP の入力、ユーザーへの確認、終了判定などが、実行内容に応じて記録されます。

## 判断と検証の振る舞い

AI テスターは、画面上で確認できたことをもとに操作の成功や失敗を判断します。操作しただけでは成功とみなさず、スクリーンショットや実行結果で状態の変化を確認してから次の判断に進みます。

### 画面確認を基準にする

AI テスターは、ボタンをクリックした、フォームに入力した、ページ遷移を待った、などの操作後に画面を確認します。画面内容の変化、成功メッセージ、チェック状態、表示内容など、視覚的に確認できる結果がある場合に、その操作が成功したと判断します。

操作後に画面が変わらず、期待した結果を確認できない場合は、必要に応じて再確認します。それでも確認できない場合は、成功したものとして扱わず、失敗または続行不可として終了します。

### テストの種類に応じて結果を判定する

AI テスターは、シナリオの目的に応じて成功と失敗を判断します。

| テストの種類 | 成功の考え方                | 失敗の考え方                 |
| ------ | --------------------- | ---------------------- |
| 機能確認   | 指示された機能や画面遷移が期待どおりに動く | 期待する表示や状態にならない         |
| 不具合探索  | 明確な問題が見つからない          | UI の問題、エラー、期待外の挙動が見つかる |
| 検証ステップ | 指示された確認条件を満たす         | 確認条件を満たさない、または確認できない   |

このため、「ログインできることを確認する」と「ログイン画面の問題を探す」では、同じ画面を操作していても結果の判定基準が異なります。

### ユーザーとのやり取り

通常の新規セッションでは、AI テスターが不足している情報や判断に迷う点をユーザーに確認できます。たとえば、入力する値が指定されていない場合や、同じ名前のボタンが複数ある場合に質問します。

実行中に質問が表示された場合、ユーザーは実行画面のチャット欄から返信できます。返信すると、AI テスターはその内容をもとにテストを再開します。

ケース実行など、実行方法によってはユーザーへの確認が行われません。その場合、AI テスターは指定された内容と画面上で確認できる情報だけで判断します。必要な情報がない場合は、推測で値を補わず、理由を示して失敗として終了します。

## メモリーの使い方

Aximo では、AI テスターが実行時に参照する情報として、2 種類のメモリーを扱います。

### 実行補助のメモリー

ユーザーが登録するメモリーには、変数、OTP、ホスト名、アプリ、ファイルなどがあります。シナリオで `{{NAME}}` のようなプレースホルダーを使うと、AI テスターは実行時に対応する値やファイルを参照します。

シークレットや OTP は、AI テスターに実際の値を見せずに入力されます。結果やログでは、実値ではなくプレースホルダー名を使って扱います。詳しくは [メモリーについて](/features-ja/memories/memory-overview.md) を参照してください。

### 過去セッションから学習したメモリー

AI テスターは、完了したセッションから抽出したワークフローや失敗パターンを、次回以降の似たテストで参考にします。関連する学習メモリーが参照された場合は、セッション結果の **Retrieved Memory** に表示されます。詳しくは [メモリーについて > 学習メモリー](https://help.aximo.autify.com/features-ja/test-case-creation/pages/wz2gq3PBfM908BnJYha0#学習メモリー) を参照してください。

## 安全性と制限

AI テスターは、テスト実行に必要な範囲でのみ環境を操作します。Web ページ、メール、文書などに含まれる「指示」は信頼せず、元のシナリオを優先します。

入力内容が Aximo の対応範囲外、または安全に実行できない内容と判断された場合、セッションは開始前または実行中に失敗として終了することがあります。実行単位ごとの主な制限については、[セッションとケースについて](/features-ja/test-case-creation/test-case-creation-overview.md) を参照してください。

## 参考情報

* [Aximo について](/features-ja/aximo-overview.md)
* [セッションとケースについて](/features-ja/test-case-creation/test-case-creation-overview.md)
* [プロンプトの書き方](/features-ja/test-case-creation/writing-prompts.md)
* [セッション実行中の操作](/features-ja/test-case-creation/session-execution.md)
