Source
QA Co-pilot | Шпаргалка QA: 5 способів зламати будь-який API (Negative Testing)Приві...
32 Views/Reach
2026-03-18 07:53
Message №231
💣 Шпаргалка QA: 5 способів зламати будь-який API (Negative Testing)Привіт, екіпаж! ☕️Написати запит у Postman і отримати зелений статус 200 OK — це лише 10% роботи. Розробники і так знають, що їхній код працює, якщо зробити все правильно. Наше завдання — перевірити, як бекенд поведеться, якщо в нього полетить відверте сміття.Ось мій чек-лист для "краш-тесту" будь-якого нового ендпоінту:🧬 Type Mismatch (Підміна типів даних)
Бекенд чекає, що поле "age" буде числом (Integer)? Відправте туди рядок "twenty", булеве значення true або масив [20].Що очікуємо: 400 Bad Request. Якщо бекенд впав із 500 Internal Server Error — вітаю, ви знайшли баг.
🕳 Missing Keys (Видалення обов'язкових полів)У JSON-тілі запиту є обов'язкові поля (наприклад, "email" при реєстрації). Спробуйте:
🔹Відправити "email": "" (пустий рядок).🔹Відправити "email": null.🔹Взагалі видалити рядок "email" із тіла запиту.Що очікуємо: Чітку помилку валідації від сервера, яка підкаже фронтенду, якого саме поля не вистачає.
🎭 Method Tampering (Підміна HTTP-методу)У документації (Swagger) написано, що ендпоінт /api/users/1 працює тільки через метод POST. Змініть метод у Postman на GET, PUT, PATCH або DELETE і відправте запит.Що очікуємо: Статус 405 Method Not Allowed. Якщо метод DELETE раптом спрацював і видалив юзера — це критична діра в безпеці.
🐘 Boundary & Overflow (Переповнення бази)Поле "first_name" приймає ім'я? Відправте туди текст на 10 000 символів (згенеруйте через Lorem Ipsum). Поле "price" приймає суму? Відправте -100 або 999999999999.Що очікуємо: База даних не повинна "вдавитися". Сервер має обрізати запит або повернути 400 Bad Request з лімітами.
🕵️♂️ Auth Bypass (Обхід авторизації)Ендпоінт вимагає Bearer Token?
🔹Видаліть токен із Headers взагалі.🔹Змініть один символ у валідному токені.🔹Відправте токен звичайного юзера туди, де потрібні права адміна.Що очікуємо: Статуси 401 Unauthorized або 403 Forbidden. Якщо бекенд віддав дані — б'ємо на сполох.
📌 Зберігайте цей чек-лист та пересилайте джунам, щоб вони вчилися ламати, а не тільки гладити API! 👇А який ваш улюблений спосіб зламати бекенд?🔥 — Підміна типів даних, завжди працює!👀 — Переповнення текстом (Overflow).🤯 — Я просто тисну "Send" без авторизації і дивлюсь, що буде