APIの負荷テスト機能

APIテスト自動化ツール「SOAtest」は、APIのパフォーマンス・負荷テストも自動化できます。機能テスト用に作成したAPIテスト資産を使って、期待するサービス品質(SLA)を満たしているか API のパフォーマンス・負荷テストを実行し、性能面のレポートを生成します。

APIの性能はシステム全体に影響を及ぼす

なぜAPIの性能に関するテストが必要なのか?APIは他の誰かに利用されることを前提としたサービスであるため、APIの性能がボトルネックになってしまうとシステム全体の性能劣化を引き起こします。実際の開発においては、リリースの直前のみでAPIのパフォーマンス・負荷テストを実施する傾向にありますが、開発の早い段階から実施することがベストプラクティスとして常に提唱され続けています。テストが先伸ばしになる要因には、APIパフォーマンス・負荷テスト用に新たにテストスクリプトを作成する必要や過去作成したスクリプトをメンテナンスする必要があることなどがあげられます。また結果レポートを作成するためにデータを集計する作業が大変なため、頻繁にパフォーマンス・負荷テストを実施できない課題もあるため、効率的にテストをできるツールを選ぶことが重要なポイントと言えます。

負荷試験サービス

リリース直前で想定した性能が出ない、負荷に耐えられない、といったことが露見する前に、開発の初期段階からのパフォーマンス・負荷テストが推奨されています。テクマトリックスでは、お客様の代わりに負荷テストを実施する「負荷テストサービス」も行っています。負荷テストサービスの概要はこちらをご参照ください。

機能テスト用に作成したAPIテスト資産をパフォーマンス・負荷テストとして実行

APIテスト自動化ツール「SOAtest」で作成済みのコンポーネントテスト(単機能テスト)やシナリオテスト資産などをそのまま使用してパフォーマンス・負荷テストを実行できます。パフォーマンス・負荷テスト用に新しくテスト資産を作成する必要がないことや、パフォーマンス・負荷テストの目的だけでテスト資産をメンテナンスする必要がないため、開発の早い段階から効率的にパフォーマンス・負荷テストを実行できます。

機能テスト用に作成したAPIテスト資産をパフォーマンス・負荷テストとして実行

さまざまな負荷でAPIの性能を検証

1,000人が同時にリクエストを送信する状態や、一秒間に100リクエストを送信する状態など、必要に応じでさまざまな負荷のかけ方を設定できます。負荷のかけ方のプリセットを選択後に、GUIから直観的に負荷の波形を編集することも可能です。

さまざまな負荷でAPIの性能を検証

大量の負荷を生成

大量の負荷生成が必要な場合、複数の負荷生成マシンを用いて大量の負荷を生成いただけます。例えば、3,000人が同時にリクエストを送信する状態や、一秒間に300リクエストを送信する状態など、必要に応じて大量の負荷を生成いただけます。「SOAtest」は、負荷生成用のインスタンスをAWSのAMIとして用意していますので、負荷生成用に物理的なマシンの調達が手間である場合には、AWS EC2インスタンスから大量のリクエストを生成する負荷テストを素早く行えます。

大量の負荷を生成

サービス品質の検証(SLAの検証)

APIの性能、エラー率など、期待するサービス品質(SLA)をしきい値として設定し、テスト時にしきい値を超えることがないか検証できます。例えば、レスポンス時間の平均が500ミリ秒以下であること、といった条件の達成について検証したり、リソースの監視で収集したCPUやメモリの使用率などを検証できます。性能検証だけでなく、機能テスト用のアサーションを有効にしたままパフォーマンス・負荷テストを実施すると、高負荷状況で API が意図したとおりに機能するか検証することも可能です。

サービス品質の検証(SLAの検証)

リソースの監視

APIの性能検証に加えて、アプリケーションサーバーのメモリ使用率やOSのCPU利用率、メモリ使用率なども検証できます。APIの性能とリソースの使用状況の相関を可視化し、分析することを可能にします。Windowsパフォーマンスモニターや、SNMP、JMX モニターなどで取得した情報を可視化します。

リソースの監視

レポートの生成

報告に使えるリッチなレポート

APIのパフォーマンス・負荷テスト結果をhtmlレポートとして生成できます。OSSのパフォーマンス・負荷テストツールではレポートの集計・作成が手間になり、テストをする度に工数がかかる作業になりがちですが、「SOAtest」が生成するレポートは、サービス品質(SLA)の検証結果やグラフなど、テストに関するさまざまな情報を含めてレポートするため、そのまま報告用のレポートとして利用でき、作業を効率化できます。

CI/CDで継続的なパフォーマンス・負荷テスト

「日々変わらぬ性能で動作する」品質保証

APIテスト自動化ツール「SOAtest」で作成したシナリオテストは、CLI実行(コマンドライン実行)も可能です。APIのパフォーマンス・負荷テストを CI/CDパイプラインに加えて、継続的テストとして運用することで、性能のボトルネックや問題箇所の早期発見に加え、「日々変わらず安定した性能で動作する」品質保証のための検証を実施いただけます。

CI/CDで継続的なパフォーマンス・負荷テスト

APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。