Тестирование API — интеграционное тестирование для выявления ошибок взаимодействия между модулями системы или между системами. Для его проведения тестировщики часто прибегают к специальным инструментам с функциями отправки входных данных в запросе и проверки точности выходных данных.
Для каждого запроса API необходимо проверять следующие пункты:
Тестирование API базируется на следующих принципах:
Чаще всего тестировщики пользуются этими инструментами:
Рассмотрим реальный пример тестирования RESTful API для системы управления постами со следующими методами:
GET /posts
— получить список всех постов;GET /posts/{id}
— получить данные о конкретном посте;POST /posts
— создать новый пост;PUT /posts/{id}
— обновить данные о посте;DELETE /posts/{id}
— удалить пост.Тестирование API можно провести в несколько этапов.
Документация API содержит информацию о структуре поста и его полях, процессе его создания и обновления, кодах состояния и структурой ответов.
GET /posts
для тестирования случая отправки GET-запроса на /posts
для получения списка постов в ответе.GET /posts/{id}
для тестирования получения поста по его идентификатору. Отправка GET-запроса на '/posts/{id}' для проверки корректности идентификатора и возвращаемой информации о посте.POST /posts
для отправки POST-запроса на /posts
с тестовыми данными для создания нового поста и получения правильного кода состояния (201 Created
), если пост создан успешно.PUT /posts/{id}
для отправки PUT-запроса на /posts/{id}
с обновленными данными. В случае успешного обновления поста API вернет правильный код состояния — 200 OK
.Выбор инструмента тестирования API в зависимости от задач проверки и его установка.
Передача запросов из тестовых случаев к API с помощью выбранного инструмента.
Сравнение ответов API с ожидаемыми результатами, указанными в тестовых случаях. Тестировщики оценивают корректность возвращаемого кода состояния, соответствие структуры ответа ожидаемой модели и правильность значения полей.
Оценка процесса обработки ошибок API при отправке некорректных запросов. Специалистам необходимо убедиться, что API возвращает соответствующие коды и описание ошибок.
Отчет о результатах проверки создается после каждого теста. В отчет входит информация об успешных и неудачных тестах, ошибках, кодах состояния, ответах и другие данные.
Проверка необходима после внесения изменений в код API и/или его окружение, при обнаружении ошибок и для подтверждения работоспособности API.
На курсе «Инженер по тестированию» вы научитесь работать с API и проводить его тестирование с использованием соответствующих инструментов.