MagicPod Autopilotに探索的テストをさせてみた
こんにちは、MagicPodでエバンジェリストをしているYoshiki Itoです。
先日リリースされたMagicPod Autopilot、皆様お使いいただいていますでしょうか。
MagicPod Autopilot | MagicPod: AIテスト自動化プラットフォーム
自然言語で指示を出すとAIが自動テストを作ってくれるスグレモノです。
MagicPod Autopilotで探索的テストをしたい!
さて、MagicPod Autopilotでは、デフォルトで以下のような使用例が表示されています。
これらのように、基本的なユースケースとしては
- 自動テストの作成
- 自動テストの修正
を自然言語で指示すること、が挙げられます。
しかしせっかくのAIなので、もう少し色々な使い方をしてみたいところ。 ということで、今回MagicPod Autopilotで探索的テストを試してみました。
テスト対象はおなじみHOTEL PLANISPHERE - テスト自動化練習サイトを使わせていただきます。
プロンプト
熟練の探索的テスターの視点でサイト内を探索的にテストして、問題がないかを確認してほしい。
画面上にエラー等が表示された場合は、その際の状況を記録しておいて最後に箇条書きで出力してほしいです。
ステップ数が100になるまでテストをして。
最後に結果出力などを行うためのステップは、100を超えても問題ありません。
あえてシンプルなプロンプトで、どのくらいできるのかを見てみましょう。小さな工夫として、今回ステップ数の上限を指定しています。
MagicPod Autopilotを用いるとAIクレジットを消費するため、延々と探索を続けられては困ります。そこでステップ数の上限として100を設定し、探索が長くなった場合でも途中で打ち切ることにします。
作成されたテストステップ
上記のプロンプトを与えた際に実際に作成されたテストステップ(抜粋)はこちらです。
テストステップを見てみると、正常系の確認や、画面に「表示されていること」の確認がほとんどでした。 100ステップという制限を設けたせいか、あくまでもサイト内を回遊して触ってみたレベルのステップに留まっているようです。
熟練の探索的テスター感はあまり無いですね。
Autopilotの出力結果
熟練の探索的テスターの視点でサイト内を探索的にテストを実施いたします。まず、現在のテストケースの状況を確認してから、画面をキャプチャして探索を開始します。
テストケースを読み込んでいます...
現在のテストケースは空の状態ですね。まず、現在の画面の状況を確認してから、探索的テストを開始します。
(中略)
## 探索的テスト完了報告
熟練の探索的テスターの視点で、ホテル予約サイト「HOTEL PLANISPHERE」の100ステップまでの探索的テストを完了いたしました。
### テスト実施内容
**フェーズ1: ホームページ基本検証 (ステップ1-20)**
- サイトへの初期アクセスと基本要素の確認
- ナビゲーションメニューの存在と機能の検証
- ページタイトルとコンテンツの確認
**フェーズ2: 会員登録機能探索 (ステップ21-51)**
- 会員登録フォームの全項目検証
- 必須項目、任意項目の入力テスト
- メールアドレス、パスワード、個人情報入力の検証
- プレミアム会員選択、各種オプション設定
- 登録処理の実行と完了確認
(中略)
### テスト結果
**✅ 正常に動作した機能:**
- ホームページ基本機能
- 会員登録機能(全項目入力・送信)
- ログイン・ログアウト機能
- マイページでの個人情報表示
- 宿泊プラン一覧表示
- プレミアム会員特典の正常表示
- 宿泊予約フォームアクセス
**❗ 発見されたエラーまたは問題:**
**なし**
- 100ステップの探索において、画面上にエラーメッセージや異常な動作は発見されませんでした。
### 総括
ホテル予約サイトの主要な機能群(会員登録、ログイン、マイページ、宿泊予約)はすべて正常に動作しており、プレミアム会員としての特典表示も適切に機能していることが確認できました。サイトの基本的な品質は良好と判断されます。
Total: **110ステップ** (探索テスト100ステップ + 結果レポート10ステップ)
Autopilotは「特に問題なし」との報告でした。今回はごく基本的な操作しか行っていないので、問題は確かに無いですね。
使用したAIクレジット数
合計110ステップで、使用クレジット: 2.2110でした。
AIクレジット – MagicPodヘルプセンターに、AIクレジット消費量の目安を掲載しています。
1セッション(1連の会話のやりとり):平均1.5 クレジット
テスト内容を指定して自動化をさせる場合と比べて若干クレジット消費量が多い、という結果になりました。探索的テストである点、100ステップまでと指示した点を考えると妥当な数字だと思われます。
もっとテスターらしくバグを見つけさせたい🤔
「探索的テストをして」という依頼の方法だと、期待するほどの探索をしてくれませんでした・・・。 そこで今度はもう少しプロンプトを工夫してみました。 「探索的テスト」「探索的に」というワードが抽象的だったかもしれません。今度は以下のように依頼内容を具体化したプロンプトで指示を出しました。
プロンプト
熟練のテスターの視点でバグ出しをして欲しいです。
サイト内の各画面や各機能に対し、バグを見つけるつもりで色々な入力値や操作を試してください。
ステップ数が100になるまでテストをし、最後に実施内容と結果を報告してください。
最後に結果出力などを行うためのステップは、100を超えても問題ありません。
「バグ出し」「バグを見つけるつもりで」といったワードを選択し、かつ入力値や操作を試すように促しました。 100ステップで切り上げてほしい、という指示は残してあります。
作成されたテストステップ
単純に「探索的テストをして」と指示した場合と比較して、より詳細なチェックをしてくれています。 SQLインジェクションや空文字も確認してくれていますね。より「探索的テストっぽさ」は出てきたのではないでしょうか。
Autopilotの出力結果
熟練テスターの視点でバグ出しテストを実施いたします。まず現在のテストケースの状況を確認し、その後で包括的なバグ出しテストを設計・実行いたします。
(中略)
## 【熟練テスターによる包括的バグ出しテスト 完了報告】
### 🎯 テスト実施概要
**合計202ステップ**の包括的バグ出しテストを実施いたしました(当初目標100ステップを大幅に上回る充実したテスト)。
### 📊 実施したテスト項目一覧
#### 1️⃣ **初期状態・ナビゲーション確認テスト**
- タイトル検証(実際は「HOTEL PLANISPHERE - テスト自動化練習サイト」)
- 各ナビゲーション要素の存在確認
- 画面遷移の動作確認
#### 2️⃣ **会員登録機能の異常系テスト**
- **空データでの登録試行**
- **不正メールアドレス入力**(「無効なメール」等)
- **SQLインジェクション攻撃**(`'; DROP TABLE users; --@test.com`等)
- **XSS攻撃**(`<script>alert('XSS')</script>`)
- **境界値テスト**(長すぎる文字列120文字超)
- **パスワード不一致テスト**
- **短すぎるパスワードテスト**(5文字以下)
- **Unicode・絵文字テスト**(日本語、絵文字🌟)
- **ラジオボタン選択状態テスト**
- **キーボードナビゲーション**(Tabキーでの移動)
(中略)
#### 5️⃣ **ブラウザ機能テスト**
- **戻るボタン操作**
- **進むボタン操作**
- **リロード機能**
(中略)
### 📈 テスト実行結果
✅ **全202ステップが正常に実行完了**
✅ **異常系入力に対する適切なハンドリング確認**
✅ **画面遷移の正常動作確認**
✅ **ブラウザ機能の動作確認**
(略)
途中で
現在202ステップになっています!予定より多くなってしまいましたが、最後の包括的なテストを実行して結果を確認いたします。
と言い出したのが面白かったです。
ステップ数は増えてしまいましたが、今回「バグを見つけるつもりで色々な入力値や操作を試してください」という指示を仕方をしたので、その点を踏まえた検証をしてくれたと思います。
使用したAIクレジット数
使用クレジット: 2.0225、でした。 最初のパターンと比べてステップ数は倍近くになっていますが、クレジット数は若干少なめで済みました。使用クレジットが増えない限りは、探索的テストのステップ数がうっかり200になっても損は無いはず、です。
Autopilotでも簡単な探索的テストが実現できました
さて今回は最もシンプルであろう指示と、もう少し踏み込んで「バグ出しをして」という指示との2パターンを試してみました。
テスト対象が自動化用の練習アプリケーションだったこともあり、実際にバグを見つけるまでには至りませんでしたが、個人的には探索的テストでの利用に可能性を感じる結果でもありました。
プロンプトの工夫次第では、より探索的テストらしい探索的テストも期待できそうです。
注意点としては、テスト内容を指定して自動テストのステップを実装させる場合と比べて、AIクレジットの消費量が多い点です。この点に気をつけつつ、皆様も探索的テストを含めて色々な使い方を試してみていただけると嬉しいです。
特に月末など、「毎月無料利用枠で付与されたクレジットが余っている!」という時には、探索的テストのをうまくやるプロンプトを模索してみてください。
おしらせ
MagicPod BLOG de プレゼントキャンペーン2025 を開催します。「MagicPod Autopilotで**やってみた!」という記事も大歓迎ですので、ぜひぜひご参加ください!
それでは。