QA та тестування
Що таке тестування API?
Тестування API — це перевірка серверних методів напряму, без інтерфейсу. Тестувальник надсилає запит із заданими параметрами і перевіряє відповідь: дані, структуру, код статусу та час обробки.
Такі тести працюють швидше і стабільніше, ніж перевірки через інтерфейс: не треба чекати завантаження сторінки, і тест не ламається, коли змінюється верстка. До того ж API можна перевіряти ще до того, як готовий фронтенд.
Перевіряють не лише успішні сценарії. Набагато важливіше, як система поводиться в нестандартних ситуаціях: неправильні дані, відсутні поля, чужий токен, неіснуючий ідентифікатор. Помилки доступу, знайдені на цьому рівні, часто найнебезпечніші.
Де застосовується
API перевіряють раніше за інтерфейс, бо помилку на цьому рівні дешевше виправити і легше знайти її причину. Тестувальник надсилає запити з правильними та навмисно неправильними даними, перевіряє коди відповідей, структуру й вміст, авторизацію і реакцію на відсутні поля.
Зазвичай починають із Postman: у ньому зручно збирати колекції запитів і передавати їх команді. Потім перевірки переносять у код — REST Assured для 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"
}
Часті запитання
Чому API тестують раніше, ніж інтерфейс?
Бо так швидше і дешевше. Тести API виконуються в рази швидше, не залежать від верстки і точніше показують причину помилки. Крім того, API користується не тільки сайт: до тих самих методів звертаються мобільний застосунок і зовнішні сервіси.
Що перевіряти у відповіді API?
Код статусу, структуру і типи полів, правильність значень, обробку помилок і граничних даних, швидкість відповіді. Окремо перевіряють безпеку: запит без токена, чужі ідентифікатори, спробу отримати дані іншого користувача.
Чи треба вміти програмувати для тестування API?
Для роботи в Postman досить розуміти HTTP і JSON, код там не обов’язковий. Але щоб автоматизувати перевірки і запускати їх у CI, потрібна мова програмування. Саме цей крок зазвичай відрізняє мануального тестувальника від автоматизатора.
Чим тестування API відрізняється від інтеграційного?
Тестування API перевіряє контракт конкретного методу: що на вході, що на виході, які коди помилок. Інтеграційне тестування перевіряє спільну роботу компонентів, наприклад сервісу і бази даних. Ці види перетинаються, бо багато перевірок API зачіпають усю серверну частину.
Навчання тестуванню в OWU
Опануйте професію QA-інженера на практичних курсах із менторами та реальними проєктами.
Обрати курс