APIのための堅牢なテストカバレッジを構築するには時間がかかることがあります。生成AIによるテスト作成を使用すると、このプロセスを加速できます。
この記事では、生成AIによるAPIテストの作成方法を説明します。
早期アクセス
早期アクセス期間中、生成AIによるテスト作成はすべてのユーザーが追加費用なしで試すことができます。
- ほとんどの顧客にとって、この機能はすでにテスト作成ページで利用可能です。
- AI機能をオプトアウトしたお客様へ: 生成AIによるテスト作成を試したい場合は、カスタマーサクセスマネージャーにご連絡ください。
- トライアルユーザーの方は、デモをリクエストしてアクセスを取得してください。
透明性を確保するために、mablは現在、生成AIによるテスト作成を高度なAIアドオンの一部として一般提供時に含める予定です。このアプローチは変更される可能性があることに注意してください。
テストの意図を定義する
新しいAPIテストを作成する際には、そのテストで達成したい内容の説明を追加してください。mablのAIがこの意図を実行するためのテストステップを生成します。
テストの意図を提供する
特定のエンドポイントをテストしたい場合や、APIテストから期待する特定の呼び出しシーケンスがある場合は、テストの意図に追加の詳細を提供することで、より成功した結果を得ることができます。
例えば、「mablのメールボックスエンドポイントで完全なCRUDを検証する」というテストの意図を、次の詳細で補強することができます。
「mablの永久メールボックスとのやり取りを確認する:
- 作成: 名前を「APIテスト生成メールボックス」として永久メールボックスを作成する
- 読む: 新しく作成されたメールボックスを取得し、そのプロパティが期待通りであることを確認します
- 更新: メールボックスのメタデータ(名前や説明など)を更新するテスト
- 有効化/無効化: メールボックスの有効化または無効化が期待通りに動作することをテストします
- 削除: テストの最後にメールボックスを削除してクリーンアップします。
テスト意図を追加すると、テスト作成フォームに新しいAPI仕様セクションが表示されます。このセクションを使用して、テスト対象のAPIに関する情報を追加してください。
テスト対象のAPIに関する情報を追加してください
APIテストのステップを生成するには、mablがどのAPIエンドポイントとやり取りできるか、またどのようにやり取りするかを知る必要があります。API仕様セクションで、ファイルをアップロードするか、APIの説明を提供してください。
ファイルをアップロード
最良の結果を得るために、エンドポイント、サポートされているコンテンツタイプ、リクエストおよびレスポンスオブジェクトの構造に関する詳細を含む、OpenAPIやGraphQLスキーマなどの標準化された形式で仕様をアップロードすることをお勧めします。
単一の標準化されたAPI仕様がない場合は、Postmanコレクション、コードファイル、サンプルリクエストとレスポンスオブジェクト、Chrome DevToolsでキャプチャされたHARログ、またはテキストの説明など、類似の情報を含む他のファイルをアップロードしてみてください。
APIの説明を提供する
APIの説明には、アップロードされたファイルに含まれていない情報や、ファイルとしてアップロードするよりもテキストとして記述する方が便利な詳細情報を含めることができます。例えば、認証手順、ヘッダーの要件、テストしたいエンドポイントのサンプルcURLリクエストとレスポンスなどです。
APIテストエディターを起動する
テストの目的を説明し、API仕様を提供した後、テスト作成フォームの残りの情報を記入し、テストを作成をクリックします。
APIテストエディターが起動すると、mablのAIはテストの意図とAPI仕様を使用してテストを生成します。タスクは、テストの全体的な意図を小さな目標に分解します。
プレビューに満足したら、テストを作成をクリックして、生成されたステップを読み込み、テストを構築してください。
何か違うものをお探しの場合は、テストの意図を変更し、新しいアウトラインを生成をクリックしてください。
テストを構築する
テスト内の各ステップを確認し、必要に応じて調整してください。生成AIによるテスト作成で作成されたステップには、次のものが含まれることがあります。
- ステップ名
- URL
- メソッド
- ヘッダー
- リクエストボディ
- アサーション
- 変数
APIテストエディターでステップを実行して、すべてが期待通りに動作するかどうかを検証し、必要に応じて更新してください。
初期のテスト作成セッション中に、テスト内のすべてのステップを削除して初期のテストプレビュー画面に戻り、新しいアウトラインを生成できます。
制限事項
- mablは生成AIを使用してAPIテストのステップを生成しますが、提供された情報に制限されます。APIに関する情報が不十分である場合や、スキーマがmablと連携するには複雑すぎる場合、生成されたステップに誤りがある可能性があります。
- 生成されたAPIテストのステップにはスニペットが含まれていないため、より複雑な検証やリクエスト前処理用およびリクエスト後処理用スクリプトは作成されません。
- OAuth 1.0の認証タイプは生成されません。OAuth 1.0を使用してAPIに認証したい場合は、テストを生成し、テストレベルでOAuth 1.0の設定を手動で追加できます。
- APIフローは、生成AIによるテスト作成では現在サポートされていません。
- 生成AIによるテスト作成は英語に偏っています。テストの意図を非英語で定義した場合でも、APIテストエディターはタスクとアサーションを英語で生成する可能性があります。