Що таке тестування API?
Тестування API — перевірка серверних методів напряму, без інтерфейсу: тестувальник надсилає запит із певними параметрами й звіряє відповідь — дані, структуру, код статусу та час обробки.
Такі перевірки швидші й надійніші за інтерфейсні: не потрібно чекати завантаження сторінки, а тест не ламається від зміни верстки. Крім того, API можна тестувати раніше — ще до того, як фронтенд буде готовий.
Перевіряють не лише успішний сценарій. Важливіша поведінка на межах: некоректні дані, відсутні поля, чужий токен, неіснуючий ідентифікатор. Помилки авторизації, знайдені на цьому рівні, часто виявляються найкритичнішими.
Інструменти: Postman для ручних перевірок і колекцій, REST Assured у Java, requests у Python — для автотестів.
Повʼязані терміни
API (Application Programming Interface) — це набір правил, за якими одна програма звертається до іншої: які запити можна надіслати, які параметри передати і в якому вигляді прийде відповідь. API дозволяє використовувати чужий сервіс, нічого не знаючи про його внутрішню будову.
REST APIREST API — найпоширеніший стиль побудови вебAPI, у якому кожен обʼєкт системи доступний за своєю адресою, а дія над ним задається HTTP-методом: GET — отримати, POST — створити, PUT — змінити, DELETE — видалити.
Integration TestingІнтеграційне тестування перевіряє, як кілька компонентів працюють разом: застосунок і база даних, сервіс і зовнішнє API, два мікросервіси між собою. Окремо кожна частина може бути справною, а на стику все одно виникне помилка.
Test AutomationАвтоматизація тестування — написання програм, які самі виконують перевірки й порівнюють результат з очікуваним. Такі тести запускають за кожної зміни коду, щоб швидко помічати поломки у вже працюючій функціональності.
JSONJSON (JavaScript Object Notation) — текстовий формат обміну даними, у якому інформація записується парами «ключ — значення». Його розуміють усі мови програмування, і саме ним найчастіше відповідають сучасні API.