生成AIを使ってmablのテストを作成するには、検証したい内容を説明するテストプロンプトを入力してください。テストプロンプトが不明確な場合、モデルが目的に合わない無関係なテストステップをTrainerで提案したり実行したりすることがあります。
時間を節約し、テスト作成エージェントを最大限に活用するために、ブラウザおよびモバイルテスト用の効果的なプロンプトを書く際は、次のガイドラインを参考にしてください。
ブラウザテスト
テスト作成エージェントでブラウザテストを作成すると、エージェントはあなたが入力したプロンプトを使って、Trainer 内でテストを作成します。プロンプトに合ったテストが作成されやすくなるよう、次のガイドラインを参考にしてください。
明確で具体的な指示を出してください
テストケースを、マニュアルテスターにワークフローの検証方法を説明するつもりで記述してください。たとえば、テストの大まかな目的が「ペイントブラシを購入する」場合は、アプリの操作方法について具体的な手順を含めてください。
「検索バーを使ってペイントブラシを検索してください。一致した最初のアイテムを選択します。アイテム詳細ページに、そのアイテムの画像が複数表示されていることを確認してください。次の配送情報でチェックアウトを行ってください:"100 Maple St. Boston, MA 02111."」
テストがアプリの分かりにくい部分とやり取りする場合は、詳細な手順が特に役立ちます。たとえば、テストで見つけにくいページに移動する必要がある場合は、その部分のテストについて追加の詳細を記載してください。「まず構成をクリックし、次にサブメニューでクリックし、最後に設定をクリックしてユーザー設定に移動します。」
エージェントは関連するフローを自動的にインポートします。特定のフローがインポートされやすくしたい場合は、プロンプトでそのフローを明記してください。フローを実行する前に必要なステップがあれば、必ずそれを示しましょう。たとえば、「連絡先情報を更新した後に、フロー『Logout - App』を使用してください。」のように記載します。
重要なバリデーションを強調しましょう
エージェントは、アプリが期待通りに動作しているかを検証するために、生成AIアサーションを自動的に追加します。検証したい内容について明確な指示を含めていない場合、エージェントはモデルが重要だと判断した内容に基づいてアサーションを追加します。たとえば、カートに商品を追加した後、エージェントがその商品がカートに正常に追加されたことをアサートするのが一般的です。
ページ上で明確に検証したい内容がある場合は、プロンプトにその内容を含めてください。たとえば、注文確認ページのフォーマットをテストで検証したい場合は、プロンプトでその旨を明記しましょう。「注文確認に顧客名と選択した商品が含まれていることを確認してください」などです。
関連リソースの使い方を説明します
エージェントは、関連するデータテーブルやクレデンシャルを含む、すべてのテスト変数にアクセスできます。テストで特定の変数を使いたい場合は、それらを明示的に指定し、エージェントにどのように使ってほしいかを説明してください。
たとえば、ローカライズを検証するためにテストをデータテーブルに関連付ける場合、テストプロンプトには次のような説明を含めることができます。「データテーブルの変数を使ってページヘッダーを検証してください。ログインヘッダーは{{@login}}で検証し、ユーザー設定ヘッダーは{{@user_settings}}でユーザー設定ページのヘッダーを検証してください。」
手動で対応が必要な操作を明記してください。
エージェントは、助けを求めずにタスクを完了しようとする傾向があります。テストで特定の未対応のステップタイプが必要な場合は、テストプロンプトにその旨を記載してください。
たとえば、プロンプトに「ファイルのアップロードを手伝ってほしいと依頼する」と追加すると、エージェントはあなたに入力を求めるタイミングを理解します。
ステップを手動で追加する場合は、指示された操作のみを実行し、その後エージェントを再起動してください。関係のないステップを追加すると、エージェントが予期しない動作をすることがあります。
モバイルテスト
モバイルテストでは、テスト作成エージェントがユーザーが作成するための一連のタスクを生成します。タスクには生成AIアサーションや関連するフローが含まれる場合がありますが、すべてをテストするかどうかはユーザー次第です。
モバイル向けの効果的なテストプロンプトを書くには、既存のテストケースやユーザーストーリーを出発点にして、テストの具体的な目的を明確に記述しましょう。すべてのクリック操作を細かく説明する必要はありませんが、ユーザーのエンドツーエンドの流れについて高い視点から追加情報を提供することで、より良い結果が得られます。
たとえば、「AmazonでKindleを購入する」という説明に、ユーザーが誰であるかや、どのようにタスクを完了すべきかといった詳細を追加できます。
「既存のPrime会員が商品を購入できることを確認します。」
要件:
- 検索バーを使ってアイテムを探してください
- アイテムはKindleである必要があります
- 既存のPrimeアカウントでログインする
- チェックアウトフローが正常に完了することを確認します。
APIテスト
APIテストでは、テスト作成エージェントがあなたのテストプロンプトとAPIに関する情報に基づいてテストの概要を生成します。
API用の効果的なテストプロンプトを書くには、テストしたいエンドポイントや、リクエストやレスポンスに含めたい内容(アサーションや変数など)を指定してください。たとえば、「mablのメールボックスエンドポイントで完全なCRUDを検証する」というテストの意図に、次のような詳細を追加できます。
「mablの永久メールボックスとのやり取りを確認する:
- 作成: 名前を「APIテスト生成メールボックス」として永久メールボックスを作成する
- 読む: 新しく作成されたメールボックスを取得し、そのプロパティが期待通りであることを確認します
- 更新: メールボックスのメタデータ(名前や説明など)を更新するテスト
- 有効化/無効化: メールボックスの有効化または無効化が期待通りに動作することをテストします
- 削除: テストの最後にメールボックスを削除してクリーンアップします。