Що таке API?
API розшифровується як "інтерфейс прикладного програмування" або "інтерфейс програмування додатків".
Він дозволяє здійснювати зв'язок і обмінюватися даними між двома окремими модулями програми. Система програмного забезпечення, що реалізує API, містить функції / підпрограми, які можуть бути виконані за допомогою іншого програмного забезпечення.
Що має на увазі тестування API?
Тестування API повністю відрізняється від тестування графічного інтерфейсу і в основному концентрується на шарі бізнес-логіки архітектури програмного забезпечення. GUI в API тестуванні практично не потрібен.
Замість стандартних видів введення призначених для користувача даних (заповнення форм) тут для передачі даних використовується програмне забезпечення.
Для API тестування нам потрібно саме тестоване додаток і додаток для роботи з API. Також буде потрібно написати власний код для роботи з API.
Налаштування середовища тестування API
Тестування API відрізняється від інших видів відсутністю призначеного для користувача інтерфейсу, отже, ми повинні налаштувати з необхідним набором параметрів середу тестуючу API, а потім проаналізувати результати тесту.
База даних і сервер повинні бути налаштовані відповідно до вимог програми. Після завершення налаштування повинна бути викликана API функція для перевірки цих налаштувань.
Вихідні дані API
- Будь-який тип даних
- Статус (true, або false)
- Виклик іншої функції API
Давайте розглянемо приклад кожного типу.
Будь-який тип даних
Приклад: Існує функція API, який повинен додати два цілих числа.
Long add (int a, int b)
В якості вхідних параметрів повинні бути приведені числа. На виході повинна бути сума двох цілих чисел. Отриманий результат повинен бути порівняний з очікуваним результатом.
Виклик повинен бути приблизно таким:
При перевищенні меж повинно бути оброблено виняток.
Статус (true або false)
Розглянемо нижче функції API
Вони повертають яке-небудь значення, таке як True (в разі успіху) або False (в разі помилки), в якості вихідного.
Більш повний тест згодом може викликати функцію або скрипт, а потім перевірити зміни в базі даних або оновлення графічного інтерфейсу.
Виклик іншої функції API
В цьому випадку ми викликаємо одну з функції API, яка в свою чергу, буде викликати іншу функцію.
Наприклад, перша функція API може бути використана для видалення зазначеного запису в таблиці і ця функція в свою чергу викликає іншу функцію, щоб оновити базу даних.
Різниця API-тестуванням і Unit-тестуванням
· Запускається після билда
Види тестів в тестуванні API:
- Оглядовий тестування - тести повинні виконати набір викликів, задекларованих в API, щоб перевірити загальну працездатність системи;
- Юзабіліті-тестування - перевіряє, чи є API функціональним і володіє зручним інтерфейсом, також перевіряється інтеграція з іншими;
- Тестування безпеки - перевіряє використовуваний тип аутентифікації і шифрування даних за допомогою HTTP;
- Автоматизоване тестування - створення скриптів, програм або настройка додатків, які зможуть тестувати API на регулярній основі;
- Документація - перевіряється повнота описів функцій API, її зрозумілість і, в свою чергу, є фінальним результатом.
Кращі практики тестування API:
Типи помилок, які виявляються при API тестуванні:
- Збій обробки помилкових умов;
- Невикористані прапори;
- Відсутня або дублюється функціонал;
- Питання надійності: труднощі при підключенні і отриманні відповіді від API;
- Проблеми з безпекою;
- Питання многопоточности;
- Проблеми з продуктивністю: час відгуку API дуже високо;
- Помилкові помилки;
- Некоректна обробка валідних значень;
- Дані відповіді некоректно структуровані (JSON або XML).
Інструменти для тестування API
- SOAPUI
- Runscope
- Postman with jetpacks
- Postman with newman
- Curl
- Cfix
- Check
- CTESK
- dotTEST
- Eclipse SDK tool- Automated API testing
Проблеми в тестуванні API
- Комбінація і вибір параметрів
- Відсутність графічного інтерфейсу
- Валідація та верифікація вихідних даних в різних системах
- Обов'язкова перевірка обробки винятків
- Тестувальникам необхідні знання в програмуванні
API складається з безлічі класів / функцій / процедур, які представляють собою шар бізнес-логіки. Якщо API не перевіряється належним чином, то це може викликати проблеми не тільки в застосуванні API, але і в зухвалій додатку.
Тестування API за 10 хвилин
Що таке API? API розшифровується як "інтерфейс прикладного програмування" або "інтерфейс програмування додатків". Він дозволяє здійснювати зв'язок і обмінюватися даними між двома окремими модулями програми. Система програмного забезпечення, що реалізує API, містить функції / підпрограми, які можуть бути виконані за допомогою іншого програмного забезпечення. Що має на увазі тестування API? Тестування API повністю відрізняється від тестування графічного інтерфейсу і в [...]