Prog Academy
RU UA
QA та тестування

Що таке тестування API?

Тестування API — перевірка серверних методів напряму, без інтерфейсу: тестувальник надсилає запит із певними параметрами й звіряє відповідь — дані, структуру, код статусу та час обробки.

Такі перевірки швидші й надійніші за інтерфейсні: не потрібно чекати завантаження сторінки, а тест не ламається від зміни верстки. Крім того, API можна тестувати раніше — ще до того, як фронтенд буде готовий.

Перевіряють не лише успішний сценарій. Важливіша поведінка на межах: некоректні дані, відсутні поля, чужий токен, неіснуючий ідентифікатор. Помилки авторизації, знайдені на цьому рівні, часто виявляються найкритичнішими.

Інструменти: Postman для ручних перевірок і колекцій, REST Assured у Java, requests у Python — для автотестів.

Де застосовується

Перевірку API ставлять раніше за перевірку інтерфейсу: помилка на цьому рівні обходиться дешевше і локалізується точніше. Тестувальник надсилає запити з коректними і навмисно хибними даними, дивиться коди відповідей, структуру і вміст, перевіряє авторизацію та поведінку за відсутніх полів.

Починають зазвичай з Postman: там зручно збирати колекції запитів і ділитися ними з командою. Далі перевірки переносять у код — RestAssured для Java, requests з pytest для Python, вбудований клієнт Playwright для JavaScript — і запускають у конвеєрі CI при кожній зміні.

Приклад

Метод створення замовлення коректно працює з валідними даними. Тестувальник надсилає відʼємну кількість товару і отримує код 200 замість помилки — замовлення створюється із сумою в мінус. Інтерфейс такої ситуації не допускає, але API викликається і напряму.

GET /api/orders/42 HTTP/1.1
Host: example.com

HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
  "error": "missing_token",
  "message": "Authorization header is required"
}
Перевірка авторизації: без токена метод зобовʼязаний повертати 401, а не дані.

Часті запитання

Чому перевіряти API важливіше, ніж інтерфейс?

Не важливіше, а раніше й дешевше. Тести API працюють у рази швидше, не залежать від верстки і точніше вказують на причину. До того ж інтерфейс — не єдиний клієнт: до того самого методу звертаються мобільний застосунок і зовнішні інтеграції.

Що саме потрібно перевіряти у відповіді?

Код статусу, структуру і типи полів, коректність значень, обробку помилок і граничних даних, швидкість відповіді. Окремо — безпеку: доступ без токена, чужі ідентифікатори в запиті, спробу отримати дані іншого користувача.

Чи потрібно вміти програмувати для тестування API?

Для роботи в Postman достатньо розуміння HTTP і JSON — код там не обовʼязковий. Але автоматизація набору перевірок і вбудовування його в конвеєр уже потребують мови програмування, і саме цей крок зазвичай відділяє ручного тестувальника від автоматизатора.

Чим API-тестування відрізняється від інтеграційного?

Тестування API перевіряє контракт конкретного методу: вхід, вихід, коди помилок. Інтеграційне — спільну роботу компонентів, наприклад сервісу і бази. Вони перетинаються: багато перевірок API по суті є інтеграційними, бо задіюють усю серверну частину.

Повʼязані терміни