Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - QA Co-pilot
Added 06 Dec 2025

QA Co-pilot

@qa_copilot
Number of subscribers: 94
Photos: 271
Links: 45
Description:
QA Co-pilot 🚀 Ваш другий пілот у світі тестування. 👨‍💻 Для кого: Для тестувальників-практиків, які хочуть рости. 🎯 Про що: Делегуємо рутину нейромережам, прискорюємо роботу та звільняємо час на головне. ❌ Чого тут немає: Нудної теорії та води.
Source

QA Co-pilot | Відповідь на вчорашній тест: Чому статус 404 від бекенда може "вбити" ...

Telegram community logo - QA Co-pilot QA Co-pilot @qa_copilot
30 Views/Reach 2026-03-29 09:05 Message №245
🟢 Відповідь на вчорашній тест: Чому статус 404 від бекенда може "вбити" ваш фронтендПривіт, екіпаж! ☕️Вчора я закинув вам задачку з реальної співбесіди: Який статус має повернути запит GET /api/users, якщо в базі ще немає жодного користувача?Багато хто злякався відповідати публічно (і я вас розумію, питання із зірочкою!), але респект тим сміливцям, хто не побоявся піти в коментарі! 🤝Давайте розбирати, чому неправильна відповідь гарантовано кладе продакшен. Варіант 1: 404 Not Found (Найпопулярніша помилка) Логіка кандидата: "Ну юзерів же немає, значить Not Found".Чому це фатально: Статус 404 означає, що не знайдено сам ресурс (ендпоінт), а не дані в ньому. Уявіть папку на комп'ютері. Якщо папка "Фото" порожня — вона все одно існує! 404 доречний тільки тоді, коли ми шукаємо конкретну людину: GET /api/users/99, а 99-го юзера немає. Якщо ж ми просимо весь список і отримуємо 404, фронтенд подумає, що сервер зламався або API змінилося, і покаже юзеру екран із червоною помилкою. Варіант 2: 204 No Content Логіка кандидата: "Запит пройшов, але віддавати нічого".Чому це фатально для фронтенду: Сучасний фронтенд (Angular/React) малює списки через цикли (наприклад, метод .map()). Він очікує отримати масив. Статус 204 повертає абсолютно порожнє тіло відповіді. Коли фронтенд спробує зробити null.map(), додаток просто крашнеться з помилкою і юзер побачить білий екран. Правильна відповідь: 200 OK (і порожній масив [] у тілі)Логіка здорової архітектури: Запит був коректним? Так. Ендпоінт /users існує? Так. Ми успішно звернулися до бази даних? Так.Те, що зараз там немає людей — це нормальний бізнес-стан системи.Сервер повертає 200 OK та порожній масив [].Фронтенд отримує цей масив, розуміє, що його довжина дорівнює 0, і спокійно малює на екрані красиву заглушку: "Тут поки що нікого немає. Будь першим!". Ніяких крашів. Ніякої паніки. Висновок для QA:Коли тестуєте API, завжди перевіряйте "порожні" стани. Якщо ваш бекендер повертає 404 на порожній список — заводьте баг, поки фронтендери не прийшли до нього з вилами.А ви вгадали вчора правильну відповідь подумки? Зізнавайтесь реакціями! 👇🔥 — Так, знав(ла) що це 200 і порожній масив!👀 — Думав(ла) на 404, добре що не написав(ла) в коменти🤯 — Трясця, піду перевіряти, що віддає наш бекенд...