Учебное пособие по тестированию API: что такое автоматизация тестирования API? Как протестировать

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

Что такое API?

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

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

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

Для автоматизации тестирования 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 - это предопределенная стратегия или метод, который команда QA выполнит для проведения тестирования API после того, как сборка будет готова. Это тестирование не включает исходный код. Подход к тестированию API помогает лучше понять функции, методы тестирования, входные параметры и выполнение тестовых примеров.

Следующие пункты помогают пользователю применять подход к тестированию API:

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

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

Модульное тестирование API тестирование
  • Разработчики это делают
  • Тестеры выполняют это
  • Отдельный функционал протестирован
  • Сквозная функциональность протестирована
  • Разработчик может получить доступ к исходному коду
  • Тестировщики не могут получить доступ к исходному коду
  • Также задействовано UI-тестирование
  • Тестируются только функции 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, но и в вызывающем приложении. Это незаменимый тест в программной инженерии.

Интересные статьи...