2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【2025年最新】OpenAPI仕様書からAIが自動生成!Apidogで実現するAPIテストの効率化

2
Last updated at Posted at 2025-11-01

はじめに

API開発において、テストケースの作成は品質保証に欠かせない工程ですが、手動での作成には多大な時間と労力がかかります。そこで本記事では、インターン生の私が、OpenAPI仕様書を活用してテストケースを自動生成できる「Apidog」について、その機能や使い方を詳しく解説します。

Apidogとは

Apidogは、API開発におけるライフサイクル全体をサポートする統合開発プラットフォームです。API設計、モック作成、ドキュメント生成、自動テストなど、多様な機能を一つのツールで提供します。

一般的な機能

  • API設計とドキュメント管理: OpenAPI/Swagger仕様に準拠したAPI設計が可能
  • APIテスト実行: RESTful APIやGraphQL APIのテストをGUIベースで簡単に実行
  • モックサーバー: 実際のバックエンドがなくてもAPIの動作を検証可能
  • チーム連携: プロジェクトの共有や共同編集に対応

本記事で注目する機能: OpenAPI仕様書を用いたテストケース自動生成

本記事では、特にApidogのLLM(大規模言語モデル)を活用したテストケース自動生成機能に焦点を当てます。OpenAPI仕様書をインポートすることで、正常系・異常系・境界値などのテストケースをAIが自動的に生成し、テスト工数を大幅に削減できます。

Apidogのインストール方法

Apidogは、Web版とデスクトップアプリ版の両方が提供されています。使用環境や好みに応じて選択できます。
本記事ではデスクトップアプリ版に焦点を当てて説明をしていきます。

Web版

特徴:

  • インストール不要でブラウザから即座に利用可能
  • アカウント作成後、すぐに使い始められる
  • クラウドベースでどこからでもアクセス可能

利用手順:

  1. Apidog公式サイトにアクセス
  2. 「Get Started」または「無料で始める」ボタンをクリック
  3. メールアドレスまたはGoogleアカウントでサインアップ
  4. ブラウザ上でそのまま利用開始

デスクトップアプリ版

特徴:

  • より高速な動作とオフライン作業が可能
  • ネイティブアプリケーションとしての安定性
  • ローカル環境での開発に適している

対応プラットフォーム:

  • Windows (Windows 7以降)
  • macOS (macOS 10.13以降)
  • Linux (主要ディストリビューション対応)

ダウンロード手順:

  1. Apidog公式サイトにアクセス
  2. 画面上部の「Download」または「ダウンロード」をクリック
  3. 使用しているOSに応じたインストーラーをダウンロード
  4. ダウンロードしたファイルを実行してインストール
  5. インストール完了後、アプリケーションを起動してサインイン

推奨: チーム開発や継続的な利用を想定する場合は、デスクトップアプリ版の使用をおすすめします。

Apidogを使用するメリット

  • テストケース作成の効率化: OpenAPI仕様書から自動的に多様なテストケースを生成
  • 網羅的なテスト: 正常系だけでなく、異常系や境界値テストも自動生成
  • AI機能の活用: LLM(OpenAI、Anthropic、Google AI Studioなど)を利用した柔軟なテストケース生成
  • 統合開発環境: 設計からテスト実行まで一つのツールで完結
  • チームでの共有が容易: プロジェクト単位での管理と共有機能

Apidogを使用するデメリット

  • LLM API keyが必要: テストケース自動生成機能を使うには、外部LLMのAPIキーを設定する必要がある
  • 生成ケース数の不確実性: 「約10件」などの指定をしても、実際には8〜12件など幅がある
  • 日本語対応の制限: 一部機能やドキュメントは英語のみの場合がある
  • 学習コスト: 多機能であるため、初めて使う場合は慣れるまで時間がかかる可能性がある

料金プラン

Apidogは用途や規模に応じて4つのプランを提供しています。

Free(無料プラン)

料金: ¥0 / ユーザー / 月

対象: API連携とテストを始める個人・小規模チーム(最大4ユーザー)

主な機能:

  • コア機能全般(4ユーザーまで利用可能)
  • フルAPIクライアント対応
  • Mock/テスト基本機能一式
  • 無制限テスト(コレクション)実行
  • ドキュメント基本機能(閲覧数無制限)
  • リアルタイム共同編集
  • プロジェクト毎スプリントブランチ1本/バージョン1種
  • SQLデータベース操作
  • 3時間間隔の定期インポート

Basic

料金: ¥1,350 / ユーザー / 月

対象: 高度な共同作業とチーム管理が必要なスタートアップ/小規模チーム

主な機能:
Freeプランの全機能に加えて:

  • チームメンバー無制限(従量制課金)
  • 90日間API変更履歴保持
  • スプリントブランチ5本
  • プロジェクト毎バージョン5種
  • NoSQLデータベース操作(ClickHouse/MongoDB/Redis)
  • 30分間隔の定期インポート
  • 最大20チームプロジェクト
  • チームアクティビティフィード

14日間の無料トライアル利用可能

Professional

料金: ¥2,700 / ユーザー / 月

対象: 高度な共同作業・詳細管理・優先サポートが必要な成長企業

主な機能:
Basicプランの全機能に加えて:

  • APIコメントに制限なし
  • スプリントブランチ/バージョン無制限
  • ドキュメントIPホワイトリスト
  • 180日間API変更履歴保持
  • チーム共有変数管理
  • 10分間隔の定期インポート
  • セルフホスト型プロキシ経由API呼び出し
  • ランナー経由定期インポート
  • 優先メール対応&トレーニングセッション

14日間の無料トライアル利用可能

Enterprise

料金: ¥4,050 / ユーザー / 月

対象: 企業向けセキュリティ・カスタマイズ・プレミアムサポートが必要な大規模組織

主な機能:
Professionalプランの全機能に加えて:

  • 365日間API変更/テスト変更履歴保持
  • 複数ドキュメントサイト/サブサイト公開
  • APIケース/シナリオカバレッジ統計
  • プロジェクトロール権限カスタマイズ
  • Vault secrets
  • SSO対応(SAML)
  • 専用Slack/Teamsチャンネル
  • 24時間365日優先サポート
  • 高度セキュリティ審査
  • カスタム利用規約

14日間の無料トライアル利用可能

個人やスモールチームであればFreeプランでも十分な機能を利用できます。一方、企業での本格的な利用を検討する場合は、チーム規模や必要な機能に応じてBasic以上のプランを選択することをおすすめします。


事前準備: LLMのAPI key設定

ApidogでAIによるテストケース自動生成を利用するには、事前にLLMのAPI keyを設定しておく必要があります。以下の手順で設定を行います。

1. チーム設定画面を開く

画面中央上部のメニューから「チーム設定」を選択します。

image.png

2. AI機能の設定

「AI機能」の項目にある「プロバイダーを追加」ボタンを押下します。

image.png

3. プロバイダーを選択

利用可能なLLMプロバイダーの一覧が表示されます。以下のプロバイダーから選択できます。

  • OpenAI
  • Anthropic
  • Google AI Studio
  • Google Vertex
  • OpenRouter
  • カスタムAPI設定(OpenAI API仕様に準拠したすべてのモデルプロバイダーをサポート)

4. API keyを入力して保存

選択したプロバイダーのAPI keyを入力し、「保存」ボタンを押下します。(今回はGoogle AI Studioを選択しています。)

image.png

保存が完了すると、以下のように設定済みプロバイダーとして表示されます。モデル一覧から使用するモデルを選択することも可能です(例: Gemini 2.5 Pro、Gemini 2.5 Flashなど)。

image.png


テストケース自動生成までの手順

ここからは、実際にOpenAPI仕様書をインポートし、テストケースを自動生成する手順を解説します。

1. 新規プロジェクトの作成

Apidogを初めて使用する場合、以下の画面から開始されます。「空のプロジェクトを作成」または「新規プロジェクト」ボタンを押下します。

image.png

2. プロジェクト名を入力

プロジェクト名を入力して「作成」ボタンを押下します。

image.png

3. インポート機能を開く

OpenAPI仕様書を読み込んでテストケースを自動生成するため、「その他の機能」ボタンを押下します。

image.png

4. インポートを選択

ドロップダウンメニューから「インポート」を選択します。

image.png

5. OpenAPI/Swaggerを選択

データインポート画面で「OpenAPI/Swagger」を選択します。

image.png

6. 仕様書ファイルをアップロード

「ファイルをアップロードする」タブを選択し、OpenAPI仕様書(JSON形式またはYAML形式)をアップロードします。

対応フォーマット: OpenAPI 3.0/3.1、Swagger 2.0

image.png

7. インポート設定を確認

確認画面の右側で以下の設定を行い、「確認」ボタンを押下します。

  • インポート先: 既存モジュールまたは新規モジュール
  • 各種APIにAPIデータを自動追加: 有効/無効
  • Security Schemeのインポート: 対応するSecurity Schemeを選択するか、無視する
  • API/Summaryフィールド: 使用するか、operationIdを使用するか

image.png

8. インポート完了

インポートに成功すると、以下のような画面が表示されます。

image.png

「APIを表示」ボタンを押下すると、インポートされたAPIの一覧を確認できます。


テストケースの自動生成

OpenAPI仕様書のインポートが完了したら、実際にテストケースを自動生成してみましょう。

9. APIを選択

画面左側のAPIタブから、テストケースを生成したいAPIを選択します。今回は例として「account」配下のAPIを選択します。

image.png

10. 任意のAPIエンドポイントを選択

ディレクトリ内から、テストケースを生成したいAPIエンドポイント(例: PUT Agree Terms)を選択します。

image.png

11. テストケースタブを開く

画面上部のタブから「テストケース」を選択し、「AIで生成」ボタンを押下します。

注意: 自身で手動でテストケースを設定したい場合は「ケース追加」ボタンから作成可能です。

image.png

重要: 事前準備でLLMのAPI key設定を行っていない場合、この機能は使用できません。

12. テストケースカテゴリを選択

「AI生成テストケース」ダイアログが表示されるので、実施したいテストケースのカテゴリを選択します。

選択可能なテストケースカテゴリ

正常系

  • 必須フィールドのみ
  • セマンティック有効
  • 列挙型組み合わせカバレッジ
  • その他正常系

異常系

  • 無効値
  • 必須フィールド不足
  • フォーマットエラー
  • 型エラー
  • セマンティックエラー
  • その他異常系

境界値

  • 最大値/最小値
  • 最大/最小境界値超過
  • Null/ゼロ/空値
  • 文字列長すぎ/短すぎ

セキュリティ

  • 認証制御
  • SQLインジェクション
  • あいまい入力
  • XSSインジェクション
  • コマンドインジェクション
  • JSONインジェクション
  • NoSQLインジェクション

image.png

認証情報の設定

必要に応じて、認証情報(例: Authorization Token)を入力します。デフォルトでは{{bearerToken}}のような変数形式が設定されています。

生成ケース数の設定

画面左下の「生成ケース数」では、以下のオプションから選択できます。

  • 自動
  • 約10件
  • 約20件
  • 約40件
  • 約80件

注意: 正確に指定した数が生成されるわけではありません。例えば「約10件」を選択しても、実際には8〜12件程度になる場合があります。

image.png

設定が完了したら「生成」ボタンを押下します。数秒で「保留中」タブにテストケースが自動生成されます。

image.png

13. テストケースの採用

生成されたテストケースが「保留」タブに表示されます。この中から今後実行したいテストケースを選択し、「採用」ボタンを押下します。

採用すると、「採用済み」タブに移動します。

image.png


テストの実行

テストケースを採用したら、実際にテストを実行してみましょう。

14. 環境を選択

画面右上の「環境を選択」ボタンから、テストを実行する際の環境を設定します。

image.png

今回は例として「ローカル環境」を選択します。

15. すべて実行

「すべて実行」ボタンを押下すると、採用済みのテストケースが順次実行されます。

実行が完了すると、以下のようにリクエストに対して返ってきたステータスコードと結果(合格/不合格)が表示されます。

image.png


現在のテストの範囲と限界

ここまでの手順で実行したテストは、以下の2つの側面を検証しています:

1. リクエストの検証

  • APIに送信するリクエストの形式が正しいか
  • 必須パラメータが含まれているか
  • データ型や値の範囲が仕様に準拠しているか

2. レスポンスのシミュレーション

  • APIから返却されるステータスコードが期待通りか
  • レスポンスの構造が仕様書と一致しているか

重要な注意点: 本記事で説明したテスト方法では、データベースと接続していないため、実際のデータがDBに正しく保存されたかどうかは検証できません。あくまでAPIのインターフェース仕様に基づいた形式的なテストに留まります。


データベース連携による実データ検証

より実践的で信頼性の高いテストを実現するには、Apidogのデータベース連携機能を活用します。

DB連携で可能になること

データベースとの接続を設定することで、以下のような高度な検証が可能になります:

  1. APIの実行結果をDBで直接確認

    • APIがデータを正しく保存したかをDBクエリで検証
    • 想定通りのデータ変換が行われているかを確認
  2. ビジネスロジックの検証

    • API内部の仕様(ビジネスルール)が正しく実装されているかをテスト

具体例: ビジネスロジックの検証

例えば、「ユーザー登録API」に以下のような仕様があるとします:

仕様: 入力された名前に自動的に敬称「さん」を付与してDBに保存する

入力: {"name": "山田"}
期待されるDB保存値: "山田さん"

DB連携なしの場合(本記事で説明した方法)

  • APIが {"name": "山田さん"} というレスポンスを返せば「OK」と判定
  • しかし、実際にDBに「山田さん」が保存されたかは確認できない
  • もしAPIにバグがあり、DBには「山田」のまま保存されていても検知不可能

DB連携ありの場合

Apidogでは、API実行後に後処理(Post-processors) として以下の検証が可能です:

ステップ1: API実行

POST /users
{"name": "山田"}

ステップ2: APIレスポンス確認

{
  "id": 123,
  "name": "山田さん"
}

ステップ3: DB検証(Apidogの後処理機能)

Apidogが自動的にデータベースにクエリを実行:

SELECT name FROM users WHERE id = 123;

ステップ4: アサーション(検証ルール)

テスト設計者がApidogに以下のように期待値を定義:

  • 検証ルール: DBから取得したnameの値は「山田さん」と等しい

判定結果:

  • OK: DBの値が「山田さん」→ アサーション成功
  • NG: DBの値が「山田」→ アサーション失敗(バグ発見)

アサーション(Assertion)とは

アサーションとは、「期待される結果」を明示的に定義し、実際の結果と照合する検証機能です。

  • ApidogはAPIの内部仕様(ビジネスロジック)を自動では知りません
  • そのため、テスト設計者が「この入力に対してはこうDBに保存されるべき」という仕様(期待値) をアサーションとして定義する必要があります
  • Apidogは定義されたアサーションに基づいて、DBの実際の値と比較し、合否を判定します

DB連携の設定方法

データベース連携の詳細な設定方法については、Apidogの公式ドキュメントを参照してください:

FreeプランでもSQLデータベース操作が利用可能で、より高度なNoSQLデータベース(MongoDB、Redisなど)を使用する場合はBasic以上のプランが必要です。


さらなる活用: テストシナリオの作成

本記事では個別のAPIエンドポイントに対するテストケース生成を解説しましたが、Apidogでは複数のテストケースを連鎖させた「テストシナリオ」 の作成も可能です。

テストシナリオとは

テストシナリオは、複数のAPIリクエストを順番に実行し、実際のユーザー操作フローを再現する機能です。

例: ユーザー登録からログインまでのシナリオ

  1. ユーザー登録API (POST /users)を実行
  2. 登録されたユーザーIDを取得
  3. 取得したIDで更新を実行
  4. 取得したIDのデータを削除

このように、前のAPIの実行結果(レスポンス)を次のAPIのパラメータとして使用することで、エンドツーエンドのテストを自動化できます。

テストシナリオの詳細な作成方法に興味がある方は、ぜひApidogの公式ドキュメントやチュートリアルをご覧ください。


所感: テストケース自動生成がもたらす開発効率の革新

従来のAPI開発では、テスト項目書を綿密に検討し、その上で開発者自身がテストコードを一から作成する必要がありました。この作業は非常に時間がかかるだけでなく、人的ミスによるテストケースの漏れが発生するリスクも常に伴っていました。

Apidogのテストケース自動生成機能は、こうした課題を根本的に解決します。OpenAPI仕様書をインポートするだけで、正常系・異常系・境界値・セキュリティテストといった多様なテストケースが網羅的に生成されるため、テスト設計の工数削減品質の均質化を同時に実現できます。

特に印象的だったのは、LLMを活用したテストケース生成の柔軟性です。従来の静的なテンプレートベースの自動生成とは異なり、API仕様の文脈を理解した上で適切なテストケースを提案してくれるため、実用性が非常に高いと感じました。

今後、API開発においてこのような次世代ツールは標準的な存在になっていくと予想されます。開発チームの生産性向上とソフトウェア品質の向上を両立させるために、Apidogのような先進的なツールへの理解を深め、実践的に活用できるスキルを磨いていくことが重要だと考えます。


まとめ

本記事では、ApidogのLLMを活用したテストケース自動生成機能について、事前準備から実行までの一連の流れを解説しました。

Apidogを使うことで実現できること

  • OpenAPI仕様書から正常系・異常系・境界値・セキュリティテストケースを自動生成
  • テストケース作成工数の大幅な削減
  • 網羅的なテストによる品質向上
  • データベース連携による実データレベルでの検証(要DB設定)
  • 複数APIを連鎖させたテストシナリオの作成

段階的な活用のすすめ

  1. まずは基本から: OpenAPI仕様書のインポートとモックテストで、APIの仕様準拠性を確認
  2. 実践レベルへ: データベース連携を設定し、ビジネスロジックレベルの検証を実現
  3. さらに高度に: テストシナリオを活用し、ユーザーフロー全体のエンドツーエンドテストを自動化

今後の展望

Apidogは継続的にアップデートされており、AIによるテスト生成精度の向上や、より多様なLLMプロバイダーへの対応が期待されます。API開発の効率化を図りたい方は、ぜひ一度試してみてください。


参考リンク

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?