TGViewer
Геннадий Чурсов | QA++ Геннадий Чурсов | QA++ @chursovqa · 4.14K subscribers
Post #217 7.77K
💡 Недавно наткнулся на на пост в LinkedIn про стратегию тестирования REST API от Bas Dijkstra.
Согласен с основными подходами и хочу выделить ключевые чек-листы, которые стоит учитывать при тестировании REST API на основе поста Баса и моего опыта.

🔥 Smoke-тесты (базовая проверка работоспособности API)
✅ Отправка корректного запроса с валидными данными → API возвращает ожидаемый HTTP статус (201, 200)
✅ Данные успешно сохраняются и доступны через GET-запрос
✅ Запрос без обязательного заголовка (например, Content-Type: application/json) → API корректно обрабатывает или возвращает ошибку

🚀 Позитивные тест-кейсы
🔹 Отправка запроса с минимально необходимым набором данных
🔹 Отправка запроса с максимальным набором данных (включая необязательные поля)
🔹 Ввод данных в разных поддерживаемых кодировках
🔹 Обработка граничных значений (минимальные/максимальные числа, даты)
🔹 Проверка идемпотентности, если API должно поддерживать повторные запросы без дублирования данных

💻 Обработка данных
🔹 Проверить, что отправленные данные корректно сохраняются
🔹 Убедиться, что данные можно корректно получить обратно
🔹 Убедиться, что некорректные данные фильтруются или отклоняются
🔹 Проверить обработку больших объемов данных

⚠️ Негативные тест-кейсы
🔻 Вариации данных
❌ Проверить отсутствие обязательных полей по одиночке
❌ Полностью исключить обязательные поля
❌ Передать некорректные значения (например, текст вместо числа)
❌ Использовать слишком длинные значения
❌ Добавить нестандартные символы (эмодзи, диакритика и т. д.)

🔻 Инъекции
❌ Попробовать внедрить JavaScript
❌ Попробовать SQL-инъекцию
❌ Попробовать выполнить серверные команды

🔻 Аутентификация
❌ Вызов без токена
❌ Вызов с недействительным токеном
❌ Вызов с токеном, у которого нет нужных прав
❌ Вызов с истекшим токеном

🔻 Ошибки и сообщения
❌ Убедиться, что возвращаемые HTTP-статусы логичны
❌ Проверить, что ошибки в ответах понятны
❌ Убедиться, что сообщения об ошибках не раскрывают лишнюю информацию (stack trace, подсказки, детали реализации)

📜 Контрактные тесты
🔍 Проверить соответствие API контракту (OpenAPI/Swagger)
🔍 Проверить, что API не ломает обратную совместимость при обновлениях
🔍 Убедиться, что типы данных в ответах соответствуют спецификации

🌪 Chaos-тестирование
💥 Остановить случайные сервисы, от которых зависит API, и проверить корректность обработки ошибок
💥 Использовать инструменты типа Chaos Monkey для моделирования отказов инфраструктуры
💥 Проверить, как API реагирует на отказ базы данных (например, недоступность PostgreSQL/MySQL)

⚡️ Нагрузочное тестирование
📌 Load Testing – проверка производительности API под прогнозируемой нагрузкой
📌 Stress Testing – работа API в экстремальных условиях и предельных нагрузках
📌 Performance Testing – замер скорости отклика и производительности при различных условиях

Также по теме нашел еще несколько чек-листов от других авторов:
1️⃣ Чек-лист API тестов от Parviz Khavari
2️⃣ Как тестировать методы REST API от Ольга Назина
3️⃣ Google таблица API тест-кейсы и чек-лист на примере petstore от Надежды Дудник

Такой список поможет сделать тестирование API более структурированным и эффективным. А какие чек-листы используете вы? 🚀
  • 👍 36
  • 🔥 21
  • ❤ 9
More from @chursovqa
  1. Sep 29, 2026Heisenbug 2026 Autumn: тестирование, практика и живое общение 16–17 октября в Санкт-Петерб…
  2. Sep 23, 2026Собеседование для QA на английском Проведу бесплатную тренировку интервью для тестировщико…
  3. Sep 17, 2026Баг нашли за пару минут. А потом ещё минут десять вспоминаем шаги, открываем Network, соби…
  4. Sep 8, 2026У тестировщиков редко бывает одинаковая работа. 😺 Один меняет IT на стройку и заново соби…
  5. Sep 7, 2026Наконец-то на работе поставили задачу с которой я легко справлюсь! 😁
  6. Sep 1, 2026Как прокачать LinkedIn так, чтобы не только самому искать работу, но и получать хорошие вх…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →