ПОЛНОЕ РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ API

В этом посте о тестировании API мы узнаем следующее

  • 1. Что такое API
  • 2. Что такое тестирование API
  • 3. Типы тестирования API
  • 4. Общие тесты API
  • 5. Преимущества тестирования API
  • 6. Что именно нужно проверить при тестировании API
  • 7. Инструменты, используемые для тестирования API
  • 8. Разница между тестированием API и модульным тестированием
  • 9. Проблемы при тестировании API
  • 10. Рекомендации по тестированию API

ПОЛНОЕ РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ API

Что такое API?

API – это аббревиатура, обозначающая A. >приложение Pпрограммирование Iинтерфейс. API — это набор процедур, протоколов и инструментов для создания программных приложений. API определяют, как одна программа должна взаимодействовать с другими программами.

Подпрограмма: программа, выполняющая определенную задачу. Подпрограмма также известна как процедура, функция или подпрограмма.

Протоколы: формат для передачи данных между двумя системами.

Проще говоря, API означает Aприложение P< /strong>программирование Iинтерфейс. API действует как интерфейс между двумя программными приложениями и позволяет двум программным приложениям взаимодействовать друг с другом. API — это набор программных функций, которые могут выполняться другой программой.

ПОЛНОЕ РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ API

Давайте рассмотрим некоторые примеры API в более доступной форме.

Предположим, что API является Официант в ресторане.

В ресторане вы отдаете заказ на основе блюд, доступных в меню. Официант в ресторане записывает ваш заказ и доставляет его на кухню, которая готовит вам еду. Как только блюдо будет готово, официант заберет вашу еду с кухни и подаст ее к вашему столу.

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

Теперь давайте рассмотрим другой пример.

Если вы используете систему обслуживания рейсов, скажем, Expedia, где вы ищете рейсы на определенную дату. После того, как вы передадите такие данные, как источник, пункт назначения, дата поступления и дата возврата, нажмите «Поиск». Expedia отправляет запрос авиакомпаниям через API в соответствии с вашими данными поиска. Затем API принимает ответ авиакомпании на ваш запрос и отправляет его обратно в Expedia.

API получает запрос от пользователя и дает ответ, не раскрывая внутреннюю логику. API действует как абстракция в концепции ООП.

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

ПОЛНОЕ РУКОВОДСТВО ПО ТЕСТИРОВАНИЮ API

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

Давайте посмотрим, чем тестирование пользовательского интерфейса отличается от тестирования API?

Тестирование пользовательского интерфейса (UI) предназначено для тестирования части графического интерфейса приложения. Его основное внимание уделяется тестированию внешнего вида приложения. С другой стороны, тестирование API обеспечивает связь между двумя разными программными системами. Основное внимание уделяется бизнес-уровню приложения.

Типы тестирования API?

Тестирование API обычно включает следующие этапы. практики:

  • модульное тестирование: для проверки функциональности отдельных операций
  • функциональное тестирование: Для проверки функциональности более широких сценариев с использованием блока результатов модульного тестирования, протестированных вместе
  • Нагрузочное тестирование: Чтобы проверить функциональность и производительность под нагрузкой
  • Время выполнения/обнаружение ошибок: < /strong>Для мониторинга приложения с целью выявления таких проблем, как исключения и утечки ресурсов
  • Тестирование безопасности: Чтобы убедиться, что реализация API защищена от внешних угроз
  • Тестирование пользовательского интерфейса :Это выполняется в рамках сквозных интеграционных тестов, чтобы убедиться, что каждый аспект пользовательского интерфейса функционирует должным образом.
  • Тестирование совместимости и соответствия WS. тестирование, применимое к API-интерфейсам SOAP. Взаимодействие между API-интерфейсами SOAP проверяется путем обеспечения соответствия профилям взаимодействия веб-служб. Соответствие стандарту WS-* проверяется, чтобы обеспечить правильное внедрение и использование таких стандартов, как WS-Addressing, WS-Discovery, WS-Federation, WS-Policy, WS-Security и WS-Trust
  • Проверка на проникновение:< /сильный>Чтобы найти уязвимости приложения от злоумышленников
  • Fuzz-тестирование: Проверить API путем принудительного ввода в систему с целью попытки принудительного сбоя

См. Более 100 типов тестирования

Общие тесты API:

Некоторые из распространенных тестов, которые мы выполняем для API, следующим образом.

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

Преимущества тестирования API:

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

Что именно нужно проверять в API Testing?

По сути, в API Testing мы отправляем запрос в API с известными данными и мы анализировать ответ.

  • Точность данных
  • Коды состояния HTTP
  • Время ответа
  • Коды ошибок в случае, если API возвращает какие-либо ошибки
  • Проверки авторизации
  • Нефункциональное тестирование такие как тестирование производительности, тестирование безопасности

Инструменты, используемые для тестирования API:

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

    < li>Postman

  • Katalon Studio
  • SoapUI
  • Assertible
  • Tricentis Tosca
  • Apigee
  • JMeter
  • Ressured
  • Karate DSL
  • API Fortress
  • Parasoft< li>HP QTP(UFT)
  • vREST
  • Airborne
  • API Science
  • APIary Inspector
  • Citrus Framework
  • Hippie-Swagger
  • HttpMaster Express
  • Mockbin
  • Ping API
  • Pyresttest
  • Rest Console
  • Сервер RoboHydra
  • SOAP Sonar
  • Unirest
  • WebInject

Перейдите по этой ссылке, чтобы узнать больше об этих инструментах тестирования API

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

ЮНИТ-ТЕСТИРОВАНИЕ:

  • Модульное тестирование проводится командой разработчиков
  • Модульное тестирование — это форма тестирования белого ящика
  • Модульное тестирование проводится до включения кода в сборку
  • Исходный код участвует в модульном тестировании
  • При модульном тестировании объем тестирования ограничен, поэтому для тестирования рассматриваются только базовые функции

API TESTING:

  • проводится тестирование API командой QA
  • Тестирование API — это форма тестирования черного ящика
  • Тестирование API проводится после того, как сборка готова к тестированию
  • Исходный код не участвует в тестировании API
  • При тестировании API область тестирование широкое, поэтому все функциональные проблемы рассматриваются для тестирования

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

Некоторые из проблем, с которыми мы сталкиваемся при тестировании API, заключаются в следующем:

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

Типы ошибок, с которыми мы сталкиваемся при тестировании API:

Проблемы, наблюдаемые при тестировании API:

  • Стресс, проблемы с производительностью и безопасностью
  • Дублирование или отсутствие функций
  • Проблемы с надежностью
  • Неправильный обмен сообщениями
  • Несовместимый механизм обработки ошибок
  • Многопоточность Issues
  • Неправильные ошибки

Рекомендации по тестированию API:

  • Проверить ожидаемые результаты< li>Добавьте нагрузку на систему, отправив серию нагрузочных тестов API
  • Группируйте тестовые наборы API по категориям тестов
  • Создайте тестовые наборы со всеми возможными комбинациями входных данных для полного охвата тестами
  • Расставьте приоритеты вызовов функций API, чтобы сделать это легко тестировать
  • Создавайте тесты для решения непредвиденных проблем
  • Автоматизируйте тестирование API везде, где это возможно

Здесь я выбрал несколько сообщений, которые помогут вам узнать больше.

  • Вопросы для собеседования по тестированию API
  • Вопросы для собеседования по SOAP
  • Учебное пособие по Postman (тестирование API с использованием Postman)

Что вы думаете об этой публикации? Был ли этот пост полезен? Оставляйте комментарии.

TAG: qa

От QA genius

Adblock
detector