📱 Тестирование API
🔌 Мобилки разобрали. Теперь — API. Это уровень, где баги самые коварные: интерфейс может выглядеть идеально, а данные при этом летят не туда.
1️⃣ Что такое API простыми словами
API — это посредник между клиентом и сервером. Клиент не лезет в базу напрямую, а просит: «дай данные», «создай запись», «удали». API отвечает.
💡 Тестировщик API проверяет логику и данные, а не кнопки.
2️⃣ Из чего состоит запрос
📮 Метод — GET, POST, PUT, PATCH, DELETE 🔗 URL (endpoint) — куда обращаемся 📋 Заголовки (headers) — токены, тип данных, язык 📦 Тело (body) — данные, которые отправляем ❓ Параметры (query) — фильтры и уточнения
3️⃣ Что проверяем в ответе
✅ Код статуса — 200, 201, 400, 401, 404, 500 📄 Тело ответа — структура, значения, типы данных 🧾 Заголовки — content-type, кэш, куки ⏱ Время ответа — не тормозит ли 🔐 Авторизацию — пускает ли без токена
4️⃣ Виды проверок
🟢 Позитивные — корректный запрос → корректный ответ 🔴 Негативные — битые данные, пустые поля, неверный токен 🧩 Граничные — максимум, минимум, ноль 🔁 Повторные — идемпотентность (не создастся ли дубль) 🔗 Цепочки — создать → получить → изменить → удалить
5️⃣ Форматы данных
📘 JSON — самый частый 📙 XML — встречается в старых системах 🌐 Формы и query-строки
6️⃣ Инструменты
🧰 Postman — главный инструмент: запросы, коллекции, окружения, автотесты 📑 Swagger — документация API, из неё видно, что и как проверять 🧪 curl — быстрая проверка из консоли
7️⃣ Частые баги API
💥 500 вместо понятной ошибки 🔓 Данные отдаются без авторизации 📭 Пустой ответ вместо ошибки 🔁 Дубли при повторном запросе 🧮 Неверные типы: строка вместо числа 🌍 Локаль и валюта приходят не те
💡 Главная мысль: API — это контракт. Если ответ не совпал с ожиданием — это баг, даже если интерфейс молчит. #QA #тестирование #API