Apidog ベストプラクティス:AI 活用 API 自動テスト

Oliver Kingsley

Oliver Kingsley

30 12月 2025

Apidog ベストプラクティス:AI 活用 API 自動テスト

AIがAPI開発とテストにますます統合されるにつれて、自動テストの参入障壁は着実に低下しています。かつては繰り返し手動操作とデータ準備が必要だったタスクも、今ではAIによって処理できるようになりました。Apidogもまた、APIテストにおけるこの変化を反映しています。

Apidogでは、自動テストは主に2つのアプローチを中心に展開されます:エンドポイントテストテストシナリオです。

Apidog API test

エンドポイントテストモジュールが表示されない場合、Apidogのバージョンが古いことを意味します。最新バージョンにアップデートしてください。

エンドポイントテストモジュールは、APIのすべてのHTTPエンドポイントを表示し、QA開発者がより集中できるようにします。これにはテストケース、テストレポート、ドキュメントのみが含まれ、エンドポイントの編集は許可されません。この設計により、テスターはテストケースの作成と実行に効率的に集中できます。

endpoint test in Apidog

対照的に、テストシナリオは複数のエンドポイントまたはテストケースを連携させます。これにより、エンドポイント間の実行順序とデータ受け渡しの関係を定義し、完全なビジネスプロセスを効果的にシミュレートできます。

test scenario in Apidog

AIがエンドポイントテストテストシナリオの両方に統合されることで、APIテストはより自動化され、再利用可能で、効率的な実行へと段階的に移行できます。次に、これら2つのテスト方法が実際の課題解決にどのように役立つかを探ります。

自動化されたエンドポイントテスト

エンドポイントテストは、エンドポイント自体が安定しているか、入出力が期待通りかに焦点を当てています。各テストケースは独立して実行され、異なるデータを用いて単一のエンドポイントを徹底的に検証することに重点が置かれます。

AIが生成するテストケース

エンドポイントテストモジュールで任意のエンドポイントを開き、AIで生成をクリックします。AIは、エンドポイントのパラメータと応答構造に基づいて、一連のテストケースを自動的に生成します。

AI-generated test cases

特定のテストケースのみが必要な場合は、デフォルトのタイプを選択する必要はありません。AIに直接要件を説明するだけで、対応するテストケースが生成されます。たとえば、AIに次のように依頼できます。

より正確な結果を得るために、次のような詳細な条件とルールを提供できます。

このエンドポイントの正常系テストケースを生成してください。

エンドポイントには、以下の署名ルールを持つ署名パラメーター sign が必要です。
1. 空でないすべてのリクエストパラメータ (sign を除く) を収集し、パラメーター名をASCII順にソートし、key=value の形式で & で連結し、末尾にシークレットキー SECRET_KEY を追加します。
2. 結果の文字列にMD5ハッシュを適用し、ハッシュを大文字に変換します。最終結果は sign の値として使用されます。

テストケースの要件:
1. リクエストを送信する前に、プリリクエストスクリプトを使用して sign を生成し、明確なコメントを含めます。
2. 生成された sign をリクエストパラメータに追加し、リクエストを送信します。

これにより、AIは抜け漏れや誤解なく、あなたのルールに厳密に従ってケースを生成します。

generating test cases based on rules

テストデータの生成

テストケースを生成する際、AIはさまざまな実世界の入力状況をカバーするために、異なるタイプのケースに対応するテストデータセットも準備します。

標準的なビジネスシナリオのケースでは、テストデータは通常、複数のセットの意味的に有効なパラメータ値で構成されます。たとえば、ログインエンドポイントテストでは、すべてのメールアドレスとパスワードが有効であっても、データセットにはドット、プラス記号、数字のみのメール、会社のメールなど、さまざまな一般的なメール形式が含まれ、通常の利用シナリオにおけるエンドポイントの互換性と安定性を検証します。

API test cases generated by AI

異常系または境界値テストケースでは、テストデータは意図的にバリデーションルールに違反する入力を含むように設計されています。

たとえば、「無効なメール形式でログインし、400エラーを期待する」のようなテストケースでは、データセットには「@」記号がないメール、ドメイン名がないメール、スペースを含むメールなど、さまざまな種類の無効なメールアドレスが含まれます。目的は、APIエンドポイントがこれらの無効な入力を正しく検出し、リクエストを適切に拒否できるかどうかを確認することです。

boundary test cases generated by AI

テストデータの参照

テストケースでは、{{variable_name}}構文を使用してテストデータを参照し、リクエストパラメータ、リクエストボディ、その他のフィールドに変数を挿入できます。

テスト実行時、Apidogはデータセットから値を1つずつ自動的に取得し、各値を使用してリクエストを送信します。これにより、テストケースを書き直すことなく、異なるデータで同じエンドポイントを複数回テストできます。

referencing test data using variables

一括実行とテストレポート

テストケースとその対応データが準備できたら、複数のテストケースを選択してまとめて実行できます。各テストケースは自身の構成に基づいて独立して実行され、すべての結果はレビューしやすいように単一のテストレポートにまとめられます。

現実世界のアプリケーションでは、エンドポイントが単独で動作することは稀です。あるリクエストからの応答が次のリクエストの入力として使用される場合、テストは単一のエンドポイントではなく、呼び出しチェーン全体に関するものとなります。

ここでテストシナリオの出番です。

テストシナリオ

単一のエンドポイントだけでは、通常、ビジネス上のタスクを完了するには不十分です。例えば、ユーザーは注文する前にログインする必要があり、注文が正常に作成されて初めて注文の詳細を照会できます。あるエンドポイントからの応答が、次のエンドポイントの入力となることはよくあります。

これらの依存関係は、単一のエンドポイントテストでは完全に検証することが困難です。
テストシナリオは、1つのエンドポイントが正しく機能するかどうかの確認から、呼び出しチェーン全体がスムーズに、かつ期待通りに実行されるかどうかの検証へと焦点を移します。

エンドポイントをワークフローにオーケストレーションする

Apidogでは、新しいテストシナリオを作成した後、複数のエンドポイントまたは既存のテストケースを特定の順序で追加し、各ステップの実行順序を明確に定義できます。

orchestrating-endpoints-workflow

テストステップ間でデータを渡す

エンドポイントが互いに依存している場合、テストシナリオではあるステップから次のステップへデータを変数として渡すことができます。例えば、注文作成エンドポイントによって返されたidは、注文の照会や更新など、後続のステップで直接再利用できます。

pass-data-between-test-steps

このデータ受け渡しには追加のコードは不要です。代わりに、変数参照を利用して、エンドポイント間の上流と下流の関係を明確に定義します。

テストケースが見つからない場合はどうするか?

テストシナリオを構築する際、最初の目標は、多くの場合、メインのワークフローがスムーズに実行されることを確認することです。例えば、ログイン → 注文作成 → 注文照会といった形で、各ステップが既存のテストケースに対応します。

しかし実際には、よくある課題に直面するかもしれません。それは、ワークフロー内のいくつかのステップに既製のテストケースがない、または既存のケースがワークフローの要件を完全に満たさないというものです。

例えば、ログインステップでは、単にログイン成功を検証するだけでなく、返されたトークンを後続のリクエストのための環境変数として抽出する必要があるかもしれません。既存の単一エンドポイントテストケースでは、トークン抽出を処理せずに基本的なログイン検証しか行わない可能性があります。

返されたフィールドを変数として抽出する方法が不明な場合やスクリプトに慣れていない場合は、シナリオのオーケストレーションを一時停止できます。そして、そのエンドポイントのエンドポイントテストページに移動し、AIを活用して要件を処理します。例えば、次のように指定できます。

「ログイン成功後、トークンを抽出し、環境変数として保存するテストケースを生成してください。必要なアサーションも含まれます。」
AI generating specific test case

テストケースをより正確に制御したい場合は、詳細設定ステップバイステップ生成を有効にすることができます。

enabling AI step-by-step generation

これを有効にすると、Apidogはまずテストケースのリストを名前と説明を含めて生成します。その後、完全な詳細テストケースデータを生成する前に、手動で確認、変更、承認することができます。

AI generated test cases

テストケースが生成されたら、テストシナリオに戻ります。このケースをログインステップとして直接使用でき、後続のエンドポイントは動的値を通じてトークンを参照し、ワークフローをシームレスに続行できます。

テストシナリオでテストデータが必要な場合は、まずAIにエンドポイントテストテストデータを含むケースを生成させることができます。その後、CSV形式のデータセットを一括編集機能を使ってテストシナリオにコピーすると、データのセットアップがはるかに迅速かつ便利になります。

test-data-generated-by-ai

このアプローチにより、テストシナリオは常にメインのワークフローを中心に構築され、AIはその場で補完するアシスタントとして機能します。ステップが欠けている場合はいつでも、AIを使ってそのエンドポイントに必要なテストケースを生成し、すぐにワークフローに戻して連携させることができます。

まとめ

AIはAPIテストが何を検証する必要があるかを変えていませんが、テストを開始し完了するために必要な労力を大幅に削減しました。

エンドポイントテストでは、AIは主に遅いテストケース作成と不完全なカバレッジという課題に対処します。これにより、テストがデータ準備や手動でのケース作成に費やす時間を減らし、検証フェーズに迅速に移行できるようになります。

テストがテストシナリオに進むと、単一のエンドポイントの検証から、実際のリクエストシーケンス内でエンドポイントが正しく連携できるかの確認へと焦点が移ります。

このワークフローでは、すべてのテストケースを事前に準備する必要はありません。シナリオが徐々に構築されるにつれて、いつでも単一エンドポイントテストに戻り、AIに現在のワークフローに必要な特定のケースを生成させ、その後ステップのオーケストレーションを続けることができます。これにより、不要な先行作業が減り、クレジット使用量を節約できます。

全体として、Apidogはエンドポイントテストテストシナリオ、そしてAI機能を単一のワークフローに統合し、APIテストの通常のボトルネック — ケース作成、データ準備、プロセス連携 — を管理可能なタスクに変えています。

もし自動テストがまだ「複雑な設定と高い学習曲線」を意味すると考えているなら、小さなことから始めてみてください。Apidogで単一のエンドポイントを選び、いくつかのケースを生成し、テストシナリオを実行してみてください。実際のプロセスがいかにスムーズかつ迅速になるかをすぐに体験できるでしょう。

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる