← До блогу

Тестування API у 2026 році: що перевіряти, як почати й які інструменти обрати

Більшість сучасних застосунків — це інтерфейс поверх API. Кнопка «Оплатити» в мобільному застосунку, фільтр в інтернет-магазині, вхід через Google — за кожною дією стоїть запит до сервера. Тому тестування API давно перестало бути задачею лише для автоматизаторів: мануальні тестувальники перевіряють запити в Postman, дивляться мережу в DevTools і знаходять баги ще до того, як готовий інтерфейс.

У статті розповідаємо, що саме перевіряти в API, як побудувати чек-лист, з яких інструментів почати і як перейти від ручних запитів до автотестів, контрактних тестів, моків і перевірки навантаження.

Короткий вибір

Задача Почати з Альтернативи
Ручні запити й колекції Postman Bruno, Insomnia, Hoppscotch, Apidog
Запити з терміналу curl HTTPie, Hurl
Автотести в CI Newman REST Assured, Karate, pytest, Supertest
Тести зі специфікації Schemathesis Spectral (лінтер)
Моки й заглушки WireMock Mockoon, Prism, Beeceptor
Контрактні тести Pact —
GraphQL і gRPC Altair GraphQL Client Kreya, grpcurl
Навантаження Grafana k6 Apache JMeter, Gatling, Locust
Безпека ZAP Burp Suite

Що таке API і які вони бувають

API (Application Programming Interface) — це «домовленість», як одна програма звертається до іншої: яку адресу викликати, що передати й що отримати у відповідь. Тестувальнику найчастіше трапляються:

Що перевіряти в API

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

1. Код статусу. 200/201 для успіху, 400 для некоректних даних, 401 без авторизації, 403 без прав, 404 для неіснуючого ресурсу, 409 для конфлікту, 422 для помилок валідації. Код 500 — це майже завжди баг: сервер не обробив ситуацію.

2. Тіло відповіді. Чи є всі поля, чи правильні типи (число, а не рядок "42"), формат дат, порожні масиви замість null, відповідність схемі.

3. Бізнес-логіку. Після POST ресурс справді створився, після DELETE — зник, сума замовлення порахована правильно, зміни видно в інтерфейсі й базі.

4. Валідацію вхідних даних. Порожні й надто довгі значення, від’ємні числа, спецсимволи, емодзі, зайві й відсутні поля, неправильний тип даних.

5. Авторизацію й права. Запит без токена, з простроченим чи чужим токеном; чи можна, змінивши id в адресі, отримати чужі дані.

6. Заголовки. Content-Type, кешування, CORS, відсутність службової інформації (версії сервера) у відповідях.

7. Пагінацію, сортування й фільтри. Перша й остання сторінка, сторінка за межами, великий limit, комбінації фільтрів.

8. Ідемпотентність і повтори. Що буде, якщо двічі надіслати той самий запит на оплату чи створення замовлення.

9. Повідомлення про помилки. Зрозумілі для клієнта, однакові за форматом і без стектрейсів.

10. Швидкість. Час відповіді для основних запитів і поведінку під навантаженням.

Для граничних значень і незвичних символів зручно мати під рукою генератори даних: Mockaroo створить набір реалістичних тестових записів, а Faker.js — дані прямо в коді тестів.

Мануальне тестування API: з чого почати

Почніть з двох речей: вкладки Network у DevTools браузера та API-клієнта.

DevTools показує, які запити надсилає вебінтерфейс: відкрийте вкладку Network, виконайте дію на сайті й подивіться запит і відповідь. Будь-який запит можна скопіювати «як cURL» і вставити в API-клієнт або в баг-репорт: так розробник відтворить проблему однією командою.

API-клієнти:

Термінал теж знадобиться: curl є майже на кожному комп’ютері й сервері, HTTPie має простіший синтаксис і гарно форматує JSON.

Відповідь API легко перевірити на синтаксис у JSONLint, а httpbin покаже, що саме ваш клієнт надіслав на сервер.

Перехоплення трафіку: API мобільних застосунків і десктопу

Мобільний застосунок не має DevTools, тому трафік перехоплюють через проксі: телефон надсилає запити через комп’ютер, а ви бачите кожен запит і відповідь.

Чек-лист для одного ендпоінта

Візьмемо POST /api/orders — створення замовлення:

Такий чек-лист зручно вести в системі тест-менеджменту, наприклад, у Qase чи TestRail, а знайдені баги — оформлювати в Jira з командою curl і відповіддю сервера.

Автоматизація API-тестів

API-тести — найвигідніша автоматизація: вони швидкі, стабільні й не ламаються від змін верстки. Варіанти залежать від мови команди:

Щоб тести запускалися на кожну зміну коду, підключіть їх до GitHub Actions чи Jenkins, а результати збирайте в Allure Report.

Тести, які пише специфікація

Якщо в API є опис OpenAPI, частину роботи можна віддати інструментам:

Моки, заглушки й тестові середовища

Часто потрібний сервіс ще не готовий, платний або нестабільний (платіжна система, служба доставки). Тоді його замінюють заглушкою:

Контрактне тестування

У системі з десятками мікросервісів наскрізні тести стають повільними й крихкими. Контрактні тести перевіряють інше: що клієнт і сервіс однаково розуміють API. Pact записує очікування клієнта (які запити він надсилає й які відповіді чекає) і перевіряє, що сервіс їм відповідає, — без розгортання всієї системи. Так зміна в одному сервісі не зламає непомітно інший.

GraphQL і gRPC

Навантаження й продуктивність

API, що швидко відповідає одному тестувальнику, може «лягти» під тисячею користувачів. Для перевірки:

Почніть із простого: як змінюється час відповіді й частка помилок, коли кількість одночасних користувачів зростає з 10 до 100. Докладніше — у статті «Навантажувальне тестування».

Безпека API

Типові вразливості API зібрані в списку OWASP API Security Top 10: доступ до чужих об’єктів через зміну id, слабка автентифікація, надто «балакучі» відповіді, відсутність обмеження частоти запитів. Мануальний тестувальник може перевірити базові речі сам: запити без токена, з чужим токеном, із зайвими полями (наприклад, "role": "admin" у запиті на зміну профілю).

Для глибших перевірок є ZAP (безкоштовний сканер із відкритим кодом) і Burp Suite. Перевіряйте безпеку лише тих систем, на тестування яких у вас є дозвіл. Докладніше — у статті «Тестування безпеки».

Де потренуватися

Безкоштовні тестові API, на які можна спокійно надсилати запити:

Більше тренажерів — у статті «Тренажери для тестувальників» і підкатегорії Тренажери для тестувальників.

План на два тижні

Дні Що робити Де
1–2 HTTP-методи, коди статусу, заголовки; запити в DevTools і curl httpbin, ReqRes
3–5 Колекція в Postman: змінні середовища, CRUD-сценарій, тести на коди й поля Restful-Booker, GoRest
6–8 Чек-лист і негативні тести для 3–5 ендпоінтів, баг-репорти з командою curl Practice Software Testing
9–10 Запуск колекції через Newman і в GitHub Actions Newman, GitHub Actions
11–12 Перші автотести на вашій мові: REST Assured, pytest або Supertest Swagger Petstore
13–14 Мок-сервер і просте навантаження Mockoon, Grafana k6

Результат — колекція Postman і репозиторій з автотестами, які можна показати в портфоліо.

АІ в тестуванні API

АІ-асистенти добре справляються з рутиною: за специфікацією OpenAPI пропонують перелік перевірок і негативних сценаріїв, генерують тестові дані й каркас автотестів. У Postman є вбудовані АІ-функції, а GitHub Copilot, Cursor чи Claude Code напишуть тести на REST Assured чи pytest за описом. Але кожен згенерований тест варто перечитати: АІ легко пише перевірку, яка проходить завжди, навіть коли API зламаний.

Про інструменти для інших видів тестування читайте в статтях «Інструменти для мануального тестування» та «Інструменти для автоматизації тестування». Усі інструменти з цієї статті є в підкатегоріях Тестування й API.

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

Чи потрібно вміти програмувати, щоб тестувати API?

Ні, для початку достатньо Postman і розуміння HTTP. Програмування знадобиться, коли захочете автоматизувати перевірки, але навіть тоді можна почати з тестів у Postman і Newman.

Postman чи Bruno?

Postman — стандарт ринку з найбільшою кількістю навчальних матеріалів. Bruno зручніший, коли команда хоче зберігати колекції в Git поруч із кодом і працювати без хмарного акаунта.

Чим API-тести відрізняються від UI-тестів?

API-тести перевіряють логіку й дані напряму, без інтерфейсу, тому вони швидші й стабільніші. UI-тести перевіряють, що користувач бачить і може зробити. У добрій стратегії API-тестів більше, ніж UI-тестів.

Чи безпечно надсилати запити до тестових API?

Так, для цього вони й створені. Але не вводьте туди справжні персональні дані й паролі: інші користувачі можуть їх побачити.

Не знаєте, з чого почати?

Запитайте Елю: вона підбере інструменти для тестування API під ваш проєкт і мову програмування.

Дата перевірки фактів: 4 листопада 2026 року. Умови сервісів можуть змінюватися, тож перевіряйте їх на офіційних сайтах.