Apidogユーザーの皆さん、こんにちは!👋 過去1年間、私たちは「テストシナリオ」を中心に包括的な自動テストプラットフォームを構築してきました。テストシナリオとは、複数のAPIリクエストを完全なビジネスフローにつなぎ合わせる再利用可能なワークフローシーケンスです。テストシナリオは「どのようにテストするか」という問題を解決しますが、チームからは「何をテストするかをどのように整理するか」という別の課題について一貫したフィードバックをいただいていました。
チームからは、何百ものテストケースがビジネスモジュールごとに整理されているものの、リリース時の回帰テストではP0ケースのみを実行したいと聞かされます。しかし、現状では、それらを一つ一つ手動で検索して選択しなければなりません。また、肯定テストケースと否定テストケースの両方を保持しているものの、スモークテストでは肯定フローのみをカバーしたいという声もあります。さらに、新しいケースが追加されると、回帰テストリストから忘れられがちです。
本日、私たちはテストスイートを導入します。これは、個別に選択するのではなく、ルールに基づいてテストを整理・実行できる新しいリソースタイプです。テストスイートは、テストワークフローに3つの主要な機能をもたらします。
- 動的なテストルーティング:タグ、ディレクトリ、または優先度レベルに基づいてフィルタリングルールを一度定義するだけで、実行時に一致するケースが自動的に含まれます。条件を満たす新しいケースは、手動でのメンテナンスなしで追加されます。
- 並列実行:シリアルモードと並列モードをワンクリックで切り替えられます。システムは利用可能なリソースに基づいて並行処理を自動的に最適化し、時間のかかる回帰テストを数分に短縮します。
- 構造化されたテストレポート:フラットなリストをスクロールする代わりに、モジュール、優先度、またはタグといった組織ロジックに基づいてグループ化された結果を表示できます。失敗したケースは明確なコンテキストとともにすぐに表示されます。

各機能の動作について、さらに詳しく見ていきましょう。
動的なテストルーティング
QAチームから最もよく聞かれる要望は、「支払いモジュール内のP0ケースを一つ一つ選択することなくすべて実行したい」というものです。テストスイートは、テストの作成とテストの整理を分離することで、この問題を解決します。
テストシナリオは依然として構成要素であり、それぞれが完全なビジネスワークフロー(ログイン、注文作成、支払い、ステータス確認)を表します。テストスイートでは、これらのシナリオをタグ、ディレクトリ、優先度レベル、またはそれらの任意の組み合わせといった条件でグループ化できます。スイートを実行すると、実行時に一致するすべてのケースが自動的に含まれます。
AIを活用した開発ツールがコードやテストの生成を加速するにつれて、この機能の重要性は増しています。動的なスイートを使用すると、新しいケースが追加されるたびに回帰リストを手動で更新する必要はありません。ケースを作成し、適切なタグを適用すれば、残りはスイートが処理します。
さまざまなテストのニーズに合わせて、2つのモードをサポートしています。
- 静的モードでは、固定されたケースのリストが提供されます。含めるシナリオを正確に選択し、そのリストは変更するまで変わりません。これは、ほとんど変更されないが頻繁に実行される5〜15の重要なシナリオの厳選されたセットであるスモークテストに最適です。

- 動的モードでは、ルールを使用して一致するケースを自動的に含めます。「Payment」ディレクトリ内のP0優先度のすべてのケース、といった条件を定義すると、テストライブラリの進化に合わせてスイートは常に最新の状態を保ちます。これは、ケース数が定期的に変更されるモジュール回帰テストに最適です。

製品インターフェースでは、用語を事前に理解する必要なく、この選択をガイドします。静的モードを選択すると、個々の選択用のチェックボックスが表示されます。動的モードを選択すると、「これらの条件に一致する新しいケースは自動的に含まれます」という注記とともに、一致するケースの読み取り専用プレビューが表示されます。
並列実行
テストスイートが数百のケースにまで増えると、シリアル実行がボトルネックになります。完了までに1時間かかる完全な回帰テストは、リリースパイプラインを遅らせ、本番監視での問題検出を遅延させます。
テストスイートは、最初から並列実行をサポートしています。シリアルモードと並列モードを切り替えるだけで、システムはマシンの利用可能なリソースに基づいて最適な並行処理を自動的に決定します。手動での調整は不要です。これにより、テストロジックを変更することなく、60分の回帰テストを30分未満に短縮できます。

並列実行は、依存関係の分離を自動的に処理します。各シナリオは独自のコンテキストで実行され、あるシナリオの共有変数や環境状態が別のシナリオと干渉しないようにします。互いに真に依存するシナリオについては、それらを単一のシナリオに順次ステップでグループ化できます。
構造化されたテストレポート
従来のテストレポートは、結果を一つ一つリストアップします。複数のモジュールにわたる200のケースを含むスイートを実行している場合、重要な失敗を見つける作業は面倒になります。
テストスイートのレポートは、組織ロジックに基づいて構造化されています。結果は、モジュール別、優先度別、タグ別など、定義した条件によってグループ化されます。個々のエントリをスクロールすることなく、「支払いモジュール: 45/47 合格」および「ユーザーモジュール: 32/32 合格」といった情報をすぐに確認できます。

各グループを展開すると、実行時間、アサーション数、失敗の詳細を含む個々のシナリオ結果が表示されます。失敗したシナリオは、明確なエラーコンテキストとともに上部に表示されるため、ログを漁ることなく問題をトリアージできます。

レポートには、実行メタデータも含まれます。合計時間、並列実行効率(シリアル実行と比較して節約された時間)、使用された環境設定などです。これにより、時間の経過とともにスイート設定を最適化し、コンプライアンス要件のための監査証跡を提供できます。
柔軟なオーバーライドを備えた統合構成
各テストシナリオは、環境、ループ回数、その他の設定といった独自の実行構成を持つ場合があります。複数のシナリオをスイートにグループ化する場合、どの構成を優先するかを決定する必要があります。
デフォルトでは、各シナリオは保存された構成で実行されます。これは最も直感的な動作です。特に環境設定については、スイートはシナリオが継承できる統合された環境セレクターを提供します。これにより、回帰スイート全体をステージング環境から本番環境へ単一の変更で切り替えることができます。
完全に制御したい場合は、すべてのシナリオレベルの設定を上書きするカスタム構成を指定できます。このオプションは、一般的なパスをシンプルに保つために、詳細設定で利用可能です。

テストスイートとディレクトリバッチ実行の比較
Apidogはすでにディレクトリレベルでのバッチ実行をサポートしています。テストスイートは異なる目的を果たします。
ディレクトリは、物理的な構造によってケースを整理します。1つのケースは1つのフォルダーに属します。
テストスイートは、論理的なルールによってケースを整理します。1つのケースは同時に複数のスイートに属することができます。
例として、P0の支払いテストケースは、「支払いモジュール回帰テスト」(すべての支払いタグ付きP0/P1ケース)と「フルスモークテスト」(システム全体のすべてのP0ケース)の両方に含まれることができます。この柔軟性により、コミットごとにトリガーされるスモークテスト、リリース前の完全な回帰テスト、本番環境での定期的なヘルスチェックなど、さまざまなシナリオに対応する再利用可能なテスト実行単位を構築できます。
機能 | 目的 | 最適な用途 |
|---|---|---|
テストシナリオ | ビジネスフローのオーケストレーション | 個々のテストワークフローの定義 |
ディレクトリ | 物理的な整理 | チームコラボレーション、ケース管理 |
ディレクトリバッチ実行 | 迅速な実行 | 探索的テスト、アドホック回帰テスト |
テストスイート | 再利用可能な実行単位 | リリース回帰テスト、スモークテスト、定期監視 |
今後の開発予定
現在、スイートのネスト(他のスイートからのスイート構成)と、失敗時の自動再試行について検討しています。動的モードはすでにほとんどの構成ニーズに対応しており、再試行によって真の失敗を隠蔽することは避けたいと考えています。使用パターンに基づいて再検討します。
開始方法
テストスイートはApidogで現在利用可能です。自動テストモジュールから最初のスイートを作成し、静的モードまたは動的モードを選択し、条件を定義して実行してください。CLIを使用してCI/CDパイプラインと統合し、コードマージ時またはスケジュールでスイートをトリガーできます。
会話に参加しよう
テストスイートが皆さんのワークフローにどのように役立っているか、ぜひお聞かせください。コミュニティチャンネルでフィードバックを共有し、APIエンジニア仲間やApidogチームとつながりましょう。
- Discord: リアルタイムの議論やテスト戦略のためにコミュニティに参加しましょう
- X (Twitter): 最新の製品アップデートやAPIに関する洞察を得るためにフォローしてください
- LinkedIn: 専門的なアップデートや業界の視点を得るために私たちとつながりましょう。これらのアップデートの完全な詳細は、Apidog変更履歴でご確認ください!🚀
快適なテストを!



