Підручник з тестування API: що таке автоматизація тестування API?

Що таке тестування API?

Тестування API це тип тестування програмного забезпечення, який перевіряє інтерфейси прикладного програмування (API). Метою тестування API є перевірка функціональності, надійності, продуктивності та безпеки інтерфейсів програмування. Під час тестування API замість використання стандартних користувацьких вводів (клавіатури) і виходів ви використовуєте програмне забезпечення для надсилання викликів до API, отримання вихідних даних і записування відповіді системи. Тести API дуже відрізняються від тестів графічного інтерфейсу і не зосереджуються на зовнішньому вигляді програми. В основному він зосереджений на рівні бізнес-логіки архітектури програмного забезпечення.

Зображення тестування API

Для фону, API (інтерфейс прикладного програмування) це обчислювальний інтерфейс, який забезпечує зв’язок і обмін даними між двома окремими програмними системами. Програмна система, яка виконує API, включає кілька функцій/підпрограм, які може виконувати інша програмна система. API визначає запити, які можна робити, як робити запити, формати даних, які можна використовувати, тощо між двома програмними системами.

Налаштування середовища автоматизації тестування API

Автоматизація API. Для тестування потрібна програма, з якою можна взаємодіяти через API. Щоб протестувати API, вам потрібно буде

  1. Використовуйте інструмент тестування для керування API
  2. Напишіть власний код для тестування API

Кілька моментів, на які варто звернути увагу

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

Типи виводу API

Вихід API може бути

  1. Будь-який тип даних
  2. Статус (скажімо, "Здано" або "Не пройдено")
  3. Виклик іншої функції API.

Давайте розглянемо приклади кожного з наведених вище типів у цьому підручнику з тестування API

Будь-який тип даних

Приклад: існує функція API, яка має додати два цілих числа.

Long add(int a, int b)

Числа повинні бути задані як вхідні параметри. Результат має бути підсумовуванням двох цілих чисел. Цей вихід потрібно перевірити очікуваним результатом.

Виклик потрібно зробити таким, як

add (1234, 5656)

Необхідно обробляти винятки, якщо число перевищує ліміт цілого числа.

Статус (скажімо, "Здано" або "Не пройдено")

Розглянемо наведену нижче функцію API –

  1. Замок()
  2. Розблокувати()
  3. Видалити()

Вони повертають будь-яке значення, наприклад True (у разі успіху) або false (у разі помилки) як вихідні дані.

Більш точний Тестовий випадок може викликати функції в будь-якому зі сценаріїв і пізніше перевірити наявність змін у базі даних або графічному інтерфейсі програми.

Виклик іншого API/події

Виклик іншого API/події

У цьому випадку ми викликаємо одну з функцій API, яка, у свою чергу, викличе іншу функцію.

Наприклад, першу функцію API можна використовувати для видалення зазначеного запису в таблиці, а ця функція, у свою чергу, викликає іншу функцію для ОНОВЛЕННЯ бази даних.

Тестові приклади для тестування API:

На основі тестових прикладів тестування API

  • Повернене значення на основі умови введення: це відносно легко перевірити, оскільки вхідні дані можна визначити, а результати можна перевірити
  • Нічого не повертає: Якщо значення, що повертається, немає, потрібно перевірити поведінку API в системі
  • Ініціювати інший API/подію/переривання: Якщо вихід API викликає певну подію або переривання, тоді ці події та слухачі переривань слід відстежувати
  • Оновити структуру даних: Оновлення структури даних матиме певний результат або вплив на систему, і це слід перевірити
  • Змінити певні ресурси: Якщо виклик API змінює деякі ресурси, його слід перевірити шляхом доступу до відповідних ресурсів

Підхід до тестування API

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

Наступні моменти допомагають користувачеві використовувати підхід до тестування API:

Підхід до тестування API

  1. Розуміння функціональних можливостей програми API та чітке визначення сфери застосування програми
  2. Застосовуйте методи тестування, такі як класи еквівалентності, аналіз граничних значень і вгадування помилок, і пишіть тестові випадки для API
  3. Вхідні параметри для API необхідно спланувати та визначити належним чином
  4. Виконайте тестові випадки та порівняйте очікувані та фактичні результати.

Різниця між тестуванням API і модульним тестуванням

Блок тестування Тестування API
Виконують розробники Тестери виконують це
Тестується окремий функціонал Наскрізна функціональність перевірена
Розробник може отримати доступ до вихідного коду Тестери не можуть отримати доступ до вихідного коду
Також бере участь тестування інтерфейсу користувача Тестуються лише функції API
Тестуються лише основні функції Всі функціональні проблеми перевірені
Обмежений обсяг Ширший за обсягом
Зазвичай бігали перед заїздом Тестовий запуск після створення збірки

Як перевірити API

Тестування автоматизації API має охоплювати принаймні такі методи тестування, крім звичайного процесу SDLC

  • Тестування відкриття: Тестова група повинна вручну виконати набір викликів, задокументованих в API, як-от перевірити, чи можна перерахувати, створювати та видаляти певний ресурс, наданий API.
  • Тестування юзабіліті: Це тестування перевіряє, чи є API функціональним і зручним для користувача. І чи API добре інтегрується з іншою платформою
  • Тестування безпеки: Це тестування включає в себе, який тип автентифікації потрібен і чи конфіденційні дані зашифровані через HTTP або обидва
  • Автоматичне тестування: Тестування API має завершитися створенням набору сценаріїв або інструменту, який можна використовувати для регулярного виконання API
  • Документація: Команда тестувальників має переконатися, що документація є адекватною та надає достатньо інформації для взаємодії з API. Документація має бути частиною кінцевого результату

Кращі практики тестування API:

  • Тестові приклади API слід згрупувати за категоріями тестів
  • Поверх кожного тесту ви повинні включити декларації викликаних API.
  • Вибір параметрів має бути чітко зазначений у самому тестовому випадку
  • Надайте пріоритет викликам функцій API, щоб тестерам було легко тестувати
  • Кожен тестовий приклад має бути якомога самодостатнім і незалежним від залежностей
  • Уникайте «ланцюжка тестів» у своїй розробці
  • Слід бути особливо обережним під час роботи з функціями одноразового виклику, такими як – Delete, CloseWindow тощо…
  • Послідовність викликів має бути виконана та добре спланована
  • Щоб забезпечити повне покриття тесту, створіть тестові приклади API для всіх можливих комбінацій вхідних даних API.

Типи помилок, які виявляє тестування API

  • Не вдається витончено обробляти умови помилок
  • Невикористані прапори
  • Відсутня або повторювана функція
  • Питання надійності. Труднощі з підключенням і отриманням відповіді від API.
  • питання безпеки
  • Багатопотокові проблеми
  • Проблеми з продуктивністю. Час відповіді API дуже великий.
  • Некоректні помилки/попередження абоненту
  • Неправильна обробка допустимих значень аргументів
  • Дані відповіді структуровані неправильно (JSON або XML)

Як зробити автоматизацію тестування API

1) Готовий API

Готовий API є провідним інструментом для функціонального, безпечного та навантажувального тестування RESTful, SOAP, GraphQL та інших веб-служб. На одній інтуїтивно зрозумілій платформі ви отримаєте три потужні інструменти: ReadyAPI Test, ReadyAPI Performance та ReadyAPI Virtualization. За допомогою цих інструментів ви можете виконувати тестування функціональності, безпеки та продуктивності/навантаження. Ви також можете імітувати API та веб-сервіси за допомогою нашого надійного інструменту віртуалізації. Крім того, ви можете легко інтегрувати свій Конвеєр CI/CD під час кожної побудови.

Готовий API

Ключові особливості

  • ReadyAPI можна інтегрувати в будь-яке середовище.
  • Він має функцію Smart Assertion, яка може швидко створювати масові твердження проти сотень кінцевих точок.
  • Вбудована підтримка Git, Docker, Jenkins, Azure, І т.д.
  • Підтримує командний рядок для автоматизованого тестування.
  • Підтримує паралельне виконання функціональних тестів і чергування завдань.
  • Promoповторне використання коду tes
  • Видаляє залежності під час тестування та розробки.

Відвідайте ReadyAPI >>

14-денна безкоштовна пробна версія (кредитна картка не потрібна)

Наступні навчальні посібники містять детальний посібник з автоматизації тестування API.

Крім того, існують інші інструменти для тестування API. Перевірте їх тут

Проблеми тестування API

Проблеми тестування API включають:

  • Основні проблеми тестування веб-API: Комбінація параметрів, вибір параметрів і послідовність викликів
  • Немає доступного графічного інтерфейсу перевірити програму, яка робить важко надати вхідні значення
  • Перевірка та перевірка виходу в іншій системі трохи складна для тестувальників
  • Вибір параметрів і класифікація повинні бути відомі тестувальникам
  • Функція обробки винятків необхідно перевірити
  • Тестерам необхідні знання кодування

Висновок

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