Учебники

Тестирование API

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

Что такое API?

API (Полная форма РИМЕНЕНИЕ Р rogramming Я nterface) позволяет осуществлять связь и обмен данными между двумя отдельными программными системами. Программная система, реализующая API, содержит функции / подпрограммы, которые могут выполняться другой программной системой.

Что такое API-тестирование?

API TESTING — это тип тестирования программного обеспечения, который проверяет интерфейсы прикладного программирования (API). Целью API-тестирования является проверка функциональности, надежности, производительности и безопасности интерфейсов программирования. В тестировании API вместо использования стандартных пользовательских входов (клавиатура) и выходных данных вы используете программное обеспечение для отправки вызовов в API, получения выходных данных и записи ответа системы. Тесты API сильно отличаются от тестов GUI и не будут концентрироваться на внешнем виде приложения. Он в основном концентрируется на уровне бизнес-логики архитектуры программного обеспечения.

API Тестирование изображения

Тестирование API требует приложения, которое может взаимодействовать через API. Чтобы протестировать API, вам необходимо

  • Используйте инструмент тестирования для управления API
  • Напишите свой собственный код для тестирования API

В этом уроке вы узнаете больше о

Настройка среды тестирования API

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

Типы вывода API

Выход API может быть

  1. Любой тип данных
  2. Статус (скажем, успешно или неудачно)
  3. Вызовите другую функцию 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:

Изучите тестирование API за 10 минут !!!

  1. Понимание функциональности программы API и четкое определение объема программы
  2. Применяйте методы тестирования, такие как классы эквивалентности, анализ граничных значений и отгадывание ошибок, и пишите контрольные примеры для API
  3. Входные параметры для API должны быть запланированы и определены соответствующим образом
  4. Выполните контрольные примеры и сравните ожидаемые и фактические результаты.

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

Модульное тестирование Тестирование API
  • Разработчики выполняют это
  • Тестеры это выполняют
  • Отдельная функциональность проверена
  • Сквозная функциональность проверена
  • Разработчик может получить доступ к исходному коду
  • Тестеры не могут получить доступ к исходному коду
  • Тестирование пользовательского интерфейса также участвует
  • Проверяются только функции API
  • Только основные функции проверены
  • Все функциональные проблемы проверены
  • Ограничено в объеме
  • Более широкий охват
  • Обычно бегали перед регистрацией
  • Побежал после создания сборки

Как сделать API-тестирование

Тестирование API должно охватывать как минимум следующие методы тестирования помимо обычного процесса SDLC.

  • Тестирование на обнаружение: тестовая группа должна вручную выполнить набор вызовов, задокументированных в API, таких как проверка того, что определенный ресурс, предоставляемый API, может быть перечислен, создан и удален соответствующим образом
  • Тестирование юзабилити: это тестирование проверяет, является ли API функциональным и удобным для пользователя. И API хорошо интегрируется с другой платформой?
  • Тестирование безопасности: это тестирование включает в себя, какой тип аутентификации требуется и зашифрованные конфиденциальные данные по HTTP или оба
  • Автоматическое тестирование: тестирование API должно завершиться созданием набора скриптов или инструмента, который можно использовать для регулярного выполнения API
  • Документация. Команда тестирования должна убедиться, что документация адекватна и предоставляет достаточно информации для взаимодействия с API. Документация должна быть частью окончательного результата

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

  • Тестовые случаи должны быть сгруппированы по тестовым категориям
  • В верхней части каждого теста вы должны включать объявления вызываемых API.
  • Выбор параметров должен быть явно указан в самом тестовом примере
  • Расставьте приоритеты вызовов функций API, чтобы тестировщикам было легко тестировать
  • Каждый тестовый пример должен быть как можно более независимым и независимым от зависимостей.
  • Избегайте «цепочки тестов» в вашей разработке
  • Особое внимание следует уделить обработке одноразовых функций вызова, таких как — Delete, CloseWindow и т. Д.
  • Последовательность вызовов должна быть выполнена и хорошо спланирована
  • Чтобы обеспечить полное покрытие тестами, создайте тестовые случаи для всех возможных входных комбинаций API.

Типы ошибок, которые обнаруживает тестирование API

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

Инструменты для тестирования API

Поскольку API и модульное тестирование являются целевым исходным кодом, для их автоматизации могут использоваться инструменты / инфраструктуры.

  • Runscope
  • Почтальон
  • Curl
  • Cfix
  • Проверьте
  • CTESK
  • dotTEST
  • Eclipse SDK tool — Автоматическое тестирование API

Ознакомьтесь с топ- списком инструментов тестирования API

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

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

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

Вывод:

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