WEB тестирование, Тестирование ПО

Типы тестов, применимые к тестированию API

В целом, к тестированию API применимы следующие типы тестов:

  • Функциональное тестирование – тесты должны выполнить набор вызовов, задекларированных в API, чтобы проверить общую работоспособность системы.
  • Usability-тестирование – проверяет, является ли API функциональным и обладает ли удобным интерфейсом, также проверяется интеграция с другими.
  • Тестирование безопасности – проверяет используемый тип аутентификации и шифрование данных с помощью HTTP.
  • Автоматизированное тестирование – создание скриптов, программ или настройка приложений, которые смогут тестировать API на регулярной основе.
  • Тестирование документации– проверяется полнота описаний функций API, её понятность.

При тестировании API необходимо проверять следующие моменты:

  • Правильный ли метод используется для того или иного запроса?
  • Проверяйте, что клик по одной и той же кнопке вызывает один и тот же запрос.
  • Вникайте в отправляемые запросы. Анализ запросов – это возможность обнаружить спрятавшийся дефект гораздо быстрее, чем осуществляя его поиск в интерфейсе.
  • Мониторьте трафик на предмет запросов на другие сервера.
  • Внимательно следите за кодами состояний

С помощью тестирования API можно обнаружить следующие типы ошибок:

  • Сбой обработки ошибочных условий при передаче корректных и некорректных данных в запросах.
  • Неиспользуемые флаги в параметрах запросов.
  • Отсутствующая или дублирующаяся функциональность.
  • Вопросы надежности: трудности при подключении и получении ответа от API.
  • Проблемы с безопасностью.
  • Проблемы многопоточности.

Лучшие практики тестирования API:

  • Тест-кейсы должны быть сгруппированы по тестовым категориям.
  • Каждый тест должен включать декларацию тестируемой функции.
  • Выбор параметров должен быть явно упомянут в самом тесте.
  • Установка приоритетов вызова функций API.
  • Каждый тест должен быть самодостаточным и независимым друг от друга.
  • Особую осторожность следует соблюдать при обращении к функциям удаления, закрытия окна и прочим.
  • Вызов последовательности действий должен быть хорошо спланирован и выполнен.
  • Для обеспечения полного тестового покрытия создавайте тестовые случаи для всех возможных комбинаций входных данных.

Так же мы можем использовать такие общепринятые техники, как анализ граничных значений и разбиение на классы эквивалентности. В API запросах в явном виде могут передаваться значения параметров. Это отличный повод выделить границы входных и выходных значений и проверить их. Даже у небольшого API есть множество вариантов использования и множество комбинаций входных и выходных переменных. Поэтому мы можем лишний раз использовать наши навыки выделения эквивалентных классов.

Тестирование API обладает рядом преимуществ перед обычным тестированием через UI:

  • Точное понимание, где происходит ошибка и чем она вызвана.
  • Тратится меньше времени на подготовку тестовых данных.
  • Возможно выполнение тестов на больших объемах данных с приемлемой скоростью.
  • Можно начать тестирование на ранних этапах, когда еще нет интерфейса

Проблемы, с которыми сталкиваются тестировщики при работе с API:

  • Комбинация и выбор параметров.
  • Отсутствие графического интерфейса.
  • Валидация и верификация выходных данных в разных системах.
  • Обязательная проверка обработки исключений.
  • Тестировщикам необходимы знания в программировании.
0 0 vote
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments