6️⃣Інструменти та тестування АРІ
Інструменти для роботи з API
Вище ми вже згадували: звичайні GET запити можна надсилати за допомогою браузера. Але спеціальні інструменти, які призначені для розробки і тестування API надають можливість не тільки відправляти різні типи запитів, але й зберігати запити, показувати результати в різних форматах, виступати в ролі proxy сервера. І багато багато-багато чого іншого.
Серед таких інструментів:
Postman — в тому числі існує в розширенні для Google Chrome, яке в безкоштовній версії дозволяє посилати запити, записувати їх, показувати історію. Доволі зручний і зрозумілий інструмент. Поради тестування API в Postman
jMeter — інструмент, який здобув популярність перш за все завдяки інструменту для Perfomance Testing (тестування навантажаження), яке можна проводити з його допомогою. Але це лише одна з безлічі його застосувань.
Fiddler — дозволяє переглядати HTTP запити.
SoapUI — потужний продукт для розробки і тестування веб додатків.
Advanced REST Client — ще одне розширення для Chrome для роботи з API (конструкція запитів, їх показ теж в зручному вигляді).
Тестування API
А тепер — дуже коротко про те, як тестувати API. Звичайно, тут є своя специфіка. Тестування спрямоване на перевірку функціонування перш за все бізнес логіки додатку.
Типові помилки в API:
Збій обробки помилкових умов;
Невикористані flag
Відсутній або дублюється функціонал;
Питання налаштування: труднощі при підключенні і отриманні відповіді від API;
Проблеми з безпекою API;
Питання по багатопоточності;
Проблеми з продуктивністю: буває час відгуку API дуже високий;
Помилки;
Некоректна обробка валідних значень;
Дані відповіді некоректно структуровані (JSON або XML).
При тестуванні API потрібно враховувати, що API створюються багато в чому для інтеграції з іншими сервісами. І працюють з ними не люди, а інші програмні системи. Тому потрібно оцінювати API з позиції зручності його використання разом з іншими продуктами, з позиції легкої інтеграції з ними. Кожен API повинен бути гнучким, також мати зрозумілу і детальну документацію.
Але при тестуванні API цілком можна використовувати загальноприйняті техніки тестування ПЗ:
Оглядове дослідницьке тестування — тести повинні виконати набір викликів, задекларованих в API, щоб перевірити загальну працездатність системи;
Перевірка документації — перевіряється повнота описів функцій API, її зрозумілість і, в свою чергу, є фінальним результатом.
Аналіз граничних значень — в API запитах в явному вигляді можуть передаватися значення параметрів. Це відмінний привід виділити кордону вхідних і вихідних значень і перевірити їх.
Розбиття на класи еквівалентності — навіть у невеликого API є безліч варіантів використання і безліч комбінацій вхідних і вихідних змінних. Тому ми можемо зайвий раз використовувати наші навички виділення еквівалентних класів.
Юзабіліті-тестування — перевіряє, чи є API функціональним і володіє зручним інтерфейсом, також перевіряється інтеграція з іншими;
Тестування безпеки — перевіряє використовуваний тип аутентифікації і шифрування даних за допомогою HTTP;
Автоматизоване тестування — створення скриптів, програм або настройка додатків, які можуть тестувати API на регулярній основі;
Як бачите всі види тестування, до яких ми так звикли — функціональне тестування, тестування навантаження, тестування безпеки, юзабіліті, тестування документації — не чужі при тестуванні API теж. В принципі, це й не дивно, оскільки API є повноцінним самостійним продуктом.
Last updated