QA и тестирование
Что такое тестирование API?
Тестирование API — это проверка серверных методов напрямую, без интерфейса. Тестировщик отправляет запрос с заданными параметрами и проверяет ответ: данные, структуру, код статуса и время обработки.
Такие тесты работают быстрее и стабильнее, чем проверки через интерфейс: не нужно ждать загрузки страницы, и тест не ломается, когда меняется вёрстка. К тому же API можно проверять ещё до того, как готов фронтенд.
Проверяют не только успешные сценарии. Гораздо важнее, как система ведёт себя в нестандартных ситуациях: неправильные данные, отсутствующие поля, чужой токен, несуществующий идентификатор. Ошибки доступа, найденные на этом уровне, часто самые опасные.
Где применяется
API проверяют раньше интерфейса, потому что ошибку на этом уровне дешевле исправить и легче найти её причину. Тестировщик отправляет запросы с правильными и намеренно неправильными данными, проверяет коды ответов, структуру и содержание, авторизацию и реакцию на отсутствующие поля.
Обычно начинают с Postman: в нём удобно собирать коллекции запросов и передавать их команде. Потом проверки переносят в код — REST Assured для Java, requests с pytest для Python, встроенный клиент Playwright для JavaScript — и запускают в CI после каждого изменения.
Пример
Метод создания заказа правильно работает с корректными данными. Тестировщик передаёт отрицательное количество товара и вместо ошибки получает код 200 — заказ создаётся с отрицательной суммой. В интерфейсе так сделать невозможно, но API можно вызвать напрямую.
GET /api/orders/42 HTTP/1.1
Host: example.com
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": "missing_token",
"message": "Authorization header is required"
}
Частые вопросы
Почему API тестируют раньше, чем интерфейс?
Потому что так быстрее и дешевле. Тесты API выполняются в разы быстрее, не зависят от вёрстки и точнее показывают причину ошибки. Кроме того, API пользуется не только сайт: к тем же методам обращаются мобильное приложение и внешние сервисы.
Что проверять в ответе API?
Код статуса, структуру и типы полей, правильность значений, обработку ошибок и граничных данных, скорость ответа. Отдельно проверяют безопасность: запрос без токена, чужие идентификаторы, попытку получить данные другого пользователя.
Нужно ли уметь программировать для тестирования API?
Для работы в Postman достаточно понимать HTTP и JSON, код там не обязателен. Но чтобы автоматизировать проверки и запускать их в CI, нужен язык программирования. Именно этот шаг обычно отличает мануального тестировщика от автоматизатора.
Чем тестирование API отличается от интеграционного?
Тестирование API проверяет контракт конкретного метода: что на входе, что на выходе, какие коды ошибок. Интеграционное тестирование проверяет совместную работу компонентов, например сервиса и базы данных. Эти виды пересекаются, потому что многие проверки API затрагивают всю серверную часть.
Обучение тестированию в OWU
Освойте профессию QA-инженера на практических курсах с менторами и реальными проектами.
Выбрать курс