こんにちは!hacomono QA部のえびちゃんこと蛯子(えびこ)です。
今回はAPIテストにPostmanを導入し、実際に使ってみて発見した便利な機能をいくつかご紹介できればと思います。
Postmanとは?
Postman は、API を構築および使用するためのAPI プラットフォームです。
APIテスト機能を有しており、リクエストやトークンを設定してAPIを送信することによりレスポンスの確認ができます。
GUIベースでとっつきやすく、初心者でも直感的に操作ができるように設計されているツールです。
テストスクリプト生成AI「Postbot」
APIテストを行う際、期待したレスポンスが返ってくるかどうかを確認したい時、Post-responseにテストスクリプトを書くと実行のたびに期待した動作であるかをチェックできます。
特にリグレッションテストなどテストを繰り返し実行する際に一定の動作を担保できるため重宝します。
例えば、以下のようなスクリプト
pm.test("Status code is 200", function () { pm.response.to.have.status(200); });
これはレスポンスのステータスコードが200であるか?のテストです。
API実行のたびに記載したテストの結果を「PASS」 or 「FAIL」で表示します。
実はこちらテストスクリプト生成AI「Postbot」で生成することができます。
実行方法
Postmanに内蔵されたPostbotのチャット欄にプロンプト(AIへの指示)を送信します。
レスポンスが200であることを確認するテストを追加
すると、以下のように前述したテストスクリプトを生成します。
リクエストを送信してみると、生成したテストが正常に実行されていることが確認できます。
こちらの例では比較的シンプルなスクリプトの生成でしたが、プロンプトを工夫することでさらに複雑なスクリプトを生成することもできます。
そのほか、Postbotにはテスト結果のVisualizeなど豊富な機能があります。
この辺りはみなさんにもぜひ実際触っていただければと思います。
APIパフォーマンステスト
Postmanは、APIパフォーマンステストの機能を有しています。
対象のAPIに対して指定した負荷をかけることによりパフォーマンス性能に問題がないかを確認できます。
実際に私が使用したシーンとしては、API レート制限(Rate limiting)を設けたAPIに対して、1秒間に処理を行うHTTPリクエストの数(Request Per Second)を変化させることにより期待した動作となるか?を検証しました。
実行方法
テスト実行時にPerformanceタブからパフォーマンステストの設定ができます。
以下、それぞれ設定できる項目の説明です。
- Load profile
- リクエスト数を固定したり、徐々に上げていく。など負荷のかけ方を設定できます。
- Virtual users
- maxのリクエスト数に依存する仮想ユーザー数を設定します。
- Test duration
- テスト実行時間を設定します。
実際に実行した時のイメージはこちら
実行中はリアルタイムに結果を確認できます。
また、テスト結果をレポートとして出力することも可能で、開発チームの中でパフォーマンスレベルについて議論する際に重宝しました。
まとめ
今回はPostmanについて、便利な機能を紹介しました。
しかし、まだまだ紹介できていない機能はたくさんありますので、色々触ってみて使いこなしていきたいと思っています!
hacomonoでは採用も行っております。
興味がございましたら下記の採用ページも見ていただけるととても嬉しく思います!