【えーぴーあいてすと】

APIテスト とは?

最終更新:
💡 APIへ直接入力し、応答と状態を確かめる

APIへ入力を与え、仕様どおりの結果や状態になるかを確かめるテスト。Web APIではUIを操作せずHTTPリクエストを送り、応答の値・ヘッダー・状態変化などを調べる。画面の表示や操作の検証とは役割が異なる。

📌 このページのポイント
Web APIへ直接入力して、結果を検証テストツール仕様と比べるWeb API処理を行う要求応答何を確認する?ステータス応答の値処理後の状態正常系も、不正入力や権限の条件も検証画面の表示・操作は、UIテストで確認
HTTPを使うWeb APIの例です。青のツールから橙のAPIへ要求し、返った応答や処理後の状態を仕様と比較します。APIテストとUIテストは検証対象が異なり、速さの一律ランキングではありません。
ひよこ ひよこ
APIテストは、画面を操作しないの?
ペンギン先生 ペンギン先生
Web APIなら、テストコードやツールから直接リクエストを送れるよ。画面を表示しなくても、APIの応答を確かめられる。UIテストの前にデータを用意したり、操作後の状態をAPIで調べたりする使い方もあるんだ
ひよこ ひよこ
応答が200なら、成功と判断していい?
ペンギン先生 ペンギン先生
仕様との一致を確認しよう。成功のステータスだけでなく、応答のデータやヘッダー、保存された状態なども調べる。エラーを返すべき入力に対して200が返る場合は、期待どおりとは言えないよ
ひよこ ひよこ
認証のトークンがないときは、必ず403?
ペンギン先生 ペンギン先生
一律ではないよ。HTTPの401は有効な認証情報がない場合、403は要求を理解した上で拒否する場合を表す。権限や情報を隠す方針などで応答が変わることもある。APIの仕様とHTTPの意味に沿って、正常・拒否の両方を確認するんだ
ひよこ ひよこ
UIテストの代わりに、全部APIで調べられる?
ペンギン先生 ペンギン先生
画面の表示やクリック、入力のつながりはUIの検証も必要だよ。APIテストは画面の変更に影響されにくいけれど、通信やデータ、外部サービスの状態には影響される。テストの範囲によって速さや安定性も変わるんだ
ひよこ ひよこ
どんな道具で、自動実行できるの?
ペンギン先生 ペンギン先生
例えばPostmanやPlaywrightを使えるよ。CIでもテストを実行できる。Postman CLIとNewmanは別の道具で、扱えるコレクション形式も確認しよう。テスト用のデータと認証情報を用意し、実行後の状態も管理するんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「APIテスト」って出てきたら「APIへ直接入力し、仕様どおりの応答や状態になるか確かめるテスト」と思えばだいたいOK!
📖 おまけ:英語の意味
「API Testing」 = APIのテスト
💬 APIはApplication Programming Interfaceの略で、プログラムが機能を使うための窓口だよ。ここでは主にHTTPで使うWeb APIを例にしているんだ

参考資料

← 用語集にもどる