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

Перш ніж перейти до підручника з тестування API, давайте спочатку розберемося

Що таке API?

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

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

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

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

  • Використовуйте інструмент тестування для керування API
  • Напишіть власний код, щоб протестувати API

У цьому посібнику з тестування API ви дізнаєтесь більше про

  • Налаштування середовища тестування API
  • Типи виведення API
  • Тестові випадки для тестування API
  • Підхід до тестування API
  • Різниця між тестуванням API та модульним тестуванням
  • Як протестувати API
  • Кращі практики тестування API
  • Типи помилок, які виявляє API-тестування
  • Як зробити автоматизацію тестування API
  • Проблеми тестування API

Налаштування середовища тестування API

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

Типи виведення API

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

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

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

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

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

Довге додавання (int a, int b)

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

Телефонувати потрібно так, як

додати (1234, 5656)

Винятки слід обробляти, якщо число перевищує цілочисельне обмеження.

Статус (скажімо, пройти або пройти)

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

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

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

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

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

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

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

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

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

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

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

Підхід до тестування 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

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

Як протестувати API за допомогою REST Assured

Як протестувати API за допомогою Postman

Як протестувати API за допомогою UFT

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

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

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

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

Висновок:

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

Цікаві статті...