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