APIテストとは何か、REST APIテストの正攻法 Vol.2

データを利活用して新しい価値を創造する DX に欠かせないデータ連携。そのデータ連携を実現する REST API のテスト自動化に関する記事をお届けします。※ APIテストとは何か、REST API テストの正攻法 Vol.1 の続きです。

なぜ REST API のテストを行うのか?

開発者とテスト担当者は、スマートフォンのアプリや PC ブラウザー操作などの、UI 操作の対象となるフロントエンドだけでなく、バックエンドの REST API の信頼性も保証する必要があります。システム全体の品質を確保するために、REST API テストは欠かせません。
 
幸いなことに、REST API テストは、UI と切り離して実行できます。REST API と直接対話(データ連携)するテストケースを設計し、REST API レベルで機能をテストする事には、主に次の2つの利点があります。
 
  • UI からの操作では入力データ制限や画面操作を伴うテストの手間などからテストしにくいケースであっても REST API なら UI 操作を行なうことなく、直接テストデータを投入して検証できる
  • REST API は UI と比較して作りが単純であるため、テスト資産のメンテナンスの容易さも含め、自動化に向いている

REST API テストへのアプローチ

REST API テストにアプローチする最善の方法は、ボトムアップ的に堅固なテストプラクティスを構築することです。その際、テスト戦略の設計方法として非常に優れているのは、Martin Fowler が提唱するテストピラミッドに従うことです。このピラミッド型のアプローチでは、堅固なユニットテストの基盤の上に、幅広い REST API のテスト(コントラクトテスト、シナリオテスト、パフォーマンステストなど)を構築することが推奨されます。REST API テストでは、ユニットテストでは不可能なレベルでアプリケーションロジックをテストできます。

ユニットテストと REST API テストは互いを補完します。SDLC(ソフトウェア開発ライフサイクル)の後半ではなく、早期に実装に近いレベルでアプリケーションをテストすることは、「fail fast and fail early」つまり早期に欠陥を検出するのに役立ちます。 ユニットテストは重要ですが、今回の記事では REST API に焦点を当てて、API レベルでのテストについて取り上げます。
では、どのような REST API テストがあるのでしょうか?REST API テストはなぜ重要なのでしょうか?どのように REST API のテストを実施すればよいのでしょうか?

次回は、様々なタイプの REST API テストについて、使いどころや利点なども含めて説明します。

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

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

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

    03-4405-7853

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

CONTACT

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