画面を通さずに API を直接テストすると、速く安定する。
画面を通さずに API を直接テストすると、速く・細かく確かめられます。画面では選べない値(マイナスの数、とても長い文字列、他人の ID)を送れるのも利点です。
| 道具・方法 | 向いている使い方 | 気をつけること |
|---|---|---|
| curl | 1つのリクエストをすぐ試す、手順を文字で共有する | トークンなどの秘密を共有の文章に残さない |
| Postman などの GUI | リクエストをまとめて保存し、環境ごとに切り替えて連続で流す | コレクションを共有するなら環境変数に秘密を分ける |
| 自動テストのコード | CI で毎回流す回帰テスト | テストデータを自分で作り、他のテストと独立させる |
| 契約テスト | サービス同士の約束が守られているかを早く確かめる | 機能が正しいかまでは見ない(それは別のテストで) |
curl と Postman
curl はコマンドで HTTP のリクエストを送る道具で、手順をそのまま共有できます。
curl -i -X POST https://staging.example.com/api/orders \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"item_id": 1, "quantity": -1}'
# -i でステータスとヘッダーも表示。期待は 400 か 422Postman などの GUI の道具は、リクエストをまとめて保存し、環境(開発・検証)ごとの変数を切り替え、レスポンスの確認(ステータスが 201 か、項目があるか)を書いて連続で流せます。
面接ではこう答える
API のテストは、画面を通さずに API を直接呼んで確かめるテストです。画面より速く安定していて、画面では入力できない値、たとえばマイナスの数量や他人の ID も送れます。1回だけ試すなら curl、まとめて保存して流すなら Postman などの道具、毎回流す回帰テストなら自動テストのコードにします。
QAとの関わり入力の検証・権限・二重送信など、画面からは確かめにくい不具合を見つける、QA の主要な手段です。