APIのパフォーマンステストは、APIがさまざまな負荷条件下でどのように動作するかを評価するためにテストプロセスです。最も有名なテスト用のツールであるPostmanはAPIパフォーマンステストをサポートしています。そこで、本文では、PosmtanでAPIのパフォーマンステストを簡単に行う方法を皆さんに紹介します。
そこで、完全無料で使えるApidogというオールインワンのAPIプラットフォームで、APIぱフォーマンステストを行うのがおすすめです。直感的なGUIからパフォーマンステストを簡単に設定・実行できる点が魅力的です。
Postmanとは
Postmanは、API開発者やテストエンジニアがAPIをテストするためのツールです。Postmanは、APIのエンドポイントを呼び出し、リクエストを送信し、レスポンスを受け取り、解析するための簡単で直感的なインターフェイスを提供します。Postmanにはコレクションというものがあり、APIリクエストを一括に実行することを実現することもできます。このコレクション機能を踏まえて、Postmanは、APIテストの自動化やパフォーマンステストをもサポートできるようになりました。
本文では、Postmanのコレクションランナーを使って、APIのパフォーマンステストを行う方法を皆さんに紹介します。
APIパフォーマンステストとは
APIのパフォーマンステストは、APIがさまざまな負荷条件下でどのように動作するかを評価するためのプロセスです。一般的には、以下のような側面をテストします。
1. 負荷テスト (Load Testing)
多数のリクエストを同時に送信して、APIの最大処理能力を測定します。APIが想定された最大負荷に耐えられるかどうかを確認できます。
2. ストレステスト (Stress Testing)
リソースを超えるリクエストを送信して、APIの振る舞いや障害ポイントを特定します。メモリ不足やスロットリングなどの異常な状況下での挙動を確認できます。
3. スパイクテスト (Spike Testing)
一時的な急激な負荷増加に対するAPIの反応を確認します。トラフィックの突発的な増加時にサービスが維持されるかをテストします。
4. 永続性テスト (Endurance/Soak Testing)
長時間にわたって一定の負荷をかけ続け、リソースの漏れやパフォーマンスの劣化がないかを監視します。
5. 並行テスト (Concurrency Testing)
複数のユーザーが同時にリソースにアクセスした際の動作を確認します。データ整合性の検証などに使われます。
これらのテストは、ツールを使って自動化されることが多く、負荷パターン、データセット、実行時間などを設定して実施されます。パフォーマンス目標を達成できるかを判断し、ボトルネックを特定し、最適化の必要性を評価するために重要です。
APIパフォーマンステストはなぜか必要?
APIを利用してアプリを開発する中、APIのパフォーマンステストが必要となる理由がたくさんあります。次は、APIパフォーマンステストが必要となる主な理由を紹介します。
- パフォーマンスと拡張性の検証
APIが想定される負荷に対して適切にスケールし、要求された性能を提供できることを確認します。ボトルネックを特定し、最適化の必要性を評価できます。 - 障害ポイントの特定
過剰な負荷をかけることで、APIの障害ポイントやリソース不足などの問題を事前に発見できます。システムの耐障害性や回復力を確認できます。 - サービスレベル目標の達成確認
応答時間、スループット、同時実行リクエスト数など、サービスレベル目標が満たされているかどうかをテストできます。 - キャパシティプランニング
負荷テストの結果から、ピーク時の需要に対応するためのリソース(サーバー、データベースなど)を適切に見積もることができます。 - コストの最適化
パフォーマンステストを行うことで、過剰なリソースプロビジョニングを防ぎ、コストを最適化できます。 - エンドユーザーエクスペリエンスの向上
遅延の少ないレスポンスや、ユーザー数の増加に対する適切なスケーリングにより、エンドユーザーの体験を改善できます。 - 運用リスクの低減
本番環境に展開する前にパフォーマンス問題を事前に発見し、対策を講じることで、運用リスクを低減できます。
つまり、APIのパフォーマンステストは、APIの信頼性、拡張性、効率性を検証し、システムの継続的な高パフォーマンスを確保するために不可欠なプロセスなのです。
PostmanでAPIパフォーマンステストを実装する
それでは、最も汎用されているAPIテスト用のツールとして、Postmanを使ってどのようにAPIパフォーマンステストを実装すれば良いのでしょうか?次は、PostmanでAPIパフォーマンステストを実装する方法を皆さんに紹介します。
ステップ⒈Postmanをダウンロードしてアカウントに登録
現段階では、APIパフォーマンステストはPostmanデスクトップバージョンでしか利用できないので、まずはPostmanをダウンロードしてインストールする必要があります。そして、Postmanのアカウントに登録する必要があります。
ステップ⒉コレクションを準備
PostmanのAPIパフォーマンスはコレクションに基づいて実行されますので、API仕様をPostmanにインポートしてコレクションを作成する必要があります。
ステップ⒊コレクションを実行
コレクションを作成すると、コレクションのフォルダーを選択して、右側のパネルで「実行」ボタンをクリックします。
ステップ⒋パフォーマンステストに切り替え
コレクションランナーの画面にアクセスすると、テストのタイプで「Performance」タブをクリックします。ここで「Load Profile」、「Virtual Users」、「Test Duration」を設定する必要があります。
- Load Profile:負荷の掛け方を定義するものです。
Fixed
(固定)を選択すると、指定の仮想ユーザー数で固定で負荷をかけますが、Ramp up
を選択すると、時間を設定して、仮想ユーザー数がこの間、徐々設定のVirtual Usersの人数にあがります。 - Virtual Users:仮想のユーザーとなり、何人くらいのユーザーが同時にAPIを利用するかをシュミレートするものです。
- Test Duration:パフォーマンステストの総実行時間です。
ステップ⒌APIパフォーマンステストを実行
APIパフォーマンステストの配置が終わると、「Run」ボタンをクリックして実行を始めます。ここでリアルタイムでAPIパフォーマンステストの結果を確認することができます。
ステップ⒍テストレポートの取得と共有
PostmanでAPIパフォーマンステストが終わると、テストレポートを取得して、他人に共有することもできます。テストレポートは、PDFかHTMLフォーマットでエクスポートされることが可能です。
上記のように、Postmanを使ってAPIパフォーマンスを数ステップだけで実行することができます。ただし、Postmanの無料版では、コレクションランナーの実行回数に制限があり、コレクションを思い通りに実行することができない場合がよくありますね。そこで、完全無料で使えるApidogを利用して、APIパフォーマンスをより便利に実行することがおすすめです。
ApidogでよりAPIパフォーマンステストを実行
ApidogはAPI設計、ドキュメンテーション、モックサーバーやテスト自動化などにも全面的にサポートできるツールとして、Postmanよりも便利にパフォーマンス・負荷テストを行うことができます。また、個人向け完全無料で使えるAPIツールになり、Apidogで次のような3ステップだけで、APIのパフォーマンステストや負荷テストを行いましょう。
ステップ⒈テストインスタンスの作成
Apidogを開き、自動テストモジュールから簡単にテストインスタンスを作成することが可能です。ここで任意のAPIをもテストステップを設定することもできますので、コレクションという制限もありません。
ステップ⒉ワークフローを手動で調整
自分の業務に従って、ワークフローを作成:APIの呼び出しをテストステップとして簡単に追加し、これらのテストステップに対していくつかの条件を設定して、テストステップをどのような順で実行するかというワークフローを直感的なGUIで定義できます。
ステップ⒊パフォーマンステストの実行
右側のメニューで「負荷テスト」を選択して、負荷テストの実装環境、仮想ユーザー数、持続時間などを設定して、負荷テストを実装することができます。
仮想ユーザー数:実際の作業中で同時に操作を10個するユーザー数をシミュレートできます。「同時接続ユーザー数」とも呼ばれています。
持続時間:パフォーマンスか負荷テストの合計実行時間です。実行中に仮想ユーザーがテストインスタンス内のすべてのリクエストをループします。
Ramp-up期間:テスト持続時間の最初の何分間は、スレッドが並行のユーザー数を増やしつつ、設定された仮想ユーザー数まで増やしていきます。0に設定すると、テスト開始時から設定された仮想ユーザー数を利用して実行します。
負荷テストが終わると、「テストレポート」タブをクリックして、非常に詳しい負荷テストのレポートを取得したり、他人に共有したりすることができるようになります。
また、過去に行った機能テストや負荷テストのレポートをここで確認できます。
まとめ
APIのパフォーマンス・負荷テストは、APIの信頼性、拡張性、効率性を検証し、システムの継続的な高パフォーマンスを確保するために不可欠なプロセスです。本記事では、PostmanとApidog両ツールを用いてAPIパフォーマンステストを実施する手順を解説しました。
Postmanは広く利用されているAPIテストツールで、コレクションランナーを使ってパフォーマンステストを行えますが、無料版では機能に制限があります。一方、ApidogはオールインワンのAPIプラットフォームで、個人向け無料プランを提供しており、直感的なGUIからパフォーマンステストを簡単に設定・実行できる点が魅力的です。
APIのパフォーマンステストは、本番環境に展開する前に行うことで、ボトルネックの特定や最適化、運用リスクの低減などの効果が期待できます。APIの品質とエンドユーザーエクスペリエンスの向上に寄与するため、開発サイクルに適切に組み込むことをお勧めします。