АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ API С ИСПОЛЬЗОВАНИЕМ POSTMAN

Авторы:Тарабаева И.В., Нужная Н.А.

Источник: Материалы IX Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» (СИТОНИ-2025) Донецк : ДонНТУ, 2025., С.252-256.

Аннотация

В современной разработке программного обеспечения интерфейсы прикладного программирования (API) играют ключевую роль, обеспечивая взаимодействие между различными компонентами системы. Надёжность API напрямую влияет на стабильность приложения в целом. В данной статье рассматриваются теоретические основы тестирования API и описывается практический подход к автоматизации этого процесса с использованием популярного инструмента Postman. В качестве примера для исследования применяется открытое API «SWAPI» (The Star Wars API).

Введение

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

Цель данной статьи — сформировать целостное представление о процессе автоматизированного тестирования API: от базовых теоретических основ до их практической реализации с помощью инструмента Postman.

1 Теоретические основы тестирования API

Интерфейс API (Application Programming Interface) — это набор четко определенных методов и правил, позволяющий различным программным компонентам взаимодействовать друг с другом. В контексте веб-разработки чаще всего используются REST или SOAP API, которые используют протокол HTTP/HTTPS [1].

К основным целям тестирования API относятся:

  1. Верификация бизнес-логики. Проверка того, что серверная часть приложения корректно обрабатывает запросы и возвращает ожидаемые ответы, независимо от реализации клиентского интерфейса.
  2. Валидация ответов. Проверка структуры данных, статус-кодов, заголовков и тела ответа. [2]
  3. Тестирование безопасности. Проверка корректности реализации механизмов аутентификации и авторизации, а также обеспечение защиты API от распространенных уязвимостей.
  4. Оценка надежности и производительности. Анализ поведения API под нагрузкой и при обработке некорректных данных.
  5. Раннее обнаружение дефектов. Выявление ошибок на начальных этапах разработки, что позволяет снизить стоимость их исправления.

Любое взаимодействие с API состоит из запроса и ответа. HTTP-запрос включает: метод, определяющий тип операции, GET - получение данных, POST - создание новых данных, PUT / PATCH - полное или частичное обновление данных, DELETE - удаление данных., URL, также известный как Endpoint - адрес, по которому доступен ресурс, заголовки с мета-информацией, тело с данными, которые отправляются на сервер обычно в формате JSON или XML [3].

HTTP-ответ содержит трёхзначных: статус-код, указывающий на результат запроса.

Статус коды делят на несколько групп:

  1. 2xx - Успех , например, 200 OK.
  2. 4xx - Ошибка клиента, например, 404 Not Found, 400 Bad Request.
  3. 5xx - Ошибка сервера, например, 500 Internal Server Error.
  4. Заголовки ответа с мета-информацией от сервера.
  5. Тело ответа с запрашиваемыми данными или сообщением об ошибке.

2 Введение в Postman

Postman представляет собой кроссплатформенную платформу для разработки и тестирования API. Начав своё развитие как расширение для браузера, инструмент эволюционировал в мощное решение, предоставляющее широкий набор функций для решения различных задач [4].

Postman функционирует как клиент для отправки HTTP-запросов, предоставляя удобные средства для их конфигурации. Для структурирования процесса тестирования запросы объединяются в коллекции, внутри которых они могут быть сгруппированы по папкам. Запуск коллекции позволяет выполнить все входящие в неё запросы или их часть в заданной последовательности.

Postman позволяет автоматизировать тестирование, писать и выполнять тестовые скрипты на языке JavaScript на разных этапах запроса, до отправки и после получения ответа. Использование переменных и окружений позволяет абстрагироваться от конкретных данных и легко переключаться между различными средами, такими как разработка, тестирование, продакшн.

Для непрерывной интеграции и доставки есть возможность запуска коллекций из командной строки с помощью Newman, интерфейса командной строки Postman.· Также предусмотрен мониторинг API, который позволяет настраивать регулярный запуск коллекций для проверки доступности и корректности работы API.

Postman способствует снижению порога входа в тестирование API, предлагая полный набор инструментов для создания сложных автоматизированных тестов.

3 Методология автоматизированного тестирования API в Postman на примере SWAPI

Процесс организации тестирования требует системного подхода к созданию тестовой инфраструктуры. В ходе исследования SWAPI (The Star Wars API) была проведена формализация тестовых артефактов. С этой целью создана коллекция «SWAPI Tests», структура которой основана на онтологии вселенной «Звёздных войн»: тестовые сценарии сгруппированы по основным доменным сущностям, таким как planets (планеты), starships (космические корабли), people (персонажи) и films (фильмы).

Для каждого запроса в коллекции, а также для всей коллекции в целом, на вкладке Scripts могут быть добавлены тестовые скрипты. Для обеспечения конфигурационной гибкости на уровне коллекции определена переменная base_url со значением https://swapi.dev/api. Данный базовый URL используется во всех запросах.

Иерархическая организация тестовых случаев базируется на классификации по типам проверок: функциональная валидация URL /planets/, проверка граничных условий для /starships/, негативные сценарии для /people/ и верификация нефункциональных требований к /films/.

Внедрение переменных на уровне коллекций позволяет реализовать принцип конфигурационной независимости тестовых сценариев. Переменные коллекций инкапсулируют базовый URL SWAPI.

Данный подход обеспечивает соблюдение принципа DRY, который означает «не повторяйся», при тестировании множества взаимосвязанных ресурсов SWAPI.

В первую очередь, необходимо тестирование позитивных сценариев использования приложения. Создадим в коллекцию несколько запросов, покрывающих основные позитивные сценарии работы API. Реализуем базовый запрос с получением информации о планете Татуин с помощью метода GET (см. рис. 1). После нажатия кнопки Send выполняются все тесты прописанные на языке JavaScript. В нижней части интерфейса на вкладке "Test Results" отображаются результаты проведения теста.

Получение информации о планете

Рисунок 1 – Получение информации о планете

Реализуем базовый запрос по поиску персонажа с помощью метода GET с параметром search со значением Skywalker (см. рис. 2).

После тестирования основных позитивных сценариев необходимо перейти к рассмотрению негативных сценариев. Рассмотрим проверку обработки ошибок несуществующих ресурсов, например, планеты с несуществующим ID (см. рис. 3).

Получение информации о персонаже

Рисунок 2 – Получение информации о персонаже

Получение информации о планете с некорректным ID

Рисунок 3 – Получение информации о планете с некорректным ID

Проведенное исследование SWAPI демонстрирует необходимость реализации многоуровневой стратегии выполнения тестов. Данная стратегия включает в себя:

  1. последовательную композицию сценариев на основе зависимостей между данными.
  2. параллельное выполнение независимых тестовых групп (например, для сущностей фильмы, виды, транспортные средства).
  3. приоритизацию выполнения на основе критичности функциональности, относящейся к основным и вспомогательным данным.

Метриками оценки тестового покрытия SWAPI выбраны коэффициент успешных верификаций сущностей Star Wars, время выполнения тестового сценария для всех URL SWAPI, покрытие сценариев использования API вселенной Star Wars

Интеграция автоматизированного тестирования SWAPI в жизненный цикл производства продукта требует реализации формальной модели, основанной на принципе непрерывной верификации вселенной Star Wars, раннем обнаружении зависимостей в данных о персонажах и планетах, непрерывную валидацию контрактов URL SWAPI. Тестовые сценарии Postman для SWAPI, исполняемые через Newman, реализуют концепцию формализованных критериев качества.

Выводы

Проведённое исследование позволяет заключить, что автоматизированное тестирование API с использованием инструментария Postman представляет собой методологически обоснованный и технологически эффективный подход к обеспечению качества программного обеспечения в условиях современных распределенных архитектур. Эмпирически подтверждено, что данный метод позволяет существенно повысить надёжность серверных компонентов системы за счет следующих ключевых факторов:

  1. Систематизация процесса верификации. Postman обеспечивает формализацию тестовых сценариев через структурированное представление HTTP-запросов и ответов, что позволяет унифицировать процедуры валидации и создать воспроизводимую базу тестов.
  2. Реализация принципа раннего тестирования. Как демонстрирует практическая часть исследования, автоматизацию проверок API можно осуществлять на ранних этапах жизненного цикла разработки, до реализации клиентских компонентов. Это подтверждает теоретическую гипотезу о экономической эффективности сдвига тестирования на ранние этапы разработки.
  3. Многоуровневая валидация. Инструментарий позволяет осуществлять комплексную проверку API, включающую: верификацию контрактов, таких как формат JSON, структура данных, функциональную корректность, например, бизнес-логика, нефункциональные характеристики, такие как, время ответа, обработку граничных условий и ошибочных сценариев.
  4. Научно-практическая значимость. Исследование демонстрирует переход от единичных проверок к созданию целостной тестовой экосистемы, где скрипты на языке JavaScript выполняют роль формальных спецификаций, а механизмы переменных и окружений обеспечивают параметризацию тестовых условий.

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

Литература

  1. Куликов С. В. Тестирование программного обеспечения базовый курс / С. В. Куликов. - 2-е изд. – М : ERAM System, RD rep, 2020. – 300 с.
  2. A Practitioner’s Guide to Software Test Design/ Lee Copeland [Электронный ресурс] / Lee Copeland // Computer. [Электронный ресурс] – Режим доступа: https://dahlan.unimal.ac.id/files/ebooks/2004%20A%20Practitioner's%20Guide%20to%20Software%20Test%20Design_Good.pdf. - Загл. с экрана.
  3. QA Bible: Test strategy [Электронный ресурс] – Режим доступа: https://vladislaveremeev.gitbook.io/qa_bible/testovaya-dokumentaciya-i-artefakty-test-deliverablestest-artifacts/strategiya-testirovaniya-test-strategy.
  4. Postman Docs [Электронный ресурс – Режим доступа: https://learning.postman.com/docs/publishing-your-api/api-documentation-overview/ - Загл. с экрана..