Тестирование Web API — From Zero To Hero

10 марта, 2021

Под фразой «тестирование API» большинство людей подразумевает именно тестирование Server-Side Web API, несмотря на то, что Web API всего лишь один из многих типов API. [1]


В статье представляем полный набор теории, инструментов, открытых Web API и Roadmap для освоения основ тестирования Server-Side Web API.

Термины

API (программный интерфейс приложения) — описание способов, которыми одна компьютерная программа может взаимодействовать с другой программой. [2]

Web API — это API для WEB, которое необходимо для взаимодействия веб-сервера и веб-клиента. [3]


Server-side Web API — это API на стороне веб-сервера, которое состоит из одного или нескольких публично доступных точек доступа (endpoints) для системы обмена определенными сообщениями вида запрос-ответ, которые, обычно, описываются при помощи JSON или XML и передаются через Web при помощи HTTP. [4, пер.]


Тестирование API - баг
Front-End и Back-End разработчики в компании, не проводящей тестирование API

Roadmap по обретению навыка тестирования Server-Side Web API

Процесс изучения тестирования Server-Side Web API:

  1. Разобраться с уровнями тестирования
  2. Изучить всю информацию из раздела Теория (для базового понимания архитектуры приложения, API, зачем оно нужно и как его тестировать)
  3. Ознакомиться с форматами данных JSON / XML, попробовать создать несколько правильно отформатированных сообщений в инструментах для проверки форматов данных
  4. Скачать один из инструментов тестирования API, открыть его документацию и начать разбираться с основами (советую начать с Postman)
  5. Параллельно с изучением документации открыть любое тестовое API и делать запросы в него, закрепляя только что выученный материал
  6. Изучить альтернативный инструмент тестирования API (SoapUI)
  7. Изучить дополнительные инструменты, инструменты документирования API
  8. Создать свое API и протестировать его
  9. Поисследовать API Google, Twitter, Facebook, Rabota.ua, HH.ru
  10. Если вы дошли до этого момента — поздравляем, вы знаете основы тестирования Server-side Web API 🙂

Теория

HTTP

  1. An overview of HTTP
  2. HTTP request methods
  3. HTTP response status codes

Архитектура приложений

  1. Client-Server Overview
  2. Pattern: Microservice Architecture
  3. Pattern: Monolithic Architecture

REST

  1. What is REST

API

  1. API — Wiki
  2. API — MDN
  3. What is API: Definition, Types, Specifications, Documentation

Тестирование API

1. API Testing Approaches and Tools: Postman, Rest Assured, jMeter, and more


Форматы данных

JSON

  1. Working with JSON

XML

  1. XML introduction

JSON vs XML

  1. JSON vs XML
  2. JSON vs XML: What’s the Difference?

Инструменты

Для тестирования API

Postman

  1. Официальный сайт
  2. Postman Learning Center
  3. Capturing HTTP requests

SoapUI

  1. Официальный сайт
  2. Learn SoapUI

Для проверки форматов данных

  1. Валидатор JSON
  2. Валидатор XML

Для анализа трафика

Postman Interceptor

  1. Синхронизация cookies и перехват запросов с Chrome

Fiddler

  1. Официальный сайт
  2. Документация

Charles

  1. Официальный сайт
  2. Документация

Для документирования API

Swagger

  1. Официальный сайт
  2. Документация

Практика

  1. {JSON} Placeholder — Free fake API for testing and prototyping
  2. REQ | RES — Test your front-end against a real API

Создать свое API

  1. https://mockend.com/
  2. https://www.mockapi.io/docs

Теория в Телеграм

Специально для подписчиков нашего Телеграм канала мы создали публикацию со всей полезной информацией связанной с тестированием API, который будет обновляться вместе с этим постом.


Источники

  1. https://www.altexsoft.com/blog/engineering/what-is-api-definition-types-specifications-documentation/
  2. https://ru.wikipedia.org/wiki/API
  3. https://www.w3schools.com/js/js_api_intro.asp
  4. https://en.wikipedia.org/wiki/Web_API

🔥 Присоединяйся к 3,000
тестировщикам в Телеграм!