Что такое API простыми словами: объяснение для тестировщика

Без понимания API тестировщик видит только верхушку: кнопку и результат. С ним становится видно, где именно сломалось и кто виноват — интерфейс или сервер.

Что такое API простыми словами

API — это способ, которым одна программа обращается к другой. Не через кнопки и экраны, а напрямую: «дай список товаров», «создай заказ», «проверь этот пароль».

Бытовая аналогия: в кафе вы не идёте на кухню и не готовите сами. Вы говорите официанту, чего хотите, из фиксированного меню — и получаете результат. Меню и правила заказа и есть API: список того, что можно попросить, и в каком виде.

Когда вы нажимаете «Оформить заказ», браузер не делает ничего волшебного: он отправляет на сервер запрос с данными вашей корзины и ждёт ответ. Всё, что делает интерфейс, — это красиво показать результат.

Из чего состоит запрос

ЧастьЧто этоПример
МетодЧто делаемGET, POST, PUT, DELETE
АдресС чем делаем/api/orders/10432
ЗаголовкиСлужебные данныеAuthorization, Content-Type
ТелоЧто передаём{"productId": 10, "qty": 2}

Ответ устроен похоже: код ответа (200, 404, 500), заголовки и тело — обычно JSON.

Зачем тестировщику лезть в API, если есть интерфейс

Через интерфейс можно проверить не всё, а иногда — принципиально не то.

💡 Проверка, которая находит уязвимости

Возьмите свой запрос вида GET /api/orders/10432 и поменяйте номер на чужой. Если данные вернулись — сервер не проверяет владельца. Это одна из самых частых и самых дорогих ошибок.

Что такое REST и почему это слово везде

REST — набор соглашений о том, как строить API поверх HTTP. Не стандарт с проверкой, а договорённость, поэтому «RESTful» бывает очень разного качества.

Основные соглашения: адрес обозначает сущность (/orders, /users/7), действие задаётся методом, а не словом в адресе (DELETE /orders/5, а не /deleteOrder?id=5), состояние между запросами на сервере не хранится — авторизация передаётся каждый раз.

Для тестировщика это значит предсказуемость: увидев POST /api/orders, вы уже знаете, что произойдёт, и какие проверки нужны.

Минимальный набор проверок для любого метода API

Когда перед вами незнакомый метод, а требований мало, начинайте с этого списка — он закрывает большую часть типовых дефектов.

⚠️ Самая частая находка

Ответ 500 там, где должен быть 400. Некорректные данные — это ожидаемая ситуация, и сервер обязан отвечать понятной ошибкой, а не падать. Отправьте в числовое поле строку — и посмотрите.

С чего начать практику

  1. Откройте DevTools → Network → фильтр Fetch/XHR на любом сайте и посмотрите, какие запросы он шлёт при ваших действиях.
  2. Возьмите один запрос, скопируйте «Copy as cURL» и выполните в терминале — убедитесь, что получили тот же ответ.
  3. Импортируйте его в Postman и поменяйте одно поле в теле. Посмотрите, что ответит сервер.
  4. Проверьте запрос без заголовка авторизации — должен быть 401.
  5. Проверьте с чужим идентификатором — должен быть 403 или 404.

Что означают коды в ответах — в шпаргалке по HTTP. Попробовать всё это без установки инструментов можно в тренажёре «клиент API»: учебный сервер поднимается прямо в браузере.

Нужно ли уметь программировать, чтобы тестировать API?

Нет. Для ручной проверки достаточно Postman и понимания, как устроен запрос. Программирование нужно, когда проверки автоматизируют.

Чем отличается тестирование API от тестирования интерфейса?

Уровнем: API проверяется без экрана, поэтому туда попадают проверки, недоступные через кнопки, — права, форматы, ограничения на сервере.

Что такое JSON?

Формат записи данных, в котором API чаще всего отвечает: пары «ключ — значение» в фигурных скобках. Читается человеком без инструментов.

API — то место, где чаще всего срезаются на собеседовании: теорию рассказывают все, а собрать запрос с авторизацией и прочитать ответ могут не все. В курсе под это отдельный модуль с тренажёрами Postman и терминала, где запросы уходят на настоящий учебный сервер. 14 900 ₽ один раз, доступ навсегда, тренажёр «клиент API» открыт бесплатно.

Начать бесплатно Программа курса