チュートリアル
API テストを学ぶ
このチュートリアルは API とは何かから始まり、負荷テストと CI パイプラインで終わります。最初の 7 レッスンはプログラミングの知識がなくても大丈夫です。その後は JavaScript や Python を使う例もありますが、どれもコピーしてすぐ実行できる短さです。
レッスンのリクエストはすべて本物の API、https://api.testingapis.com に送られます。 書き込みができ、決まった形で失敗するように作られたエンドポイントもあるので、ほかでは再現しにくい問題で練習できます。ほとんどの例には、このページからリクエストを実行できる「送信」ボタンがあります。最初のレッスンはアカウント不要のエンドポイントを使いますが、後半のレッスンには無料アカウントが必要で、サインインすると「送信」ボタンが使えます。
全 19 レッスン3 レベル無料
初級
全 7 レッスンAPI とは何か、HTTP の仕組み、リクエストの送り方と返ってきたものの読み方。
- 01API とはクライアント、サーバー、そして気づかないうちにもう送っていたリクエスト。
- 02リクエストの構造メソッド、URL、ヘッダー、ボディ、そしてサーバーが実際に受け取るもの。
- 03レスポンスの読み方ステータスコード、レスポンスヘッダー、そしてボディ。
- 04HTTP メソッドGET、POST、PUT、PATCH、DELETE、そしてどれが繰り返しても安全か。
- 05JSON の読み方JSON の 6 つの型と、テストをつまずかせる値。
- 06curl と Postman でリクエストを送る毎日使うことになる 2 つのツールと、それぞれの使いどころ。
- 07最初のテストケースを書く期待結果、ネガティブテスト、境界値、同値クラス。
中級
全 7 レッスン本物のエンドポイントをきちんとテストする:CRUD、検証、認証、ヘッダー、コードで書くテスト。
- 08リソースを端から端までテストする作成、取得、更新、削除、そしてそれぞれが本当に起きたかの確認。
- 09検証とエラーをテストする不正な入力、欠けたフィールド、違う型、そしてよいエラーとはどういうものか。
- 10絞り込み、並べ替え、ページネーション3 ページ目まで誰も気づかない、一覧エンドポイントのバグ。
- 11Authentication and authorizationBasic auth, API keys, bearer tokens and JWTs, and the difference between 401 and 403.
- 12Headers, caching and cookiesContent negotiation, ETags, 304 responses and session cookies.
- 13Automating tests with codeTurning manual checks into tests with JavaScript or Python.
- 14Schemas and contract testingChecking the shape of a response, and using an OpenAPI document as the source of truth.
上級
全 5 レッスン本番でしか出てこない障害:タイムアウト、非同期処理、セキュリティホール、負荷。
- 15Timeouts, retries and rate limitsFlaky servers, idempotency keys, 429 responses and how clients should behave.
- 16Async jobs, webhooks and streamsTesting work that finishes later, requests the server sends to you, and open connections.
- 17Security testing basicsBroken object access, auth bypasses, mass assignment and injection.
- 18Performance testingMeasuring latency, reading percentiles and running a small load test.
- 19Running tests in CITest data, flaky tests, pipelines and deciding what to test at all.