APIテスト自動化ツール「SOAtest」の利用方法 Vol.3

APIテスト自動化ツール「SOAtest」の機能や利用方法をご紹介します。

はじめに

ここでは、APIテスト自動化ツール「SOAtest」を利用したAPIテストの流れを動画と共にお届けします。
この記事では、データベース検証やエビデンス収集などのAPI以外のテストも自動化するマルチチャネルテストやAPIのパフォーマンステストについてご紹介します。

この記事を読む前に、前の記事も閲覧することをおすすめします。

STEP5:APIテスト以外のテストもまとめて自動化

APIテストのユースケースは幅広く、ユースケースによってはDB値の検証や初期化、または、バッチ実行をおこなうなど、複数のインターフェイスを跨いだテストが必要となるシナリオも存在します。SOAtestでは、これらのユースケースのテストをおこなう時に、複数のインターフェイスを包括的にカバーするマルチチャネルテストを自動化することができます。
ここでは、マルチチャネルテストの一例として、SOAtestを利用したDB値の検証、エビデンスの自動収集、バッチ実行の方法をご紹介します。

DB値の検証

SOAtestには、DB値の検証や CRUD 操作を可能にする、「DB Tool」 という機能が搭載されています。DB Tool は、API テスト実行後の、DB値の整合性を確認するためによく利用され、DB値の自動検証や、API テストの前にDB値を初期化するなど、さまざまなユースケースで活用できる機能です。






API のシナリオテストに DB Tool を追加することで、API テストとDB値の検証を実施することができます。たとえば、APIテスト(POST 電文)で書籍を登録した場合に、その情報が正しくDBに反映されていることを、DB Toolを用いて検証できます。また、API テストで取得したレスポンス電文から値を抽出し、DB Tool に受け渡すようなシナリオテストも可能です。






バッチ実行

SOAtestには、バッチやシェルなどを実行することを可能とする「External Tool」という機能が搭載されています。バッチやシェルなどの実行形式ファイルを実行し、戻り値や標準出力の検証をシナリオテストにまとめて自動化することができます。また、リモートの Linux サーバーにコマンドを打ち込む TeraTerm のマクロファイルを用意し、シナリオテストの一部として実行することも可能です。

エビデンスの自動収集

API テストでは、テスト実行のエビデンスとして、送受信されたリクエストとレスポンスのトラフィックを保存する場合があります。SOAtestではエビデンスを自動で収集する「File」という機能が搭載されているので、SOAtestを利用したテスト実行時には、トラフィックをファイルに自動出力することができます。なお、この機能は、APIテスト時のトラフィックに加え、DB Toolで送受信したトラフィックや、バッチやシェルなどの実行ログをファイル出力することもできます。








STEP6:パフォーマンス・負荷テスト

APIには「500ミリ秒で応答すること」などの性能に関するSLA(Service Level Agreement)が設定されることが一般的です。そのため、APIのパフォーマンス・負荷テストは重要となりますが、テストプロセスの最後にのみ実施される傾向にあることや、APIテストとパフォーマンス・負荷テストで別々のツールを使用しているために、テスト資産を2重で管理する傾向にあり、テスト運用が非効率になっているような課題があります。このような課題に対し、SOAtestには、APIのパフォーマンス・負荷テストを実施する機能が搭載されており、SOAtestで作成したAPIのテスト資産をパフォーマンス・負荷テストで利用し、より早い段階から性能の確認をおこなう事ができます。ここでは、SOAtestを活用したAPIのパフォーマンス・負荷テストの概要をご紹介します。

パフォーマンス・負荷テスト

SOAtestのパフォーマンス・負荷テスト機能では、機能テスト用に作成したAPIのコンポーネントテストやシナリオテストなどをそのまま使用してパフォーマンス・負荷テストを実行し、SLAに基づいた性能を満たしているのか検証を自動化できます。また、性能に関するリッチなレポートを出力します。自作のテストドライバーでAPIテストを行っている場合やパフォーマンス・負荷テスト機能を搭載していないテストツールでAPIテストを行っている場合は、別途負荷テストツールを使用して、パフォーマンス・負荷テスト用のテストスクリプトも作成・管理する必要がありますが、SOAtestであれば、そのような運用を改善できます。

まとめ

STEP5とSTEP6を通して、APIテスト以外のテストも含めて自動化するマルチチャネルテストの方法や、APIのパフォーマンス・負荷テストについてご紹介しました。この記事では、シリーズを通してSOAtestを使用したテストドライバーの作成や、ユースケースに応じた拡張方法をご紹介してきました。ここでご紹介した動画は、チュートリアル動画でもご覧いただけます。

SOAtestには、この記事でご紹介した機能の他にもさまざまな機能が搭載されています。ご興味がございましたら、「APIテスト自動化」および「サービス仮想化」のページもご覧ください。

このページは、「APIテスト自動化ツール「SOAtest」の利用方法 Vol.3」です。関連する記事をまとめて読む場合は、「APIテストまるわかりガイド」から資料をダウンロードいただけます。
APIテストまるわかりガイドダウンロード

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

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

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

    03-4405-7853

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

お問い合わせ

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