Поняття API

В останні роки інтерес до тестування API значно виріс. Така ситуація пов'язана зі збільшенням кількості web і мобільних додатків, а також з розмежуванням серверної частини та інтерфейсу користувача.

Перед тим як перейти до розгляду інструментів для тестування API, давайте згадаємо, що таке API в цілому.

API (Application Programming Interface) – це інтерфейс для зв'язку компонентів програмного забезпечення.

Функціональне тестування проводиться на стороні користувацького інтерфейсу, а тестування API дозволяє обійти візуальний інтерфейс і з'єднатися безпосередньо з додатком або сайтом за допомогою відправки запитів серверу.

Працює це таким чином:

  1. Клієнт, звертаючись до ресурсу, робить запит.
  2. Запит відправляється на той сервер, який може виконати цей запит.
  3. Сервер знаходить необхідний ресурс і відправляє відповідь назад клієнту.

Для безпосереднього тестування API-запитів існує безліч інструментів, але ми розглянемо тільки декілька з них: Postman, SoapUI і Katalon Studio. У цій статті ви дізнаєтеся про основні характеристики кожного розглянутого інструмента.

Postman

Postman

Postman – клієнт для автоматизації тестування API, який починав свій шлях як плагін для браузера Chrome, але пізніше отримав і десктопні версії для Windows, Linux і Mac. Але автоматизація – не основний напрямок для використання цього додатка. Він підійде і для проведення дослідницького (exploratory) тестування. Також Postman – ефективний інструмент для розробників з метою створення та перевірки API.

У додатку можна налаштовувати потрібні заголовки і куки-запити, які підходять до вимог тестованого API, перевіряти отриману відповідь.

Головні переваги інструменту:

  • добре реалізований інтерфейс, через що легко розібратися з функціями і використовувати для перевірок;
  • дозволяє з легкістю ділитися результатами з колегами, оскільки надає можливість зберігати всі запити та відповіді і відсилати їх іншим користувачам;
  • інтеграція з популярними форматами, такими як Swagger, RAML та іншими;
  • немає необхідності у вивченні нової мови програмування.

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

SoapUI

Soap UI

SoapUI – ще один популярний інструмент для тестування API. Найчастіше саме цей інструмент рекомендують для тестування API, так як він був розроблений для даних цілей. Існують дві варіації даного інструменту: безкоштовна версія з open-source кодом і версія Pro. Безкоштовна версія дозволяє вносити модифікації в код, але у версії Pro більш дружній користувацький інтерфейс і є додатковий функціонал, що включає редактор форм та редактор SQL-запитів.

У SoapUI зручно реалізована система генерації тестів, записані скрипти можна використовувати повторно, добре реалізований інструментарій для проведення тестування даних з доступом до файлів або базі даних.

Переваги платної версії:

  • можливість роботи із зовнішніми даними, такими як текстові файли, XML, Groovy, Excel;
  • тестове покриття – версія Pro дозволяє збирати статистику по функціоналу, який був вже протестований або ще в процесі;
  • підтримка безлічі тестових середовищ, наприклад, Dev, QA, Pre-Prod і інші;
  • звітність – можливість кастомізації звітів і їх генерація в різних форматах: PDF, HTML, Word, Excel;
  • тестування безпеки – обидві версії SoapUI дозволяють проводити тестування безпеки, але тільки версія Pro надає доступ до сканера вразливостей;
  • підтримка – версія Pro надає ексклюзивну підтримку окремо від стандартної підтримки на онлайн форумі.

Katalon Studio

Katalon Studio

Katalon studio – безкоштовний інструмент для автоматизації тестування від компанії Katalon Studio з графічним інтерфейсом. Може також застосовуватися для тестування API. Значною перевагою продукту є можливість об'єднувати рівні UI і Business (служби API/Web) для різних операційних систем.

Основні плюси даного інструменту:

  • безкоштовна програма, але без відкритого коду;
  • підтримує як SOAP, так і REST API;
  • легка у встановленні та обігу;
  • малий поріг входження;
  • має функціонал для тестування веб сервісів і REST API;
  • дозволяє ділитися записаними тестами з колегами за допомогою самої програми;
  • використовує вбудовану систему пошуку за ключовими словами для створення сценаріїв.

Який же інструмент обрати?

На це питання немає однозначної відповіді. Той же Postman більш простий у використанні і добре підійде для проведення дослідницького (exploratory) тестування. Якщо ж необхідно автоматизувати процес перевірок, то тут вже вибір падає на SoapUI. Також SoapUI володіє більш багатим інтерфейсом, що дозволяє виробляти більше різноманітних налаштувань в процесі тестування.