Підручник з тестування 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 може бути
Будь-який тип даних
Статус (скажімо, пройти або пройти)
Виклик іншої функції API.
Давайте розглянемо приклад кожного з вищезазначених типів у цьому підручнику з тестування API
Будь-який тип даних
Приклад: Існує функція API, яка повинна додавати два цілих числа.
Цифри повинні бути вказані як вхідні параметри. Результатом має бути підсумовування двох цілих чисел. Цей результат потрібно перевірити з очікуваним результатом.
Телефонувати потрібно так, як
Винятки слід обробляти, якщо число перевищує цілочисельне обмеження.
Статус (скажімо, пройти або пройти)
Розглянемо наведену нижче функцію API -
Заблокувати ()
Розблокувати ()
Видалити ()
Вони повертають будь-яке значення, таке як True (у випадку успіху) або false (у разі помилки), як вихідні дані.
Більш точним тестовим кейсом було б те, що він може викликати функції будь-якого зі сценаріїв, а пізніше перевірити наявність змін у базі даних або графічному інтерфейсі програми.
Виклик іншого API / події

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

Розуміння функціональних можливостей програми API та чітке визначення сфери застосування програми
Застосовуйте такі методи тестування, як класи еквівалентності, аналіз граничних значень, вгадування помилок та написання тестових випадків для API
Вхідні параметри для 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, але й у програмі, що викликає. Це незамінний тест у розробці програмного забезпечення.
Last updated